Opened 6 years ago

Closed 6 years ago

#5417 closed defect (fixed)

Issue with linking dynamic libraries on macOS high Sierra while bootstrapping

Reported by: johti17@… Owned by: Martin Sjölund
Priority: normal Milestone: Future
Component: Build Environment Version:
Keywords: dylib, Cc:

Description

At the end of bootstrapping I get:

test ! ".dylib" = ".dll" || cp -a /Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libOpenModelicaCompiler.dylib /Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/bin/
/Library/Developer/CommandLineTools/usr/bin/make -f Makefile -C Compiler install_scripts OMBUILDDIR=/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build
cd scripts; cp openmodelica.lefty default_profiling.xsl replace-startValue.sh replace-startValue.xsl simcodedump.xsl ngspicetoModelica.py /Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/share/omc/scripts
cp OpenModelicaBootstrappingHeader.h /Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/include/omc/c/
test ! `uname` = Darwin || ( ! otool -L "/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc"/*.dylib | egrep "/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build|`pwd`" | grep -v : || ( echo All dylibs should be linked using @rpath ; false ) )
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaExternalC.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaExternalC.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaMatIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaMatIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaMatIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaMatIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaStandardTables.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaMatIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaStandardTables.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaMatIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaExternalC.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libModelicaMatIO.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libzlib.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build/lib/x86_64-darwin17.4.0/omc/libzlib.0.dylib (compatibility version 1.0.0, current version 1.0.0)
All dylibs should be linked using @rpath

I think the issue is related to the system integrity protection which was introduced in OS X El Capitan. I have not managed to resolve it my self yet. I might have a look at it later today

John

Change History (5)

comment:1 by anonymous, 6 years ago

Configuration run with:

'CC=clang' 'CXX=clang++' '--without-corba' '--without-lpsolve' --with-ombuilddir=/Users/jtinnerholm/Programming/OpenModelica/OMCompiler/build

comment:2 by Martin Sjölund, 6 years ago

As far as I know we no longer compile those .dylib files; only .a. So perhaps clean them up and remove the check.

comment:3 by Martin Sjölund, 6 years ago

Should be fixed by https://github.com/OpenModelica/OMCompiler/pull/3026 (OSX had a special configure option previously)

comment:4 by johti17@…, 6 years ago

The fix seems to be working for my system!

comment:5 by Francesco Casella, 6 years ago

Resolution: fixed
Status: newclosed

Feel free to reopen if there are still issues

Note: See TracTickets for help on using tickets.