Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 684696

Summary: net-fs/nfs4-acl-tools-0.3.5: /usr/lib/ error adding symbols: file in wrong format
Product: Gentoo Linux Reporter: OKUMURA N. Shin-ya <oku.ns>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: UNCONFIRMED ---    
Severity: normal CC: daniel
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 506276    
Attachments: build.log
emerge --info
amd64 only workaround

Description OKUMURA N. Shin-ya 2019-04-29 05:47:23 UTC
To emerge net-fs/nfs4-acl-tools-0.3.5 fails on link phase as follows;
libtool: link: x86_64-pc-linux-gnu-gcc -o nfs4_getfacl -Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed nfs4_getfacl.o  ../libnfs4acl/.libs/libnfs4acl.a /usr/lib64/ /usr/lib/
/usr/lib/gcc/x86_64-pc-linux-gnu/7.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/ error adding symbols: file in wrong format

Of course, linking with both /usr/lib{,64}/ is incorrect but I have no idea where to fix it... (profile? configure?)

Reproducible: Always

Steps to Reproduce:
1. emerge =net-fs/nfs4-acl-tools-0.3.5

Actual Results:  
Shown as before.

Expected Results:  
To be linked with /usr/lib64/ only.
Comment 1 OKUMURA N. Shin-ya 2019-04-29 05:47:47 UTC
Created attachment 574596 [details]
Comment 2 OKUMURA N. Shin-ya 2019-04-29 05:48:28 UTC
Created attachment 574598 [details]
emerge --info
Comment 3 OKUMURA N. Shin-ya 2019-04-29 05:48:53 UTC
Created attachment 574600 [details]
Comment 4 OKUMURA N. Shin-ya 2019-06-06 15:21:15 UTC
Created attachment 578986 [details, diff]
amd64 only workaround

This is a quick, dirty and bad example for workaround.
If /usr/lib64/ exists, then refer "/usr/lib64/".
Comment 5 Mike Gilbert gentoo-dev 2021-03-09 22:42:57 UTC
Those autoconf macros are just plain broken, and should be thrown away.
Comment 6 konsolebox 2021-03-10 08:51:48 UTC
I had a similar issue like this but on a different library.

/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: //usr/lib/ error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:624:] Error 1
make[2]: *** [Makefile:545: all] Error 2
make[1]: *** [Makefile:602: all-recursive] Error 1
make: *** [Makefile:486: all] Error 2

I found out that there are old orphaned files that should no longer exist and were causing compilation error:


Removing them fixed it.

This is one way to find orphaned files:

find /usr/lib64 -name '*.la' -exec qfile -o '{}' '+'