Thursday, December 10, 2015

GCC on Tru64

Follow the instructions from Babak Salamat, here:

http://www.babaks.com/misc/compilegcc.html

Alternatively, before starting to download and install gcc, you need GMP and MPFR if you want to enable Fortran language.
If you don't need Fortran, you can skip the installation of GMP and MPFR.
To download and install GMP follow these steps:
  1. Download GMP from http://nthinking.net/vrak/gmp-4.2.1.tar.gz
  2. copy the file to /tmp and uncompress it there. Let's assume that the extracted files are in /tmp/gmp-4.2.1
  3. cd /tmp/gmp-4.2.1
  4. ./configure --prefix=$HOME/progs/gmp
  5. make
  6. make check
    Check the messages and make sure that no test failed.
  7. make install
Now you can download and install MPFR.
To do so follow these steps:
  1. Download MPFR from http://nthinking.net/vrak/mpfr-3.1.3.tar.gz
  2. copy the file to /tmp and uncompress it there. Let's assume that the extracted files are in /tmp/mpfr-3.1.3
  3. Check the website for any available patches and apply them if there is any
  4. Note: Use /usr/local/bin/patch to apply any existing patch.
  5. cd /tmp/mpfr-3-1.3
  6. LD_LIBRARY_PATH=$HOME/progs/gmp/lib:$LD_LIBRARY_PATH ./configure --prefix=$HOME/progs/mpfr --with-gmp=$HOME/progs/gmp
  7. gmake
  8. gmake check
  9. gmake install
You need libiconv in order to build gcc correctly. I tried a few different options like using --disable-nls to avoid installing libiconv, but none of them worked. Therefore, I decided to install libiconv too. To install libiconv follow these steps:
  1. Download libiconv from http://nthinking.net/vrak/libiconv-1.14.tar.gz
  2. copy the file to /tmp and uncompress it there. Let's assume that the extracted files are in /tmp/libiconv
  3. cd /tmp/libiconv
  4. ./configure --prefix=$HOME/progs/libiconv
  5. make
  6. make install
Now you are ready to build and install gcc:
  1. Download gcc from https://ftp.gnu.org/gnu/gcc/gcc-4.2.1/
  2. Uncompress the file under a directory in /tmp. Let's assume that the extracted files are in /tmp/gcc-4.2.1/
  3. Note: You should use gtar to untar the file, otherwise you will get some errors similar to this:
    tar: ././@LongLink : Unknown filetype
    You can get gtar from the Open Source Software Collection or here:
    http://nthinking.net/vrak/gtar-1.13-4.alpha.rpm

  4. Create another directory in /tmp. Let's call this directory gcc-build
  5. Note: If you are using HP TestDrive systems, it is important to use /tmp, because you don't have enough disk quota in your home directory to compile gcc.
  6. cd /tmp/gcc-build
  7. CC="gcc -Wa,-oldas" /tmp/gcc-4.2.1/configure --prefix=$HOME/gcc --enable-languages=c,c++,fortran --with-gmp=$HOME/progs/gmp --with-mpfr=$HOME/progs/mpfr --with-libiconv-prefix=$HOME/progs/libiconv
  8. If you don't need C++, omit it from --enable-languages. C++ takes a relatively large amount of disk space.
    If you don't need Fortran, use this command instead:
    CC="gcc -Wa,-oldas" /tmp/gcc-4.2.1/configure --prefix=$HOME/gcc --enable-languages=c,c++ --with-libiconv-prefix=$HOME/progs/libiconv
  9. LD_LIBRARY_PATH=$HOME/progs/gmp/lib:$LD_LIBRARY_PATH gmake bootstrap-lean
  10. Note: You should use GNU make (gmake) version 3.80 or higher to build gcc.
    You can get it from the Open Source Software Collection or here:
    http://nthinking.net/vrak/gmake-3.79.1-4.alpha.rpm
    This step takes a long time, usually a few hours!
    If you don't want to install Fortran simply use:
    gmake bootstrap-lean
  11. gmake install
  12. If tar complains that it failed to preserve ownership of files, you'll need to change the ownership of /tmp/gcc-build.
    Go to your home directory and run ls -l. In my case the problem was from group name. The group name of all the files in my home directory was nis while the group name of /tmp/gcc-build and all the files under the directory was system.
    So, I ran chown -hR MyUsername:nis /tmp/gcc-build then I removed $HOME/gcc and ran gmake install again.
At this point, you must have a working gcc installed in $HOME/gcc. You can set your paths to use the new version of the compiler set.

 Libraries have been installed in:
   /usr/users/gilemon/gcc/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.



Now it is time to remove the folders and files that you have created in /tmp.
In our example: /tmp/gcc-4.2.1, /tmp/gcc-build, /tmp/libiconv, /tmp/mpfr-3.1.3, /tmp/gmp-4.2.1

 If you want the compiled result for Tru64 5.1a, download it here:

http://nthinking.net/vrak/gcc.4.2.1.osf5.1a.tar

BTW, who is still working on Tru64?



 

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?