【问题标题】:C Compiler cannot create executables, OpenSolaris Erlang/OTP ./configure errorC 编译器无法创建可执行文件,OpenSolaris Erlang/OTP ./configure 错误
【发布时间】:2011-10-16 20:53:50
【问题描述】:

在 OpenSolaris 上为 OTP14B03 运行 ./configure 脚本并得到以下输出

忽略 --cache-file 参数,因为它可能导致系统配置错误 禁用缓存 检查构建系统类型... i386-pc-solaris2.11 检查主机系统类型... i386-pc-solaris2.11 检查 gcc ... gcc 检查 C 编译器默认输出文件名...配置:错误:C 编译器无法创建可执行文件 更多细节见“config.log”。

我在 $PATH 中安装了 gcc4,安装了 libgcc,但仍然出现此错误。搜索网络让我尝试添加 /usr/ccs/bin 以找到 ld.so 文件(可能与 C++ 编译器或链接器有关)。谁能帮帮我

编辑: 配置/日志文件包含以下内容:

这是免费软件;查看复制条件的来源。没有 保修单;甚至不考虑适销性或特定用途的适用性。 配置:2041:$? = 0 配置:2043:gcc -v &5 从 /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/specs 读取规范 配置为:../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++, f77 线程模型:posix gcc 版本 3.4.6 配置:2046:$? = 0 配置:2048:gcc -V &5 gcc: `-V' 选项必须有参数 配置:2051:$? = 1 配置:2074:检查 C 编译器默认输出文件名 配置:2077:gcc conftest.c >&5 ld:致命:文件值-Xa.o:打开失败:没有这样的文件或目录 ld:致命:文件处理错误。没有输出写入 a.out collect2: ld 返回 1 个退出状态 配置:2080:$? = 1 配置:失败的程序是: | /* confdefs.h。 */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | /* 结束 confdefs.h。 */ | |整数 |主要的 () | { | | ; |返回0; | } 配置:2118:错误:C 编译器无法创建可执行文件 更多细节见“config.log”。

【问题讨论】:

  • 请把config.log的相关部分贴出来,没有那个没办法说是什么问题。
  • 做到了,请你投票给我的问题

标签: c++ c gcc erlang solaris


【解决方案1】:

您的链接器找不到values-Xa.o 目标文件。

根据this FAQ,这可能意味着您的系统缺少编译器所需的包,或者安装了所需的包但您的默认库路径未反映它。

作为快速检查,您可以尝试将/usr/ccs/lib 添加到库路径:

./configure LDFLAGS="-L/usr/ccs/lib"

【讨论】:

  • solaris2.11 表示 Solaris 11 Express 或 OpenSolaris 发行版。 pkg search values-Xa.o 应该显示要安装的包的名称。不幸的是,S11 Express 把它放在了名称混乱的 developer/library/lint 包中,不使用 lint 的人通常认为他们不需要安装。
猜你喜欢
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 2013-09-24
  • 2012-05-08
  • 1970-01-01
  • 2021-06-16
  • 2021-04-23
相关资源
最近更新 更多