title: Building gcc-2.95.3 for use on 64-bit Ubuntu 9.10
body: <p>UPDATE: I got a copy of Debian 3.0r2 from <a href="http://ftp.ntct.edu.tw/Linux/ISO/Debian/3.0r2/" rel="nofollow">http://ftp.ntct.edu.tw/Linux/ISO/Debian/3.0r2/</a>
  This contains gcc 2.95.4 which is perfect. Installed it in VirtualBox and everything is now right with the world. :)</p>
  
  <p>ORIGINAL:</p>
  
  <p>I'm trying to build a copy of gcc 2.95.3 for use on my machine, and I am having a really difficult time.</p>
  
  <p>I purchased a book that I've been going through and it is from 2002. It wants me to compile many of the examples to see what assembly the C compiler comes up with. The book uses gcc 2.95.3. The gcc on my system is 4.x not to mention 64-bit, so the assembly is generates looks almost NOTHING like that of the examples in the book.</p>
  
  <p>I've tried just about everything to make gcc 2.95.3 work on my machine. I've even installed older 32-bit Linux distros using VirtualBox, but cannot for the life of me get it to compile.</p>
  
  <p>Currently, on my machine here's what I'm doing:</p>
  
  <pre><code>./configure --host=i386-amd-linux-gnu
  make
  </code></pre>
  
  <p>And after it rolls around for a few minutes, it comes up with this:</p>
  
  <pre><code>make[2]: Entering directory `/home/twilson/Downloads/gcc-2.95.3/gcc/ch'
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include parse.c
  parse.c: In function ‘require’:
  parse.c:326: warning: format not a string literal and no format arguments
  parse.c: In function ‘expect’:
  parse.c:352: warning: format not a string literal and no format arguments
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include actions.c
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include except.c
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include grant.c
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include lang.c
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include tree.c
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include lex.c
  gcc -c  -DIN_GCC   -g -O2     -I. -I.. -I. -I./.. -I./../config -I./../../include decl.c
  decl.c: In function ‘start_struct’:
  decl.c:4451: error: argument ‘code’ doesn’t match prototype
  ch-tree.h:736: error: prototype declaration
  make[2]: *** [decl.o] Error 1
  make[2]: Leaving directory `/home/twilson/Downloads/gcc-2.95.3/gcc/ch'
  make[1]: *** [cc1chill] Error 2
  make[1]: Leaving directory `/home/twilson/Downloads/gcc-2.95.3/gcc'
  make: *** [all-gcc] Error 2
  </code></pre>
  
  <p>It seems that no matter what I do it always errors out with one error or another. This is as close as I've been (I assume, since this is the longest the compilation ever ran without stopping).</p>
  
  <p>I am not an expert with configure or make, or with older software. I was only doing web-related stuff for many years and I'm coming into this lower-level game late.</p>
  
  <p>Has anyone tried to do this recently and succeeded or know why this is happening?</p>
  
  <p>Thanks,
  Tom</p>