why doesn't libgcj link against libiconv?

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


 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


More information about the Java mailing list

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