libjava broken on the trunk on i386-darwin8.11

View: New views
3 Messages — Rating Filter:   Alert me  

libjava broken on the trunk on i386-darwin8.11

by Andrew Pinski-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
  Sometime between revision 151933 and 152300, libjava is broken on
i386-darwin8.11.
libgij.so fails to build with the following error:
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols:
_libiconv
_libiconv_close
_libiconv_open
_environ
collect2: ld returned 1 exit status

Here was the link line:
/Users/apinski/src/local/gcc/objdir/./gcc/xgcc -shared-libgcc
-B/Users/apinski/src/local/gcc/objdir/./gcc -nostdinc++
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src/.libs
-B/Users/apinski/local-gcc/i386-apple-darwin8.11.1/bin/
-B/Users/apinski/local-gcc/i386-apple-darwin8.11.1/lib/ -isystem
/Users/apinski/local-gcc/i386-apple-darwin8.11.1/include -isystem
/Users/apinski/local-gcc/i386-apple-darwin8.11.1/sys-include
-dynamiclib  -o .libs/libgij.11.dylib  .libs/gij.o
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libjava/.libs
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src/.libs
./.libs/libgcj.dylib
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libjava
-lpthread -ldl    -install_name
/Users/apinski/local-gcc/lib/libgij.11.dylib -compatibility_version 12
-current_version 12.0 -Wl,-single_module

The old link line which still works:
/Users/apinski/src/local/gcc/objdir/./gcc/xgcc -shared-libgcc
-B/Users/apinski/src/local/gcc/objdir/./gcc -nostdinc++
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src/.libs
-B/Users/apinski/local-gcc/i386-apple-darwin8.11.1/bin/
-B/Users/apinski/local-gcc/i386-apple-darwin8.11.1/lib/ -isystem
/Users/apinski/local-gcc/i386-apple-darwin8.11.1/include -isystem
/Users/apinski/local-gcc/i386-apple-darwin8.11.1/sys-include
-dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libgij.11.dylib
 .libs/gij.o   -L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libjava/.libs
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libstdc++-v3/src/.libs
./.libs/libgcj.dylib
-L/Users/apinski/src/local/gcc/objdir/i386-apple-darwin8.11.1/libjava
-lpthread -ldl    -install_name
/Users/apinski/local-gcc/lib/libgij.11.dylib -compatibility_version 12
-current_version 12.0 -Wl,-single_module

From the look of it, -Wl,-undefined -Wl,dynamic_lookup was removed
from the link line.

Thanks,
Andrew Pinski

Re: libjava broken on the trunk on i386-darwin8.11

by Andrew Pinski-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

And this was caused by Dave Korn's change on the 2009-09-22.
He added -no-undefined to libgij_la_LDFLAGS which causes libtool to
remove -Wl,-undefined -Wl,dynamic_lookup from the link line.

Thanks,
Andrew Pinski

Re: libjava broken on the trunk on i386-darwin8.11

by Dave Korn-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Andrew Pinski wrote:
> And this was caused by Dave Korn's change on the 2009-09-22.
> He added -no-undefined to libgij_la_LDFLAGS which causes libtool to
> remove -Wl,-undefined -Wl,dynamic_lookup from the link line.

  Ow, sorry about that, I didn't know it would change things for Darwin.  I'll
whip up a fix that adds the flag only for windows platforms, thanks for the
bug report.

    cheers,
      DaveK