Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 423023 - dev-libs/beecrypt-4.2.1 ABI=x32 - /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/ could not read symbols: File in wrong format
Summary: dev-libs/beecrypt-4.2.1 ABI=x32 - /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/libg...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: No maintainer - Look at if you want to take care of it
Keywords: NeedPatch
Depends on:
Blocks: x32
  Show dependency tree
Reported: 2012-06-22 23:29 UTC by Robert Trace
Modified: 2012-09-06 05:41 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Robert Trace 2012-06-22 23:29:09 UTC
tail end of build.log:

libtool: link: x86_64-pc-linux-gnu-g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/../../../../libx32/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/crtbeginS.o  .libs/aes.o .libs/base64.o .libs/beecrypt.o .libs/blockmode.o .libs/blockpad.o .libs/blowfish.o .libs/dhies.o .libs/dldp.o .libs/dlkp.o .libs/dlpk.o .libs/dlsvdp-dh.o .libs/dsa.o .libs/elgamal.o .libs/endianness.o .libs/entropy.o .libs/fips186.o .libs/hmac.o .libs/hmacmd5.o .libs/hmacsha1.o .libs/hmacsha224.o .libs/hmacsha256.o .libs/md4.o .libs/md5.o .libs/hmacsha384.o .libs/hmacsha512.o .libs/memchunk.o .libs/mp.o .libs/mpbarrett.o .libs/mpnumber.o .libs/mpprime.o .libs/mtprng.o .libs/pkcs1.o .libs/pkcs12.o .libs/ripemd128.o .libs/ripemd160.o .libs/ripemd256.o .libs/ripemd320.o .libs/rsa.o .libs/rsakp.o .libs/rsapk.o .libs/sha1.o .libs/sha224.o .libs/sha256.o .libs/sha384.o .libs/sha512.o .libs/sha2k32.o .libs/sha2k64.o .libs/timestamp.o .libs/cppglue.o .libs/blowfishopt.o .libs/mpopt.o .libs/sha1opt.o   /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/ -lrt -lpthread -ldl -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/../../../../libx32 -L/lib/../libx32 -L/usr/lib/../libx32 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/../../../../libx32/crtn.o  -m64 -O2 -Wl,-O1   -Wl,-soname -Wl, -o .libs/
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.0/ could not read symbols: File in wrong format

All built object code is ELF-64:

# pwd
# find -name "*.o" -exec file {} \; | grep "ELF 64" | wc -l
# find -name "*.o" -exec file {} \; | grep "ELF 32" | wc -l

It appears this is because ./configure forces -m64 for amd64/x86_64.  In acinclude.m4 @ line 500:

  case $bc_target_arch in
  x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona)
    CC="$CC -m64"

.. and again @ line 666:

  case $bc_target_arch in
  x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona | core2)
    CXX="$CXX -m64"

Removing these two forced flags will allow the library to build properly.  I don't know if that's the right solution, but it works.

Reproducible: Always
Comment 1 SpanKY gentoo-dev 2012-09-06 05:41:23 UTC
should be all set now in the tree; thanks for the report!

Commit message: Drop 32bit/64bit ABI overrides since we already handle these things ourselves