I switched recently from Ubunto to Arch Linux. All works fine except crosscompiling for 32bit. E.g. Lazarus tells me
/usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
/usr/lib32/libpthread.a /usr/lib32/libpthread_nonshared.a /usr/lib32/libpthread.so
When I run "fpc -Pi386 -vt bogus" it seems to be okay
Configfile search: /home/<name>/.fpc.cfg
Reading options from file /home/<name>/.fpc.cfg
Free Pascal Compiler version 2.7.1 [2011/10/02] for i386
Copyright (c) 1993-2011 by Florian Klaempfl and others
Searching file /lib/ld-linux.so.2... found
Compiler: /usr/local/lib/fpc/2.7.1/ppc386
Target OS: Linux for i386
Using executable path: /usr/local/lib/fpc/2.7.1/
...
Using unit path: /usr/local/lib/fpc/2.7.1/
Using library path: /usr/lib32/
Using library path: /lib32/
My ~/.fpc.cfg contains
#ifdef cpux86_64
-Fl/lib
-Fl/usr/lib
#endif
#ifdef cpui386
-Xd
-Fl/lib32
-Fl/usr/lib32
#endif
#ifdef cpuarm
-Xd
-Fl/usr/local/arm/libc/usr/lib
-CaEABI
-Parm
-CfSOFT
-CpARMV5
#endif
Project settings are:
-MObjFPC -Scghi -CX -Cirot -O2 -Pi386 -Xs -XX -vewnhib -l -FuSynapse -Fu/usr/local/bin/Lazarus/lcl/units/i386-linux/qt -Fu/usr/local/bin/Lazarus/lcl/units/i386-linux -Fu/usr/local/bin/Lazarus/components/lazutils/lib/i386-linux -Fu/usr/local/bin/Lazarus/packager/units/i386-linux -Fu. -vm5024,5057 -dLCL -dLCLqt
(gtk2 does not work for i386 too)
Multiarch libs are installed, even compiling for arm works. Which setting did I miss?
Lazarus 0.9.31 r33990M FPC 2.7.1 x86_64-linux-qt
Linux version 3.1.5-1-ARCH (tobias@T-POWA-LX) (gcc version 4.6.2 20111125 (prerelease) (GCC) ) #1 SMP PREEMPT Sat Dec 10 14:43:09 CET 2011