Source: kyotocabinet
Version: 1.2.76-2
Severity: serious
Justification: fails to build from source

If gcc-multilib is installed on an i386 system, kyotocabinet FTBFS:
| if uname -a | egrep -i 'SunOS' > /dev/null ; \
|         then \
|           g++ -m64 -g -O2 -fstack-protector --param=ssp-buffer-size=4 
-Wformat -Werror=format-security -Wall -fPIC -fsigned-char -g0 -O2 
-Wno-unused-but-set-variable -Wno-unused-but-set-parameter -shared 
-Wl,-G,-h,libkyotocabinet.so.16 -o libkyotocabinet.so.16.13.0 \
|             kcutil.o kcthread.o kcfile.o kccompress.o kccompare.o kcmap.o 
kcregex.o kcdb.o kcplantdb.o kcprotodb.o kcstashdb.o kccachedb.o kchashdb.o 
kcdirdb.o kctextdb.o kcpolydb.o kcdbext.o kclangc.o -Wl,-z,relro -L. 
-L/usr/lib/i386-linux-gnu -L/usr/local/lib 
-Wl,-rpath-link,.:/usr/local/lib:.:/usr/local/lib: -Wl,--as-needed -llzma 
-llzo2 -lz -lstdc++ -lrt -lpthread -lm -lc  ; \
|         else \
|           g++ -m64 -g -O2 -fstack-protector --param=ssp-buffer-size=4 
-Wformat -Werror=format-security -Wall -fPIC -fsigned-char -g0 -O2 
-Wno-unused-but-set-variable -Wno-unused-but-set-parameter -shared 
-Wl,-soname,libkyotocabinet.so.16 -o libkyotocabinet.so.16.13.0 \
|             kcutil.o kcthread.o kcfile.o kccompress.o kccompare.o kcmap.o 
kcregex.o kcdb.o kcplantdb.o kcprotodb.o kcstashdb.o kccachedb.o kchashdb.o 
kcdirdb.o kctextdb.o kcpolydb.o kcdbext.o kclangc.o -Wl,-z,relro -L. 
-L/usr/lib/i386-linux-gnu -L/usr/local/lib 
-Wl,-rpath-link,.:/usr/local/lib:.:/usr/local/lib: -Wl,--as-needed -llzma 
-llzo2 -lz -lstdc++ -lrt -lpthread -lm -lc  ; \
|         fi
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/liblzma.so when 
searching for -llzma
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/liblzma.a when 
searching for -llzma
| /usr/bin/ld: cannot find -llzma
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/liblzo2.so when 
searching for -llzo2
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/liblzo2.a when 
searching for -llzo2
| /usr/bin/ld: cannot find -llzo2
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libz.so when 
searching for -lz
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libz.a when 
searching for -lz
| /usr/bin/ld: cannot find -lz
| /usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.7/libstdc++.so when searching for -lstdc++
| /usr/bin/ld: skipping incompatible 
/usr/lib/gcc/i486-linux-gnu/4.7/libstdc++.a when searching for -lstdc++
| /usr/bin/ld: cannot find -lstdc++
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/librt.so when 
searching for -lrt
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/librt.a when 
searching for -lrt
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libpthread.so when 
searching for -lpthread
| /usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libpthread.a when 
searching for -lpthread
| collect2: error: ld returned 1 exit status
| make[1]: *** [libkyotocabinet.so.16.13.0] Error 1

It's apparently because the configure script assumes that if it's possible built a program using -m64, then it's the right thing to build the library using this option:

| printf 'checking for 64-bit availability... '
| if printf 'main() {}' | $CC -xc -m64 -o config.tmp - >config.tmp 2>&1
| then
|   MYCFLAGS="-m64 $MYCFLAGS"
|   MYCXXFLAGS="-m64 $MYCXXFLAGS"
|   printf 'yes\n'
| else
|   printf 'no\n'
| fi

This is of course flawed assumption.

--
Jakub Wilk



--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to