我想在我的Ubuntu 12.04机器上编译gcc-2.95.3,但它不会工作。
我首先尝试用我的4.6.3版本的gcc构建它,但是我收到了一条错误消息。 然后我尝试构建gcc-3.4.6,因为在第一个链接中,这个版本已用于构建2.95.3,但它也没有成功。 Trevorpounds是解决这个问题的最佳页面,你可以找到,但它不会工作。 我也尝试了其他的东西,但没有任何作用。
据我所知,较新的工具链可能是问题,但有没有办法解决这个问题,而无需重新安装整个操作系统?
实际上,我甚至不关心我是否自己构建它,如果有一个地方可以下载二进制文件并且它们有效,我很高兴。
好的,我所做的详细信息以及我收到的错误消息:
整个程序来自here
1)我有一个全新安装的Ubuntu 12.04
2)我通过ldd --version
检测到我安装了什么glibc,我得到了答案ldd (Ubuntu EGLIBC 2.15-0ubuntu10.5) 2.15 ...
所以它是2.15
3)我从http://ftp.gnu.org/gnu/libc/下载glibc-2.15.tar.gz,我将其保存到我的下载文件夹中。
4)我按tar xzf glibc-2.15.tar.gz
5)mkdir -p gcc-2.95.3/glibc-workaround/include/bits
6)cp glibc-2.15/bits/stdio-lock.h gcc-2.95.3/glibc-workaround/include/bits
7)cp glibc-2.15/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h gcc-2.95.3/glibc-workaround/include/bits
8)sed -i -n '1h;1!H;${;g;s/\(__pthread_slist_t __list;\n[ \t]*}\)/\1 __gcc_295_workaround__/g;p;}' gcc-2.95.3/glibc-workaround/include/bits/pthreadtypes.h
9)现在我从ftp://ftp.gnu.org/gnu/gcc/下载gcc-2.95.3.tar.gz,我也将它保存在我的下载文件夹中。
10)我通过tar xzf gcc-2.95.3.tar.gz
11)cd gcc-2.95.3
12)我下载http://www.trevorpounds.com/blog/wp-content/uploads/2010/01/gcc-v2.95.x.debian.x86_64.diff并将其保存到Downloads文件夹中。
13)patch -p0 < ../gcc-v2.95.x.debian.x86_64.diff
没有错误发生
14)mkdir ../gcc-2.95.3-objdir
15)cd ../gcc-2.95.3-objdir
16)../gcc-2.95.3/configure --prefix=/opt/i386/gcc/gcc-2.95.3 --enable-languages=c,c++ --enable-threads=posix --enable-shared --host i386-pc-linux-gnu
似乎工作正常
17)make > log.txt
这是我收到错误的地方
我在控制台中获得了this:
和this是我的log.txt文件:
18)下一步将是make install
,但我没有这样做,因为我之前收到了错误。