gcc 3.4.6是我在Synology DS413上gcc的最高原生安装,因此我尝试使用它从源代码构建5.2.0。我在/ root中使用的步骤是
tar xzf gcc-5.2.0.tar.gz
cd gcc-5.2.0
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0
make
make install
构建似乎进展顺利,直到#make;#39;它在运行结束时给出了这些错误:
:
:
make[3]: Entering directory `/root/objdir/gmp'
gcc `test -f 'gen-fac_ui.c' || echo '/root/objdir/../gcc-5.2.0/gmp/'`gen-fac_ui.c -o gen-fac_ui
./gen-fac_ui 32 0 >mpz/fac_ui.h || (rm -f mpz/fac_ui.h; exit 1)
gcc `test -f 'gen-fib.c' || echo '/root/objdir/../gcc-5.2.0/gmp/'`gen-fib.c -o gen-fib
./gen-fib header 32 0 >fib_table.h || (rm -f fib_table.h; exit 1)
./gen-fib table 32 0 >mpn/fib_table.c || (rm -f mpn/fib_table.c; exit 1)
gcc `test -f 'gen-bases.c' || echo '/root/objdir/../gcc-5.2.0/gmp/'`gen-bases.c -o gen-bases
/tmp/ccdefY1e.o: In function `generate':
gen-bases.c:(.text+0x28b8): undefined reference to `log'
collect2: ld returned 1 exit status
make[3]: *** [gen-bases] Error 1
make[3]: Leaving directory `/root/objdir/gmp'
make[2]: *** [all-stage1-gmp] Error 2
make[2]: Leaving directory `/root/objdir'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/root/objdir'
make: *** [all] Error 2
' make install'然后返回
make[1]: Entering directory `/root/objdir'
/bin/ash /root/objdir/../gcc-5.2.0/mkinstalldirs /root/gcc-5.2.0 /root/gcc-5.2.0
make[2]: Entering directory `/root/objdir/fixincludes'
make[2]: *** No rule to make target `install'. Stop.
make[2]: Leaving directory `/root/objdir/fixincludes'
make[1]: *** [install-fixincludes] Error 2
make[1]: Leaving directory `/root/objdir'
make: *** [install] Error 2
什么使得不开心?我是一个新手,所以可能会遗漏一些明显的东西。
答案 0 :(得分:0)
我认为您已经在磁盘站上安装了IPKG(optware),并且编译器确实很旧。 但是:有一个开发人员如何实现optware。被称为:Optware新一代。
我现在在DS713 +上运行GCC 5.2.0
此处的更多信息: Optware Optware NG on Github