[plt-scheme] @executable_path in mzscheme binary on Mac OS X

From: Rainer Müller (raimue at macports.org)
Date: Wed Sep 12 17:16:44 EDT 2007

Hi,

I hope this is the right mailing list to send question/reports about
mzscheme development.
Over at MacPorts (http://macports.org/, a package manager for Mac OS X)
we tried to get a working mzscheme build.
But we ran into a problem. After building, the mzscheme binary contains
an invalid path reference to @executable_path.

otool reveals it:
| $ otool -L /opt/local/bin/mzscheme
| /opt/local/bin/mzscheme:
|
@executable_path/PLT_MzScheme.framework/Versions/371_3m/PLT_MzScheme
(compatibility version 0.0.0, current version 0.0.0)
|         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,
current version 88.3.9)

Now we fixed this as a workaround by using install_name_tool to replace
@executable_path with the real path of our installation of the PLT
Framework.
Is this an error in the build system? Is there some way to specify the
location which is stored in the binary?

I already tried to replace @executable_path with the framework path in
src/mzscheme/Makefile.in, but ended up with build errors when running
mzschemecgc.

If you want to have a look, our build instructions are in this Portfile:
<http://trac.macports.org/projects/macports/browser/trunk/dports/lang/mzscheme/Portfile>
Don't hesitate to ask if you need more information.

I hope there is a simpler solution than manually editing the binary.
Regards, Rainer


Posted on the users mailing list.