Scott Silva wrote: <snip>
Can anyone explain me "/usr/bin/ld: skipping incompatible" in plain english ;) How to solve it?
It is very difficult to build 64 bit software when 32 bit libs are present because the 32 bit lib path gets searched first.
this is not true by default on centos5. I just tested with both i386 and x86_64 expat and expat-devel packages installed, and compiled a program that includes expat: $ ldd ipoolValidation libm.so.6 => /lib64/libm.so.6 (0x0000003d4d600000) libexpat.so.0 => /lib64/libexpat.so.0 (0x0000003d4fa00000) libc.so.6 => /lib64/libc.so.6 (0x0000003d4d200000) /lib64/ld-linux-x86-64.so.2 (0x0000003d4c200000)
The problem is with the snmppd Makefile:
Making all in snmppd make[2]: Entering directory `/tmp/snmppd-0.5.2/snmppd' gcc -Wall -Wno-uninitialized -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Werror -L/usr/lib -o snmppd conf.o control.o log.o queue.o snmp.o snmppd.o threads.o utils.o -lnetsnmp -lcrypto -lpthread
that -L/usr/lib is causing the problem and breaking the build on x86_64. Is there a really good reason it's there? This should be picked up with the upstream devs.