---------- Forwarded message ---------- From: Jack Howarth <howarth.at.f...@gmail.com> Date: Tue, Oct 28, 2014 at 9:38 PM Subject: Re: [Fink-devel] validation test for Puma-linked shared libraries on darwin14 and later To: Alexander Hansen <alexanderk.han...@gmail.com>
As I mentioned to Alexander on fink irc, it appears that we can use... # /Library/Developer/CommandLineTools/usr/bin/dyldinfo -bind .libs/libgdbm.3.0.0.dylib bind information: segment section address type addend dylib symbol __DATA __got 0x00004000 pointer 0 libSystem ___stack_chk_guard __DATA __nl_symbol_ptr 0x00004008 pointer 0 libSystem dyld_stub_binder vs # /Library/Developer/CommandLineTools/usr/bin/dyldinfo -bind .libs/libgdbm.3.0.0.dylib | grep flat __DATA __got 0x00004000 pointer 0 flat-namespace ___stack_chk_guard __DATA __got 0x00004008 pointer 0 flat-namespace _gdbm_errno __DATA __nl_symbol_ptr 0x00004010 pointer 0 flat-namespace dyld_stub_binder and just grep the output for flat-namespace. Jack On Tue, Oct 28, 2014 at 9:14 PM, Alexander Hansen < alexanderk.han...@gmail.com> wrote: > On 10/28/14, 6:05 PM, Jack Howarth wrote: > >> As I mentioned to Alexander on fink irc, I think we can add a >> fatal fink validation error for the dynamic shared libraries on darwin14 >> and later that are erroneously linked with -flat_namespace rather than >> -undefined dynamic_lookup due to the buggy libtool. We can use the >> following approach... >> >> 1) test with the 'file' command to make sure the shared library isn't >> really a bundle >> 2) if not a bundle, use 'otool -H <filename> | grep Hint' to look for... >> >> Two-level namespace hints table (0 hints) >> >> >> which shared libraries created with -flat_namespace should be missing. >> >> >> If this test fails on darwin14 or later, this should be treated as a >> fatal validation error with the appropriate error message. >> >> Jack >> >> >> >> > The good news is that Validation.pm already has a loop over the installed > dylibs in a .deb, excluding bundles, so adding an extra test won't be too > difficult. > > The bad news is that my test case (libtcd-shlibs on 10.10 with and without > the PatchScript) didn't seem to give different "otool -H " output whether > or not -flat_namespace was used. > -- > Alexander Hansen, Ph.D. > Fink User Liaison > My package updates: http://finkakh.wordpress.com/ >
------------------------------------------------------------------------------
_______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel