wrong libgcc_s.so picked up in testsuite

Michael Ritzert ritzert@t-online.de
Fri Feb 28 17:01:00 GMT 2003


Am Freitag, 28. Februar 2003 04:01 schrieb Tom Tromey:
> >>>>> "Michael" == Michael Ritzert <ritzert@t-online.de> writes:
> Could you investigate what we should do? One thing to try would be to
> also set LD_RUN_PATH in the small proc near the end of libjava.exp (in
> testsuite/lib).

I applied the patch added below. Now I still get all the FAILs, but things are 
still different:
PASS: SyncTest compilation from source
FAIL: SyncTest execution - source compiled test
Note: The error that was there the other day is gone. But the test still 
fails. Looking closer I see this:
% ldd libgcj.so.4
libgcj.so.4: /opt/gcc-3.2.2/lib/libgcc_s.so.1: version `GCC_3.3' not found 
(required by 
/var/ritzert/compile/gcc/HEAD/i686-pc-linux-gnu//libjava/.libs/libgcj.so.4)
 libpthread.so.0 => /lib/libpthread.so.0 (0x4082d000)
 libdl.so.2 => /lib/libdl.so.2 (0x40844000)
 libz.so.1 => /lib/libz.so.1 (0x40848000)
 libgcc_s.so.1 => /opt/gcc-3.2.2/lib/libgcc_s.so.1 (0x40857000)
 libc.so.6 => /lib/libc.so.6 (0x4085f000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
/opt/gcc-3.2.2/lib is hardcoded in libgcj.so.4 (as it is in libstdc++.so 
etc.). I guess it would be hard to avoid that given that I explicitely set 
LD_RUN_PATH. So unless you have a brilliant idea I will just not set 
LD_RUN_PATH or LD_LIBRARY_PATH and rely on gcc doing the right thing.
The only thing that I don't quite understand is that /opt/gcc-3.2/lib is 
hardcoded, but all the libs are apparently still linked against the correct 
lib in the build tree. Otherwise I wouldn't expect to see the GCC_3.3 error.
Michael
Index: libjava.exp
===================================================================
RCS file: /cvs/gcc/gcc/libjava/testsuite/lib/libjava.exp,v
retrieving revision 1.50
diff -u -3 -p -r1.50 libjava.exp
--- libjava.exp	15 Feb 2003 16:39:28 -0000	1.50
+++ libjava.exp	28 Feb 2003 08:58:03 -0000
@@ -133,6 +133,7 @@ proc libjava_init { args } {
 global GCJ_UNDER_TEST
 global TOOL_EXECUTABLE
 global original_ld_library_path
+ global original_ld_run_path
 global env objdir
 global env libgcj_jar
 global tool_root_dir
@@ -181,6 +182,12 @@ proc libjava_init { args } {
 	}
 }
 
+ if [info exists env(LD_RUN_PATH)] {
+	set original_ld_run_path $env(LD_RUN_PATH)
+ } else {
+	set original_ld_run_path ""
+ }
+
 set wrapper_file "";
 set wrap_compile_flags "";
 if [target_info exists needs_status_wrapper] {
@@ -373,10 +380,13 @@ proc libjava_arguments {{mode compile}} 
 
 # Set variables the dynamic linker looks at.
 global original_ld_library_path
+ global original_ld_run_path
 setenv LD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path"
+ setenv LD_RUN_PATH "$ld_library_path:$original_ld_run_path"
 setenv SHLIB_PATH "$ld_library_path:$original_ld_library_path"
 
 verbose "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
+ verbose "LD_RUN_PATH = $env(LD_RUN_PATH)"
 
 # Set the CLASSPATH environment variable
 verbose "CLASSPATH is .:$srcdir/$subdir:$objdir:$libgcj_jar"


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /