Fink doesn’t put things in /usr/local to avoid having files overwritten by third-party installs.
That wouldn’t help here, anyway, because the issue is that SIP prevents the use of DYLD_LIBRARY_PATH at all. Even to point to even an *arbitrary* unprotected library directory like "/sw/src/fink.build/mypackage-1.2.3-1/mypackage-1.2.3/src/.libs” as might be expected for a test suite to allow linking to a library in a build directory rather than in its final installed location. You’d experience the same thing even if building a package by hand to install in /usr/local, since the test suite is run in the build directory. —akh > On Dec 10, 2015, at 12:59, Jacques Bloch <jacques.bl...@ur.de> wrote: > > why can we not put libraries in /usr/local/lib which is not locked by SIP? > > J. > > --- > Dr. Jacques C.R. Bloch > Institute for Theoretical Physics > University of Regensburg > 93040 Regensburg, Germany > tel: +49 941 943-2018 > fax: +49 941 943-3887 > email: jacques.bl...@ur.de <mailto:jacques.bl...@ur.de> > web: http://homepages.uni-regensburg.de/~blj05290 > <http://homepages.uni-regensburg.de/~blj05290> > > >> On 10 Dec 2015, at 18:15, Alexander Hansen <alexanderk.han...@gmail.com >> <mailto:alexanderk.han...@gmail.com>> wrote: >> >> >> >>> On Dec 10, 2015, at 08:51, Daniel Johnson <dan...@daniel-johnson.org >>> <mailto:dan...@daniel-johnson.org>> wrote: >>> >>>> >>>> On Dec 10, 2015, at 6:52 AM, Hanspeter Niederstrasser >>>> <f...@snaggledworks.com <mailto:f...@snaggledworks.com>> wrote: >>>> >>>> [370/396/3] test_platform >>>> dyld: Library not loaded: /sw/lib/python3.5/config-3.5m/libpython3.5m.dylib >>>> Referenced from: /sw/build.build/python35-3.5.0-1/Python-3.5.0/python.exe >>>> Reason: image not found >>>> test test_platform failed -- Traceback (most recent call last): >>>> File >>>> "/sw/build.build/python35-3.5.0-1/Python-3.5.0/Lib/test/test_platform.py", >>>> line 287, in test_popen >>>> self.assertEqual(hello, "Hello") >>>> AssertionError: '' != 'Hello' >>>> + Hello >>>> ... >>>> [339/396/2] test_popen >>>> dyld: Library not loaded: /sw/lib/python3.5/config-3.5m/libpython3.5m.dylib >>>> Referenced from: /sw/build.build/python35-3.5.0-1/Python-3.5.0/python.exe >>>> Reason: image not found >>>> test test_popen failed -- Traceback (most recent call last): >>>> File >>>> "/sw/build.build/python35-3.5.0-1/Python-3.5.0/Lib/test/test_popen.py", >>>> line 33, in test_popen >>>> ["foo", "bar"] >>>> File >>>> "/sw/build.build/python35-3.5.0-1/Python-3.5.0/Lib/test/test_popen.py", >>>> line 26, in _do_test_commandline >>>> got = eval(data)[1:] # strip off argv[0] >>>> File "<string>", line 0 >>>> >>>> ^ >>>> SyntaxError: unexpected EOF while parsing >>>> ... >>>> [183/396/1] test_subprocess >>>> dyld: Library not loaded: /sw/lib/python3.5/config-3.5m/libpython3.5m.dylib >>>> Referenced from: /sw/build.build/python35-3.5.0-1/Python-3.5.0/python.exe >>>> Reason: image not found >>>> dyld: Library not loaded: /sw/lib/python3.5/config-3.5m/libpython3.5m.dylib >>>> Referenced from: /sw/build.build/python35-3.5.0-1/Python-3.5.0/python.exe >>>> Reason: image not found >>>> dyld: Library not loaded: /sw/lib/python3.5/config-3.5m/libpython3.5m.dylib >>>> Referenced from: /sw/build.build/python35-3.5.0-1/Python-3.5.0/python.exe >>>> Reason: image not found >>>> ... >>>> FAILED (failures=1, skipped=1) >>>> test test_platform failed >>>> 3 tests failed again: >>>> test_platform test_popen test_subprocess >>>> >>>> If I install python35 w/out tests and then retest, they all pass. So >>>> 10.11's 'protection' seems to strike again. >>>> >>>> Hanspeter >>> >>> Yep, that’s exactly what’s going on. Python uses DYLD_LIBRARY_PATH to find >>> the just-built library and that doesn’t work anymore. In theory, I could >>> use install_name_tool to change the library path before tests and reset it >>> after, but that would require changing a LOT of files since all the C-based >>> modules point to libpython. Maybe just changing python.exe would suffice >>> but I’ll need to play with it a while. It isn’t going to be fixed right >>> away but I will work on it. Fortunately this only effects tests. >>> >>> Daniel >>> >> >> That seems pretty nasty, yeah. I’m assuming that DYLD_FALLBACK_LIBRARY_PATH >> won’t do what you need, since it wouldn’t avoid a library from the >> previously installed version? >> >> Maybe we need a new InfoTest field like “SipTestUnderSIP: true” which will >> skip the test suite for build bots and display a message for power users like >> >> WARNING: Skipping test suite because it is not compatible with SIP (thanks >> for that, Apple). If you want to run the test suite, you will need to >> disable SIP by using <command invocation to disable it>. >> >> -- >> Alexander Hansen, Ph.D. >> Fink User Liaison >>
------------------------------------------------------------------------------
_______________________________________________ Fink-users mailing list Fink-users@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.macosx.fink.user Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-users