2

因为 Cygwin 中默认的 GCC 是 4.5.3,所以我尝试安装 GCC 4.7.2。我从这里下载了tar.bz 存档,将其放入cygwin\usr\gcc-4.7.2并执行以下顺序:

tar xvf gcc-4.7.2.tar.bz2
cd gcc-4.7.2
./contrib/download_prerequisites
mkdir build
cd build
../configure --build=x86_64-linux-gnu --prefix=/usr/gcc-4.7.2 --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-4.7
make
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
sudo make install

我坚持make以下错误:(一个多小时后)

make[3]: Leaving directory `/usr/gcc-4.7.2/build/gcc'
mkdir -p -- x86_64-linux-gnu/libgcc
Checking multilib configuration for libgcc...
Configuring stage 1 in x86_64-linux-gnu/libgcc
configure: creating cache ./config.cache
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking for x86_64-linux-gnu-ar... ar
checking for x86_64-linux-gnu-lipo... lipo
checking for x86_64-linux-gnu-nm... /usr/gcc-4.7.2/build/./gcc/nm
checking for x86_64-linux-gnu-ranlib... ranlib
checking for x86_64-linux-gnu-strip... strip
checking whether ln -s works... yes
checking for x86_64-linux-gnu-gcc... /usr/gcc-4.7.2/build/./gcc/xgcc -B/usr/gcc-4.7.2/build/./gcc/ -B/usr/gcc-4.7.2/x86_64-linux-gnu/bin/ -B/usr/gcc-4.7.2/x86_64-linux-gnu/lib/ -isystem /usr/gcc-4.7.2/x86_64-linux-gnu/include -isystem /usr/gcc-4.7.2/x86_64-linux-gnu/sys-include
checking for suffix of object files... configure: error: in `/usr/gcc-4.7.2/build/x86_64-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
Makefile:15654: recipe for target `configure-stage1-target-libgcc' failed
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/usr/gcc-4.7.2/build'
Makefile:19334: recipe for target `stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/usr/gcc-4.7.2/build'
Makefile:903: recipe for target `all' failed
make: *** [all] Error 2

此日志是否包含信息,说明出了什么问题?

完整的日志要大得多,所以我允许自己只放他的一部分。我在 Pastebin 上找到的说明:http: //pastebin.com/1MBaAikB

谁能给我一个提示,我该如何解决这个问题?

编辑 1:我试图以另一种方式实现它。我在http://matpack.de/cygwin/index.html上找到了安装说明

tar -xf gcc-4.7.2.tar.bz2
mkdir gcc-build
cd gcc-build
../gcc-4.7.2/configure --enable-languages=c,c++
make -j 4
make install
make clean          (OPTIONAL)
cd ..

我得到的错误现在与“权限被拒绝”有关。错误日志: http: //pastebin.com/0stdpFKf

这怎么可能?

4

2 回答 2

1

我遇到了同样的问题。只是我已经将mpc、mpfr和gmp库的库路径导出到LD_LIBRARY_PATH环境变量中,然后就可以工作了。

于 2015-01-08T08:19:08.950 回答
0

GCC 4.7.2 现在作为测试版本提供。在setup.exe中,切换所有gcc4-*包的版本号,以及libgcc1libstdc++6等,直到显示 4.7 版本。请记住,您将不得不Keep在后续运行期间再次选择其中的每一个setup.exe,直到它们被宣布为稳定为止。

于 2013-05-29T22:33:09.130 回答