OK, found it. Getting a bit deperate I started checking the silly things and found, to my surprise, one.
like I said, I do have a /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 but I don't have a /usr/lib/i386-linux-gnu/libpangocairo-1.0.so - I have no idea why not, pangocairo was installed using the normal Ubuntu package system and I'd expect it to be complete but no. ld looks for lib[name].so
root@Desktop:/usr/lib/i386-linux-gnu# ls -l libpangoc*
lrwxrwxrwx 1 root root 29 Mar 1 2017 libpangocairo-1.0.so.0 -> libpangocairo-1.0.so.0.4000.4
-rw-r--r-- 1 root root 50448 Mar 1 2017 libpangocairo-1.0.so.0.4000.4
root@Desktop:/usr/lib/i386-linux-gnu# ln -s libpangocairo-1.0.so.0.4000.4 libpangocairo-1.0.so
All good !
So, in summary, I suggest people follow ykot suggestion on
http://forum.lazarus.freepascal.org/index.php/topic,32388.0.html (carefully noting that you need to insert your version of FPC in ln command).
Then, if your distro puts its 32 files in /usr/lib32 make your fpc.cfg look like this -
.....
# path to the gcclib
#ifdef cpui386
# -Fl/usr/lib/gcc/x86_64-linux-gnu/6
-Fl/usr/lib32
-Fl/usr/lib/gcc/x86_64-linux-gnu/6/32
#endif
.....
And, if it does not work, check to see that the symlinks associated with pangocairo are correct. You should have one library file with a full version number and two symlinks libpangocairo-1.0.so.0 and libpangocairo-1.0.so pointing to it.
I am unsure what action to take here. I think I found a couple of bugs -
1. FPC/Lazarus does not understand that debian distros like to put 32bit code in /usr/lib32
2. FPC/Lazarus looks for gcc code in /usr/lib/gcc/x86_64-linux-gnu/6/32 and not /usr/lib/gcc/x86_64-linux-gnu/6/32
3. pangocairo should create that that symlink as part of install
I'd like to at least, annotate the lazarus wiki cross compile page to that effect.
Thoughts ?
Thanks for your help with guys.
David