1
DotNet / Re: Mac OS X problems with @executable_path/../Frameworks/libsfml-graphics.2.dylib
« on: February 20, 2014, 11:59:23 am »
I worked it out myself.
You can edit the paths inside the dylib files.
To inspect the paths in a dylib file:
> otool -L libsfml-graphics.2.1.dylib
output:
I removed the "@executable_path/../Frameworks/" part from each of the paths that had it, making them point to the current directory instead.
e.g.
> install_name_tool -change @executable_path/../Frameworks/libsfml-graphics.2.dylib libsfml-graphics.2.dylib libsfml-graphics.2.1.dylib
Each time I used the otool command again to check.
The first path has now changed:
> otool -L libsfml-graphics.2.1.dylib
output:
Three more to go. Once all of the "@executable..." paths were replaced, and all the expected files were in the current folder, it worked.
Just for reference, to run the program on Windows requires these files:
To run the program on OS X, I needed these files:
(the three *.config files are an alternative to configuring mono in the /Users/yourname/.mono/config configuration file.)
You can edit the paths inside the dylib files.
To inspect the paths in a dylib file:
> otool -L libsfml-graphics.2.1.dylib
output:
Code: [Select]
libsfml-graphics.2.1.dylib:
@executable_path/../Frameworks/libsfml-graphics.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-window.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-system.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/freetype.framework/Versions/A/freetype (compatibility version 17.0.0, current version 17.0.0)
...
I removed the "@executable_path/../Frameworks/" part from each of the paths that had it, making them point to the current directory instead.
e.g.
> install_name_tool -change @executable_path/../Frameworks/libsfml-graphics.2.dylib libsfml-graphics.2.dylib libsfml-graphics.2.1.dylib
Each time I used the otool command again to check.
The first path has now changed:
> otool -L libsfml-graphics.2.1.dylib
output:
Code: [Select]
libsfml-graphics.2.1.dylib:
libsfml-graphics.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-window.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-system.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/freetype.framework/Versions/A/freetype (compatibility version 17.0.0, current ...
Three more to go. Once all of the "@executable..." paths were replaced, and all the expected files were in the current folder, it worked.
Just for reference, to run the program on Windows requires these files:
Code: [Select]
caves3.exe
csfml-audio-2.dll
csfml-graphics-2.dll
csfml-window-2.dll
libsndfile-1.dll
sfmlnet-audio-2.dll
sfmlnet-graphics-2.dll
sfmlnet-window-2.dll
To run the program on OS X, I needed these files:
Code: [Select]
caves3.exe
freetype.framework
libcsfml-audio.2.1.dylib
libcsfml-graphics.2.1.dylib
libcsfml-window.2.1.dylib
libsfml-audio.2.1.dylib
libsfml-audio.2.dylib
libsfml-graphics.2.1.dylib
libsfml-graphics.2.dylib
libsfml-system.2.1.dylib
libsfml-system.2.dylib
libsfml-window.2.1.dylib
libsfml-window.2.dylib
sfmlnet-audio-2.dll
sfmlnet-audio-2.dll.config
sfmlnet-graphics-2.dll
sfmlnet-graphics-2.dll.config
sfmlnet-window-2.dll
sfmlnet-window-2.dll.config
sndfile.framework
(the three *.config files are an alternative to configuring mono in the /Users/yourname/.mono/config configuration file.)