octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

macos SIP and make check


From: Carlo De Falco
Subject: macos SIP and make check
Date: Thu, 1 Feb 2018 13:47:04 +0000

Hi,

I recently encountered a problem when running make check due
to System Integrity Protection (SIP)[1] being enabled by default on 
macos High Sierra.

Apart from preventing even the root user from writing into some system
directories, it appears that SIP prevents some environment variables
such as DYLD_LIBRARY_PATH from being inherited by executable scripts [2],
while they appear to be inherited by binary executables. 

As I have some libraries installed outside standard paths (namely sundials)
In my configure options I have 

    --with-sundials_nvecserial-includedir=/opt/sundials/2.7.0/include \
    --with-sundials_ida-includedir=/opt/sundials/2.7.0/include \
    --with-sundials_nvecserial-libdir=/opt/sundials/2.7.0/lib \
    --with-sundials_ida-libdir=/opt/sundials/2.7.0/lib 

which are sufficient to allow configure and build to work correctly, 
but when running Octave I also need to use

    export DYLD_LIBRARY_PATH=/opt/sundials/2.7.0/lib

or ode15{i,s} tests will fail with an "image not found" error.

Since SIP has been enabled specifying DYLD_LIBRARY_PATH will work
when running the installed octave or octave-cli executables but
will fail when using the run-octave script.

As a result "make check" will return a FAIL for all tests that require
SUNDIALS even though running the same tests from within an installed Octave 
will work.

Any idea how to avoid the use of DYLD_LIBRARY_PATH? Any other ideas how
to work around this problem?

Thanks,
c.


[1] https://support.apple.com/en-us/HT204899
[2] https://forums.developer.apple.com/thread/9233



reply via email to

[Prev in Thread] Current Thread [Next in Thread]