我通过自制软件安装了Racket。当我尝试使用raco创建可执行文件时,按:
raco exe my_prog.rkt
...生成的二进制文件链接到具有无效路径的Racket运行时。这可以通过otool -L
:
my_prog:
/usr/local/Cellar/racket/6.3/lib/racket/Racket.framework/Versions/6.3_3m/Racket (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
racket/
之后,正确的路径不包含lib/
。因此,当您尝试运行二进制文件时,dyld
会抱怨并中止执行。
我可以使用install_name_tool
:
chmod +w my_prog
install_name_tool -change /usr/local/Cellar/racket/6.3/lib/racket/Racket.framework/Versions/6.3_3m/Racket /usr/local/Cellar/racket/6.3/lib/Racket.framework/Versions/6.3_3m/Racket my_prog
......但是,显然这不是我想要一直做的事情!
据推测,raco从某处获得了这条无效路径。有什么方法可以正确配置吗?