makefile - 尝试运行 make 命令时出错
问题描述
我正在尝试安装程序,当我运行 make 或 make -f Makefile (按照安装说明)时,我得到以下输出:
g77 -O5 -Wall -c prep_output.f -o prep_output.o
dyld: Symbol not found: ___keymgr_global
Referenced from: /usr/local/bin/g77
Expected in: /usr/lib/libSystem.B.dylib
make: *** [prep_output.o] Abort trap: 6
我正在开发 macOS Mojave 10.14.6。在针对类似问题提出的其他一些解决方案之后,我已经在我的 Xcode 中安装了命令行工具,但这并没有奏效。请问有什么建议吗??
提前致谢
编辑:我摆脱了 g77 并通过 MacPorts 安装了兼容版本的 gcc (gcc8)。运行 make 命令后,我得到以下信息:
g77 -O5 -Wall -c prep_output.f -o prep_output.o
make: g77: No such file or directory
make: *** [prep_output.o] Error 1
所以我猜这个程序还需要g77设置吗?这是程序顺便说一句([ http://www.cfht.hawaii.edu/~arnouts/LEPHARE/install.html])。有没有办法依靠 gfortran 编译器来构建程序?
提前致谢
PS 我注意到当我安装 g77 时出现以下错误:
x usr/local/: Can't set user=0/group=0 for usr/local`
`tar: Error exit delayed from previous errors.
但是它仍然安装 g77..
解决方案
错误消息表明您的安装g77
已损坏。make
这与您尝试构建的特定项目或特定项目无关,除非该项目首先尝试使用g77
。实际上,这有点令人惊讶,因为g77
已经过时多年(gfortran
是当前的 GNU Fortran 编译器),但我不确定 XCode 在这方面的确切期望。
另一方面,由于二进制文件的完整路径是/usr/local/bin/g77
,我更倾向于认为您根本没有使用 XCode。可能您已将g77
构建在其他系统上的内容转储到您/usr/local/bin
的 .
你最好的选择可能是
- 摆脱您损坏的 g77 安装。
- 安装 Fink 或 MacPorts,或类似的项目。
- 为 gfortran 安装 Fink / MacPorts / 任何软件包(可能是 gcc-gfortran 或其中一些类似的软件包)以获得工作的 Fortran 编译器。
- 依靠该编译器来构建您的项目。
推荐阅读
- java - 使用相同的 appender 回溯几个记录器
- ruby-on-rails - 我可以在really_destroy 之后重新创建一个对象!它 ?我不想恢复它,而是用相同的电子邮件创建一个新对象
- python - 将 R GET 方法转换为 Python
- json - 如何使用 Jackson ObjectMapper 转义无效的 Mongo 字段名称字符?
- java - Firebase 数据库快照以动态回收查看数组列表
- javascript - 如何将项目按顺序放入数组中?(javascript)
- java - 无法在 build.gradle 中初始化 flyway{}
- c# - 使用转换器按 DataGrid 列中的值更改 DataGrid 行颜色
- c# - 如何在特定打印机中打印文件?
- android - Android Studio - 关闭浮动 Logcat 窗口的快捷方式?