http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46812
Summary: Linux libgo compilation fails when a "libnet" is already installed Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: andi-...@firstfloor.org I tried to bootstrap a trunk gcc with go enabled on a OpenSUSE system. This failed with: set -e; rm -f crypto/rsa.gox.o; /home/andi/gcc/git/obj/./gcc/xgcc -B/home/andi/gcc/git/obj/./gcc/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/bin/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/lib/ -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/include -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/sys-include -r -nostdlib -o crypto/rsa.gox.o -Wl,--whole-archive crypto/librsa.a; objcopy -j .go_export crypto/rsa.gox.o crypto/rsa.gox.tmp; mv -f crypto/rsa.gox.tmp crypto/rsa.gox; rm -f crypto/rsa.gox.o rm -f `echo crypto/libx509.a | sed -e 's|/lib|/|' -e 's/\.a/.gox/'`; test -d crypto || /bin/mkdir -p crypto; rm -f crypto/libx509.a; files=`echo ../../../gcc/libgo/go/crypto/x509/x509.go asn1.gox big.gox container/vector.gox crypto/rsa.gox crypto/sha1.gox hash.gox os.gox strings.gox time.gox | sed -e 's/[^ ]*\.gox//g'`; if /bin/sh ./libtool --tag GO --mode=compile /home/src/gcc/git/obj/./gcc/gccgo -B/home/src/gcc/git/obj/./gcc/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/bin/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/lib/ -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/include -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/sys-include -minline-all-stringops -O2 -g -c -fgo-prefix="libgo_crypto" -o crypto/libx509.a.o $files; then ar rc crypto/libx509.a crypto/libx509.a.o; else exit 1; fi libtool: compile: /home/src/gcc/git/obj/./gcc/gccgo -B/home/src/gcc/git/obj/./gcc/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/bin/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/lib/ -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/include -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/sys-include -minline-all-stringops -O2 -g -c -fgo-prefix=libgo_crypto ../../../gcc/libgo/go/crypto/x509/x509.go -fPIC -o crypto/.libs/libx509.a.o libtool: compile: /home/src/gcc/git/obj/./gcc/gccgo -B/home/src/gcc/git/obj/./gcc/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/bin/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/lib/ -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/include -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/sys-include -minline-all-stringops -O2 -g -c -fgo-prefix=libgo_crypto ../../../gcc/libgo/go/crypto/x509/x509.go -o crypto/libx509.a.o >/dev/null 2>&1 set -e; rm -f crypto/x509.gox.o; /home/andi/gcc/git/obj/./gcc/xgcc -B/home/andi/gcc/git/obj/./gcc/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/bin/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/lib/ -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/include -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/sys-include -r -nostdlib -o crypto/x509.gox.o -Wl,--whole-archive crypto/libx509.a; objcopy -j .go_export crypto/x509.gox.o crypto/x509.gox.tmp; mv -f crypto/x509.gox.tmp crypto/x509.gox; rm -f crypto/x509.gox.o rm -f `echo crypto/libtls.a | sed -e 's|/lib|/|' -e 's/\.a/.gox/'`; test -d crypto || /bin/mkdir -p crypto; rm -f crypto/libtls.a; files=`echo ../../../gcc/libgo/go/crypto/tls/alert.go ../../../gcc/libgo/go/crypto/tls/ca_set.go ../../../gcc/libgo/go/crypto/tls/common.go ../../../gcc/libgo/go/crypto/tls/conn.go ../../../gcc/libgo/go/crypto/tls/handshake_client.go ../../../gcc/libgo/go/crypto/tls/handshake_messages.go ../../../gcc/libgo/go/crypto/tls/handshake_server.go ../../../gcc/libgo/go/crypto/tls/prf.go ../../../gcc/libgo/go/crypto/tls/tls.go bufio.gox bytes.gox container/list.gox crypto/hmac.gox crypto/md5.gox crypto/rc4.gox crypto/rand.gox crypto/rsa.gox crypto/sha1.gox crypto/subtle.gox crypto/x509.gox encoding/pem.gox fmt.gox hash.gox io.gox io/ioutil.gox net.gox os.gox strings.gox sync.gox time.gox | sed -e 's/[^ ]*\.gox//g'`; if /bin/sh ./libtool --tag GO --mode=compile /home/src/gcc/git/obj/./gcc/gccgo -B/home/src/gcc/git/obj/./gcc/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/bin/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/lib/ -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/include -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/sys-include -minline-all-stringops -O2 -g -c -fgo-prefix="libgo_crypto" -o crypto/libtls.a.o $files; then ar rc crypto/libtls.a crypto/libtls.a.o; else exit 1; fi libtool: compile: /home/src/gcc/git/obj/./gcc/gccgo -B/home/src/gcc/git/obj/./gcc/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/bin/ -B/pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/lib/ -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/include -isystem /pkg/gcc-4.6-101205/x86_64-unknown-linux-gnu/sys-include -minline-all-stringops -O2 -g -c -fgo-prefix=libgo_crypto ../../../gcc/libgo/go/crypto/tls/alert.go ../../../gcc/libgo/go/crypto/tls/ca_set.go ../../../gcc/libgo/go/crypto/tls/common.go ../../../gcc/libgo/go/crypto/tls/conn.go ../../../gcc/libgo/go/crypto/tls/handshake_client.go ../../../gcc/libgo/go/crypto/tls/handshake_messages.go ../../../gcc/libgo/go/crypto/tls/handshake_server.go ../../../gcc/libgo/go/crypto/tls/prf.go ../../../gcc/libgo/go/crypto/tls/tls.go -fPIC -o crypto/.libs/libtls.a.o ../../../gcc/libgo/go/crypto/tls/conn.go:11:5: error: /usr/lib/../lib64/libnet.so exists but does not contain any Go export data make[2]: *** [crypto/libtls.a] Error 1 make[2]: Leaving directory `/home/src/gcc/git/obj/x86_64-unknown-linux-gnu/libgo' /usr/lib64/libnet comes from a suse rpm and is a semipopular library.