This is the mail archive of the mailing list for the Java project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Solaris 2.8 build

Tom Tromey writes:

> I see this in the top-level
>   sparc-*-solaris*)
>     case "${host}" in
>     sparc-*-solaris2.8)
>       # According to Gerald Pfeifer <>, libjava
>       # won't build correctly on Solaris 8 if there's a
>       # previously-installed version of GCC in the configured prefix.
>       # This problem does not show up on earlier versions of Solaris.
>       noconfigdirs="$noconfigdirs ${libgcj}"
>       ;;
>     esac
> Is there something we can do about it?
> Disabling libgcj in this case is unfortunate.

indeed: I've done a bit research and found what's going on:

Gerald's original report at

shows the problem.  For an explanation, see the Solaris 8 Linker and
Libraries Guide:

sub Recorded Name Conflicts:

The command line can be reduced to

	gcj -o jv-convert <jv-convert objs> .libs/

with much stuff around.  gcj implicitly adds -lgcj.  If a with
the same SONAME as the one in .libs is present in $libdir specified when
configuring gcc, gcj will effectively call ld with

	ld -o jv-convert ... .libs/ -L$libdir -lgcj

So ld is asked to record dependencies for two different shared objects with
the same SONAME in jv-convert, which is just cannot do since all it records
is the SONAME, so it bails out.

This doubly linking the same library also caused the testsuite failures
described in

and the thread starting at

which have now been fixed by avoiding this double linking.  Maybe this can
be done here, too, or we add some -nostdlibgcj switch as proposed there.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]