why doesn't libgcj link against libiconv?

Jack Howarth howarth@bromo.med.uc.edu
Thu Jun 16 14:54:00 GMT 2011


On Thu, Jun 16, 2011 at 10:33:19AM -0400, Jack Howarth wrote:
> I am running into a very odd bug on darwin with both gcc-4_6-branch
> and gcc trunk. Last year I added a patch to insure that when gcc was
> built with -with-libiconv-prefix=/sw, that libgcj.spec would provide the
> necessary linkage "-L/sw/lib -liconv" to access the correct libiconv.
> For some unknown reason the installed libgcj.spec now loses LDLIBICONV.
> The weird part is that the libgcj.spec generated in the build directory
> still has it...
>> [MacPro:~] howarth% cd /sw/src/fink.build/gcc47-4.7.0-1000/darwin_objdir/x86_64-apple-darwin11.0.0/libjava
> [MacPro:darwin_objdir/x86_64-apple-darwin11.0.0/libjava] howarth% more libgcj.spec
> #
> # This spec file is read by gcj when linking.
> # It is used to specify the standard libraries we need in order
> # to link with libgcj.
> #
> %rename startfile startfileorig
> *startfile: %(startfileorig)
>> %rename lib liborig
> *lib: %{s-bc-abi:} -lgcj -L/sw/lib -liconv -lz %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}} %(libgcc) %(liborig) -no_pie
>> *jc1: -fhash-synchronization -fuse-divide-subroutine -fcheck-references -fuse-boehm-gc -fnon-call-exceptions -fkeep-inline-functions
>> but the installed libgcc.spec doesn't...
>> [MacPro:~] howarth% cd /sw/lib/gcc4.7/lib
> [MacPro:lib/gcc4.7/lib] howarth% more libgcj.spec
> #
> # This spec file is read by gcj when linking.
> # It is used to specify the standard libraries we need in order
> # to link with libgcj.
> #
> %rename startfile startfileorig
> *startfile: %(startfileorig)
>> %rename lib liborig
> *lib: %{s-bc-abi:} -lgcj -lz %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}} %(libgcc) %(liborig) -no_pie
>> *jc1: -fhash-synchronization -fuse-divide-subroutine -fcheck-references -fuse-boehm-gc -fnon-call-exceptions -fkeep-inline-functions
>>> Note that I hardcoded -no_pie I added to libgcj.spec.in is retained.
> I am wondering if we really need to have @LDLIBICONV@ in libgcj.spec.in to solve this. Why can't 
> we simply pass @LDLIBICONV@ to the linkage of libgcj itself so that libgcj,dylib is directly linked against the appropriate
> libiconv to resolve those iconv symbols? Would this approach be acceptable?
> Jack

I've opened PR49441 as I suspect this breakage was caused by...
------------------------------------------------------------------------
r169822 | rwild | 2011年02月04日 00:51:57 -0500 (2011年2月04日) | 12 lines
Fix PR java/21206: Unrecognized option '-Wl,-rpath' for jv-convert
libjava/:
 PR java/21206
 * configure.ac (LDLIBICONV): New substituted variable, with
 instances of '-Wl,' removed from LIBICONV.
 * configure: Regenerate.
 * libgcj.spec.in: Use @LDLIBICONV@ not @LIBICONV@.
 * Makefile.in: Regenerate.
 * gcj/Makefile.in: Likewise.
 * include/Makefile.in: Likewise.
 * testsuite/Makefile.in: Likewise.


More information about the Java mailing list

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