Hi Peter,

Thanks for the fast response.

Peter O'Gorman wrote:

A secondary issue is that changing this to "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress" does not work, and the string passed to g++ must be "-Wl,-flat_namespace -Wl,-undefined suppress"


While I have seen this issue before, I have never seen a failure associated with it. Is sleepycat seeing an actual failure?

Isn't the problem report -Wl,suppress vs suppress, rather than the wonky ${wl} in the $show?

Here is what I get with sh -x and libtool's tagdemo with -no-undefined removed from the makefile:
++ cmd=g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0
+ echo 'g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0'
g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0
+ eval 'g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0'
++ g++ -dynamiclib -single_module -Wl,-flat_namespace -Wl,-undefined -Wl,suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0

As you can see the ${wl} is printed with the $echo, but when g++ is actually called, it is properly eval'ed.

Ah, yes I have seen this too, now that you explain it. We need to figure out which $show is responsible, and make it into an eval $show...

Gary, we need some tests without -no-undefined on platforms which support generating shared libraries with undefined symbols.

I'll submit a patch proposal presently.

Cheers,
        Gary.
--
Gary V. Vaughan      ())_.  [EMAIL PROTECTED],gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to