【发布时间】:2013-02-09 02:51:27
【问题描述】:
我正在 Ubuntu 12.04 x86_64 上编译几个库。首先,我用 GCC 4.7.2 编译了库,一切顺利。然后我尝试使用 Inte Composer 2013 u2 重新编译它们。出于这个目的,我做到了:
export CC=/opt/intel/composer_xe_2013.2.146/bin/intel64/icc
export CPP=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
然后我运行./configure 并得到以下错误:
checking how to run the C preprocessor... /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
configure: error: in `/var/www/workspace/freetype/freetype-2.4.11/builds/unix':
configure: error: C preprocessor "/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc" fails sanity check
See `config.log' for more details
make: *** [setup] Error 1
配置日志文件包含此错误:
configure:3345: checking how to run the C preprocessor
configure:3415: result: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
configure:3435: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc conftest.c
conftest.c(14): error: identifier "Syntax" is undefined
Syntax error
^
conftest.c(14): error: expected a ";"
compilation aborted for conftest.c (code 2)
configure:3435: $? = 2
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "FreeType"
| #define PACKAGE_TARNAME "freetype"
| #define PACKAGE_VERSION "2.4.11"
| #define PACKAGE_STRING "FreeType 2.4.11"
| #define PACKAGE_BUGREPORT "freetype@nongnu.org"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error
configure:3435: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc conftest.c
conftest.c(14): error: identifier "Syntax" is undefined
Syntax error
^
conftest.c(14): error: expected a ";"
compilation aborted for conftest.c (code 2)
这里有什么问题?
【问题讨论】:
-
查看
conftest.c文件以了解正在测试的内容。 -
本应写入
conftest.c文件的内容(有用地包含在显示的日志中)因“语法错误”而出错,结果无法编译。要找出这意味着探索 autotools inards 的曲折(颤抖),也许是之前运行的剩余部分。再试一次,确保没有保留以前的构建(可能是make distclean或类似的东西)。 -
我尝试使用
make clean和make distclean进行清理,但仍然是同样的问题。我下载了另一个库并尝试了相同的方法,但以同样的方式失败了。然后我切换回 GCC 并编译了两个库。
标签: linux compiler-errors configure icc