我刚刚开始在我的MacOS上使用Java,在使用javac编译我的第一个.java文件时,我得到了以下错误。
dyld: Symbol not found: _iconv
Referenced from: /usr/lib/libcups.2.dylib
Expected in: /opt/local/lib/libiconv.2.dylib
in /usr/lib/libcups.2.dylib
Trace/BPT trap: 5有人能解决这个问题吗?
发布于 2015-05-25 19:57:36
在使用macport并将DYLD_LIBRARY_PATH变量设置为/opt/local/lib时,这是一个常见的问题。在macports中有一些库可以干扰系统库,当你在命令行时,会导致程序在这种情况下无法启动。
解决方法是取消设置shell的变量,但这可能会导致运行其他macports应用程序时出现问题。如果您只是从命令行运行,则可以在.bashrc中创建运行命令的函数,而不使用变量,例如
java()
{
env DYLD_LIBRARY_PATH= java "$@"
}这将允许您保留已定义的变量,但可以防止在调用这些特定命令行工具时的干扰。
我已经从macports转到了homebrew,它在这方面表现得更好一些-它通常拒绝在不强制问题的情况下将干扰系统库的东西放在路径上-尽管这是个人选择的事情,但并不建议您切换。
https://stackoverflow.com/questions/30420695
复制相似问题