Many thanks for the help Dbannon.
After about 3 days of effort I got it fixed.
Having seen that Fedora don't even support cross compiling and make it impossible for i386, I gave up on my usual prefence of letting the distro handle this package and decided to go from project source for both fpc and lazarus.
Using the distro's 3.2.2 I built 3.3.1 with cross for win32 on i386 and win64 on x64.
make clean all OS_TARGET=win64 CPU_TARGET=x86_64
make clean all OS_TARGET=win32 CPU_TARGET=i386
As you point out the fpc.cfg needed editing because Fedora (logically) puts the x64 builds in /usr/lib64 . It seems with upstream all goes in /usr/lib .
Having built lazarus, and running startlazarus, I was able to select my 3.3.1 tree in the IDE setup dialogue.
This time it found what it wanted and it all fired up.
The was a grumble about multiple copies of some units files. It seems lazarus provides these as well as the compiler. I renamed the lazarus units and notunits and it seems fine with that. I don't know whether that was the best choice.
Now I would like to build for win32 on x64 which is what the actual target platform is. A lot of old hardware is x64 but the cheapo entry level windows "Home" gave you a 32 bit OS on 64bit h/w.
make clean all OS_TARGET=win32 CPU_TARGET=x86_64
Makefile:235: *** The Makefile doesn't support target x86_64-win32, please run fpcmake first. Stop.
fpcmake -T x86_64-win32
Processing Makefile.fpc
Error: No targets set
Can you advise on how that works?
thanks.