boehm-gc/misc.c compilation problem on cygwin

Marco Trudel mtrudel@gmx.ch
Mon Sep 25 20:56:00 GMT 2006


Hello list

boehm-gc/misc.c compiles fine, but later when it's linked into another 
lib, this "undefined reference" occures:

/cygdrive/d/marco/GCC/build/gcc/gcj 
-B/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava/ 
-B/cygdrive/d/marco/GCC/build/gcc/ -ffloat-store -fomit-frame-pointer -g 
-O2 -o jv-convert.exe --main=gnu.gcj.convert.Convert -shared-libgcc 
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava 
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava/.libs 
./.libs/libgcj.a 
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libstdc++-v3/src 
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libstdc++-v3/src/.libs -ldl 
-L/cygdrive/d/marco/GCC/build/./gcc -lgcc -lcygwin -luser32 -lkernel32 
-ladvapi32 -lshell32 -lgcc
./.libs/libgcj.a(misc.o): In function `GC_init_inner':
/cygdrive/d/marco/GCC/source/boehm-gc/misc.c:681: undefined reference to 
`_GC_get_thread_stack_base'
collect2: ld returned 1 exit status
make[3]: *** [jv-convert.exe] Error 1
make[3]: Leaving directory 
`/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
`/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava'
make[1]: *** [all-target-libjava] Error 2
make[1]: Leaving directory `/cygdrive/d/marco/GCC/build'
make: *** [all] Error 2


The "GC_get_thread_stack_base" is in gc.h, but including it didn't help. 
Actually I'm not fully sure whether this  is a libjava or base boehm-gc 
question, but assume the problem is at the basic compilation step.

I compile with:

/cygdrive/d/marco/GCC/source/configure --prefix=/cygdrive/d/marco/GCC/out \
     --enable-languages=c,c++,java \
     --disable-nls --disable-debug --disable-shared --disable-checking \
     --enable-threads=posix --disable-win32-registry 
--enable-sjlj-exceptions \
     --enable-libgcj


Anyone an idea?


thanks
Marco



More information about the Gcc-help mailing list