[gobolinux-users] configure bug
Andy Feldman
nereusren at gmail.com
Fri Dec 22 23:52:08 UTC 2006
I came across what seems to be a bug in an autoconf configure script
when compiling k3b 1.0rc2. When it tests to see if kde libs reside in
a special suffix, it uses ldd to test for the location of libc.so, and
gets tripped up by something... it looks to me like it's because
libc.so doesn't reside in a path that contains 'lib', but my sed-fu is
weak so I'm not sure :-).
The workaround is to pass --enable-libsuffix=none to configure. The
check used to be performed in a different way that worked fine (e.g.
in k3b 0.12.17, the current stable version).
I'm not sure how many apps this will affect going forward, since this
same configure option (--enable-libsuffix) seems to be used in many
projects. If this is a change that was made to autoconf, we may want
to report it as a bug so we don't have to add --enable-libsuffix=none
to the recipes of a bunch of programs as soon as they adopt the new
version.
Here's the problematic code from ./configure so someone else can take
a look and judge for themselves:
# Check whether --enable-libsuffix was given.
if test "${enable_libsuffix+set}" = set; then
enableval=$enable_libsuffix; kdelibsuff=$enableval
else
kdelibsuff="auto"
fi
if test "$kdelibsuff" = "auto"; then
cat > conftest.c << EOF
#include <stdio.h>
int main() {
return 0;
}
EOF
kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out
|sed -ne '/libc.so/{
s,.*/lib\([^\/]*\)/.*,\1,
p
}'`
rm -rf conftest.*
fi
Since ldd returns something with an unexpected format, kdelibsuff gets
set to a strange value and these kind of errors come out in
./configure:
checking for X... ./configure: eval: line 31485: syntax error near
unexpected token `('
./configure: eval: line 31485: `have_x=yes kde_x_includes=.
kde_x_libraries=/usr/lib libc.so.6 =>
/System/Links/Libraries/libc.so.6 (0xb7ddc000)'
checking for IceConnectionNumber in -lICE... no
checking for libXext... no
configure: error: We need a working libXext to proceed. Since configure
can't find it itself, we stop here assuming that make wouldn't find
them either.
PrepareProgram: configure failed.
Compile: Preparation step failed.
If I force it to skip the check for libXext (by commenting out lines
in configure), it fails after a few more lines claiming it can't find
Zlib. If I add --enable-libsuffix=none, configure/make works fine
without these errors.
-Andy
More information about the gobolinux-users
mailing list