octave-maintainers
[Top][All Lists]
Advanced

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

Re: macos SIP and make check


From: kingcrimson
Subject: Re: macos SIP and make check
Date: Thu, 8 Feb 2018 21:02:02 +0100


> On 8 Feb 2018, at 16:30, Sebastian Schöps <address@hidden> wrote:
> 
>> Would it be possible to get the FULL configure options used by the homebrew
>> build process? For example can you save the config.log file produced by the 
>> configure step?
> 
> Sure, please find the file attached!
> 
> Seb.

Hi,

I think I found the issue ...
Or rather I found that there is no issue with the way Octave is built, but 
rather it is a problem with SUNDIALS installation.

For the record, in case it may be of help to someone else, here is what I 
found: 

$ otool -D /opt/local/lib/libsundials_nvecserial.dylib 
/opt/local/lib/libsundials_nvecserial.dylib:
/opt/local/lib/libsundials_nvecserial.2.dylib

$ otool -D /opt/sundials/2.7.0/lib/libsundials_nvecserial.dylib 
/opt/sundials/2.7.0/lib/libsundials_nvecserial.dylib:
libsundials_nvecserial.2.dylib

so the sundials libraries installed by macports have their install_name set to 
the
full path while those I installed manually only have the last component in the 
path.

From what I infer from googling around, it appears install names are considered 
relative to DYLD_LIBRARY_PATH while to make them relative to the runtime path 
they 
must be prepended with @rpath. So if I change manually the install names in the 
shared
libraries to contain full path or to start with @rpath everything works fine:

$ sudo install_name_tool -id "@rpath/libsundials_nvecserial.2.dylib" 
/opt/sundials/2.7.0/lib/libsundials_nvecserial.2.dylib 
$ sudo install_name_tool -id "@rpath/libsundials_ida.2.dylib" 
/opt/sundials/2.7.0/lib/libsundials_ida.dylib 
$ ./run-octave -q
>> test ode15i
PASSES 48 out of 48 tests
>> 

All install names in Octave libraries are set to full path so there seems to be 
nothing to be changed
in the Octave build process. 

I just wonder now whether changing the install names for sundials manually is 
the only way to 
go or there is some build option that I can pass to cmake to make this happen 
automatically.

Thanks to those that helped, 
c.












reply via email to

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