我通过自制软件安装了球拍。当我尝试使用 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/
after 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 从某个地方得到了这条无效的路径。有什么方法可以正确配置吗?