I've installed the gcc-4.0.0-0.20050305.1 with enabled c, c++ and ada. Now I'm trying rebuild gcc with added java, objc and fortran support but install fails. It worked several snapshots ago, now it's broken.
Created attachment 8368 [details] install log.
This does not make sense: (cd /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld- linux/libjava; /bin/sh ./libtool --tag CXX --mode=relink /home/users/pluto/multimedia/rpm/BUILD/ gcc-4.0-20050305/obj-i686-pld-linux/gcc/xgcc -shared-libgcc -B/home/users/pluto/multimedia/ rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/ -nostdinc++ -L/home/users/pluto/ multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/ home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/ libstdc++-v3/src/.libs -B/usr/i686-pld-linux/bin/ -B/usr/i686-pld-linux/lib/ -isystem /usr/i686- pld-linux/include -isystem /usr/i686-pld-linux/sys-include -L/home/users/pluto/multimedia/rpm/ BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava -ffloat-store -fno-omit-frame- pointer -O2 -march=i686 -mtune=pentium4 -fomit-frame-pointer -funroll-loops -pipe -o libgcj.la -objectlist libgcj.objectlist external/sax/libsax_convenience.la external/w3c_dom/ libw3c_convenience.la libgcj0_convenience.la ../libffi/libffi_convenience.la ../boehm-gc/ libgcjgc_convenience.la gnu/regexp/MessagesBundle.properties.lo gnu/regexp/ MessagesBundle_fr.properties.lo org/ietf/jgss/MessagesBundle.properties.lo -rpath /usr/lib -rpath / usr/lib -lpthread ./libltdl/libltdlc.la -lz -version-info 6:0:0) mv: cannot stat `libgcj.so.6.0.0': No such file or directory libtool: install: error: relink `libgcj.la' with the above command before installing it that means something is wrong with your build.
(In reply to comment #2) > This does not make sense: > (cd /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld- > linux/libjava; /bin/sh ./libtool --tag CXX --mode=relink /home/users/pluto/multimedia/rpm/BUILD/ > gcc-4.0-20050305/obj-i686-pld-linux/gcc/xgcc -shared-libgcc -B/home/users/pluto/multimedia/ > rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/ -nostdinc++ -L/home/users/pluto/ > multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/ > home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/ > libstdc++-v3/src/.libs -B/usr/i686-pld-linux/bin/ -B/usr/i686-pld-linux/lib/ -isystem /usr/i686- > pld-linux/include -isystem /usr/i686-pld-linux/sys-include -L/home/users/pluto/multimedia/rpm/ > BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava -ffloat-store -fno-omit-frame- > pointer -O2 -march=i686 -mtune=pentium4 -fomit-frame-pointer -funroll-loops -pipe -o libgcj.la > -objectlist libgcj.objectlist external/sax/libsax_convenience.la external/w3c_dom/ > libw3c_convenience.la libgcj0_convenience.la ../libffi/libffi_convenience.la ../boehm-gc/ > libgcjgc_convenience.la gnu/regexp/MessagesBundle.properties.lo gnu/regexp/ > MessagesBundle_fr.properties.lo org/ietf/jgss/MessagesBundle.properties.lo -rpath /usr/lib -rpath / > usr/lib -lpthread ./libltdl/libltdlc.la -lz -version-info 6:0:0) > mv: cannot stat `libgcj.so.6.0.0': No such file or directory > libtool: install: error: relink `libgcj.la' with the above command before installing it > > that means something is wrong with your build. I think that relinking java libs with `-rpath /usr/lib` are quite wrong. At build/install time java libs exist only in rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava/.libs and $(DESTDIR)/$libdir. Am I right?
[~/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava/.libs] drwxr-xr-x 2 pluto users 4096 2005-03-10 19:51 . drwxr-xr-x 15 pluto users 4096 2005-03-10 19:51 .. -rw------- 1 pluto users 11600 2005-03-10 19:42 boehm.o -rw------- 1 pluto users 35316 2005-03-10 19:37 defineclass.o -rw-r--r-- 1 pluto users 4816 2005-03-10 00:30 exception.o -rwx------ 1 pluto users 33329 2005-03-10 19:51 gcj-dbtool -rwx------ 1 pluto users 6409 2005-03-10 19:51 gij -rw-r--r-- 1 pluto users 6612 2005-03-10 01:51 gij.o -rwx------ 1 pluto users 6764 2005-03-10 19:51 grmic -rwx------ 1 pluto users 6793 2005-03-10 19:51 grmiregistry -rw------- 1 pluto users 45404 2005-03-10 19:38 interpret.o -rw------- 1 pluto users 119072 2005-03-10 19:37 jni.o -rwx------ 1 pluto users 6765 2005-03-10 19:51 jv-convert -rw------- 1 pluto users 32257574 2005-03-10 19:49 libgcj0_convenience.a lrwxrwxrwx 1 pluto users 25 2005-03-10 19:49 libgcj0_convenience.la -> ../libgcj0_convenience.la -rw------- 1 pluto users 1319 2005-03-10 19:49 libgcj0_convenience.lai lrwxrwxrwx 1 pluto users 28 2005-03-10 19:47 libgcj0_convenience.so -> libgcj0_convenience.so.0.0.0 lrwxrwxrwx 1 pluto users 28 2005-03-10 19:47 libgcj0_convenience.so.0 -> libgcj0_convenience.so.0.0.0 -rwx------ 1 pluto users 19935083 2005-03-10 19:47 libgcj0_convenience.so.0.0.0 -rw------- 1 pluto users 1661364 2005-03-10 19:49 libgcj.a lrwxrwxrwx 1 pluto users 12 2005-03-10 19:49 libgcj.la -> ../libgcj.la -rw------- 1 pluto users 1299 2005-03-10 19:49 libgcj.lai lrwxrwxrwx 1 pluto users 15 2005-03-10 19:49 libgcj.so -> libgcj.so.6.0.0 lrwxrwxrwx 1 pluto users 15 2005-03-10 19:49 libgcj.so.6 -> libgcj.so.6.0.0 -rwx------ 1 pluto users 928202 2005-03-10 19:49 libgcj.so.6.0.0 -rw------- 1 pluto users 5170 2005-03-10 19:50 libgij.a lrwxrwxrwx 1 pluto users 12 2005-03-10 19:50 libgij.la -> ../libgij.la -rw------- 1 pluto users 1444 2005-03-10 19:50 libgij.lai lrwxrwxrwx 1 pluto users 15 2005-03-10 19:50 libgij.so -> libgij.so.6.0.0 lrwxrwxrwx 1 pluto users 15 2005-03-10 19:50 libgij.so.6 -> libgij.so.6.0.0 -rwx------ 1 pluto users 10298 2005-03-10 19:50 libgij.so.6.0.0 -rw------- 1 pluto users 29780 2005-03-10 19:37 link.o -rw------- 1 pluto users 4380 2005-03-10 19:42 posix.o -rw------- 1 pluto users 7572 2005-03-10 19:42 posix-threads.o -rw------- 1 pluto users 32348 2005-03-10 19:36 prims.o -rw------- 1 pluto users 106304 2005-03-10 19:38 verify.o Hmm, build is fine but when relinking fails libgcj.so.6.0.0 dissappears (libtool script removes it).
I've recheckd the install log and found the reason of relinking error. /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/xgcc -shared-libgcc -B/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/ -nostdinc++ -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -B/usr/i686-pld-linux/bin/ -B/usr/i686-pld-linux/lib/ -isystem /usr/i686-pld-linux/include -isystem /usr/i686-pld-linux/sys-include -shared -nostdlib /usr/lib/gcc/i686-pld-linux/4.0.0/../../../crti.o /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/crtbeginS.o gnu/regexp/.libs/MessagesBundle.properties.o gnu/regexp/.libs/MessagesBundle_fr.properties.o org/ietf/jgss/.libs/MessagesBundle.properties.o -Wl,--whole-archive external/sax/.libs/libsax_convenience.a external/w3c_dom/.libs/libw3c_convenience.a ../libffi/.libs/libffi_convenience.a ../boehm-gc/.libs/libgcjgc_convenience.a ./libltdl/.libs/libltdlc.a -Wl,--no-whole-archive -L/tmp/gcc-4.0.0-root-pluto/usr/lib -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava external/sax/.libs/libsax_convenience.a external/w3c_dom/.libs/libw3c_convenience.a -L/usr/lib -lgcj0_convenience -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc -L/usr/lib/gcc/i686-pld-linux/4.0.0 -L/usr/lib/gcc/i686-pld-linux/4.0.0/../../.. ../libffi/.libs/libffi_convenience.a ../boehm-gc/.libs/libgcjgc_convenience.a -lpthread ./libltdl/.libs/libltdlc.a -ldl -lz -lgcc_s -lc -lgcc_s /home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc/crtendS.o /usr/lib/gcc/i686-pld-linux/4.0.0/../../../crtn.o -Wl,-soname -Wl,libgcj.so.6 -o .libs/libgcj.so.6.0.0 /usr/bin/ld: cannot find -lgcj0_convenience collect2: ld returned 1 exit status Adding below path helpd. -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava/.libs
Created attachment 8374 [details] test patch.
(In reply to comment #6) > Created an attachment (id=8374) > test patch. > Attached patch was wrong. Now I have libgcj0_convenience dep. $ ldd libgcj.so.6.0.0 libgcj0_convenience.so.0 => not found libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a95784000) libdl.so.2 => /lib64/libdl.so.2 (0x0000002a95899000) libz.so.1 => /lib64/libz.so.1 (0x0000002a9599d000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000002a95ab0000) libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95bbd000) /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000) I give up with this libtool stuff...
I've noticed that below change fixes relinking. Could anonyone merge this fix to Makefile{.am,.in} ? --- libgcj0_convenience.la.orig 2005-03-12 06:07:36.000000000 +0100 +++ libgcj0_convenience.la 2005-03-12 10:49:59.865017152 +0100 @@ -5,16 +5,16 @@ # It is necessary for linking the library. # The name that we can dlopen(3). -dlname='libgcj0_convenience.so.0' +dlname='' # Names of this library. -library_names='libgcj0_convenience.so.0.0.0 libgcj0_convenience.so.0 libgcj0_convenience.so' +library_names='' # The name of the static archive. old_library='libgcj0_convenience.a' # Libraries that this one depends upon. -dependency_libs=' -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libstdc++-v3/src/.libs -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/i686-pld-linux/libjava -L/home/users/pluto/multimedia/rpm/BUILD/gcc-4.0-20050305/obj-i686-pld-linux/gcc -L/usr/lib/gcc/i686-pld-linux/4.0.0 -L/usr/lib/gcc/i686-pld-linux/4.0.0/../../.. -lgcc_s -lc -lgcc_s' +dependency_libs='' # Version information for libgcj0_convenience. current=0 @@ -29,4 +29,4 @@ dlpreopen='' # Directory that this library needs to be installed in: -libdir='/usr/lib' +libdir=''
finally I've fixed this problem with this patch. gcc was bootstraped and tested successfuly on ix86 and amd64. --- gcc-4.0-20050305/libjava/Makefile.am.orig +++ gcc-4.0-20050305/libjava/Makefile.am @@ -624,7 +624,7 @@ $(libgcj0_convenience_la_LINK) \ -objectlist libgcj0_convenience.objectlist \ $(libgcj0_convenience_la_LIBADD) \ - -rpath $(toolexeclibdir) $(libgcj0_convenience_la_LDFLAGS) $(LIBS) + $(libgcj0_convenience_la_LDFLAGS) $(LIBS) lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES) @echo Creating list of files to link... --- gcc-4.0-20050305/libjava/Makefile.in.orig +++ gcc-4.0-20050305/libjava/Makefile.in @@ -26699,7 +26699,7 @@ $(libgcj0_convenience_la_LINK) \ -objectlist libgcj0_convenience.objectlist \ $(libgcj0_convenience_la_LIBADD) \ - -rpath $(toolexeclibdir) $(libgcj0_convenience_la_LDFLAGS) $(LIBS) + $(libgcj0_convenience_la_LDFLAGS) $(LIBS) lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES) @echo Creating list of files to link...