我正在Solaris x86上编译GCC并收到以下错误:
echo '"' . $time . '"';
gmake [3]:*** [cp / optimize.o]错误1
我下载了MPC,GMP和MPFR,并将它们作为mpc,gmp和mpfr目录提取到GCC源目录中,并使用以下命令配置GCC源:
Assembler: optimize.c
"/var/tmp//ccMndPR3.s", line 85111 : Trouble closing elf file
我使用gmake执行编译任务。
$ ../gcc-5.2.0.src/configure --prefix=$HOME/gcc-5.2.0 --enable-languages=c,c++
错误消息中提到的文件不存在。
$ gmake
我不确定这是怎么发生的。
文件系统有足够的空间:
$ ls -l "/var/tmp//ccEtAJ5n.s"
/var/tmp//ccEtAJ5n.s: No such file or directory
$ ls -l "/var/tmp/ccEtAJ5n.s"
/var/tmp/ccEtAJ5n.s: No such file or directory
config.log中唯一的错误消息如下:
$ df -h /var/tmp
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t0d0s6 99G 27G 71G 28% /var
$ uname -a
SunOS sbdsvrwm566 5.10 Generic_150401-20 i86pc i386 i86pc
错误显然是由于-static和-libstdc ++之间缺少空间。然而,奇怪的是没有提到的confdefs.h conftest.cpp存在于源或构建目录或已安装的包之下。
显然,旧的gcc用于编译新的gcc:configure:5091: g++ -o conftest -g -O2 -static-libstdc++ -static-libgcc conftest.cpp >&5
g++: unrecognized option `-static-libstdc++'
conftest.cpp:11:2: #error -static-libstdc++ not implemented
configure:5091: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h. */
|
| #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
| #error -static-libstdc++ not implemented
| #endif
| int main() {}