Multiply defined symbols building libgcj

Jeff Sturm jsturm@one-point.com
Sat May 31 03:19:00 GMT 2003


On 30 May 2003, Craig A. Vanderborgh wrote:
> zetar% arm-wince-pe-gcj --main=HelloWorld HelloWorld.java -lgcj -lc -lgcc -lwinsock -lcoredll
> /usr/local/wince/lib/gcc-lib/arm-wince-pe/3.3/../../../../arm-wince-pe/lib/libgcj.a(String.o)(.text+0x4fc): In function `_ZN4java4lang6String6lengthEv':
> /a/gnu/cross-gcc-build-arm/gcc/libgcj/../../../gcc-3.3/libjava/java/lang/String.java:194: multiple definition of `java::lang::String::length()'
> /usr/local/wince/lib/gcc-lib/arm-wince-pe/3.3/../../../../arm-wince-pe/lib/libgcj.a(prims.o)(.text$_ZN4java4lang6String6lengthEv+0x0):/a/gnu/cross-gcc-build-arm/gcc/libgcj/../../../gcc-3.3/libjava/java/lang/Class.h: first defined here

Ick. This sort of failure happens all too often on targets without weak
pointer support.
Did you perhaps build libjava without optimization (i.e. CPPFLAGS = -g)?
Sometimes that causes methods that would otherwise be inlined to be
generated instead. (Even so, the "#pragma interface" directive in
header files ought to prevent that.)
Jeff


More information about the Java mailing list

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