Hello,
Trying to compile clamav 0.102.0 in a LFS system fails with:
/usr/bin/ld: /usr/lib64/../lib/libstdc++.so: error adding symbols:
file in wrong format
Same system compiles 0.101.4 without problems.
I have made some troubleshooting...
"-L/usr/lib" is added to LDFLAGS. However this system is multilib
with 64bits libs in /usr/lib64, not /usr/lib. This causes the error.
The LDFLAGS comes from libz.m4, different file from 0.101.4.
If the system don't use Pkgconfig (like this system), check is made
by header, but then there is a weird check:
if test "x${ZLIB_HOME}" != "x"; then
...
LDFLAGS="$LDFLAGS -L$ZLIB_HOME/lib"
In 0.101.4 test is different:
if test "$ZLIB_HOME" != "/usr"; then
CPPFLAGS="$CPPFLAGS -I$ZLIB_HOME/include"
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -L$ZLIB_HOME/lib"
The point is, in this case ZLIB_HOME is /usr, so don't need to add
new lib dir, system lib dirs will do.
However the logic in 0.102.0 seems flawed.
Regards,
Carlos Velasco