1

I am having trouble installing gcc. Given the information below, what am I doing wrong?

From $HOME/gcc on a Linux computer that I do not have root access to, I run the following:

$ wget http://mirrors.concertpass.com/gcc/releases/gcc-7.3.0/gcc-7.3.0.tar.gz
$ tar xvf gcc-7.3.0.tar.gz
$ cd gcc-7.3.0
$ ./contrib/download_prerequisites

gmp-6.1.0.tar.bz2: OK
mpfr-3.1.4.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.16.1.tar.bz2: OK
All prerequisites downloaded successfully.

$ cd ..
$ mkdir test
$ cd test
$ ../gcc-7.3.0/configure --prefix=$HOME/gcc/test --disable-multilib

only a few lines of output are shown here:

checking build system type... x86_64-pc-linux-gnu
...
# lots of checking for, where, whether ...
...
/home/clay.stevens/package/gcc/gcc-7.3.0/missing: line 81: makeinfo: command not found
...
# lots of checking for, where, whether ...
...
config.status: creating Makefile

Attempt to make:

$ make -j8

-j8 flag to use 8 cpus
only a few lines of output are shown here:

...
configure: WARNING:
*** Makeinfo is missing. Info documentation will not be built.
...
configure: WARNING: the "none" host is obsolete, use --disable-assembly
...
configure: summary of build options:

  Version:           GNU MP 6.1.0
  Host type:         none-pc-linux-gnu
  ABI:               standard
  Install prefix:    /home/user.name/gcc/test
  Compiler:          gcc -std=gnu99
  Static libraries:  yes
  Shared libraries:  no
...
...
config.status: executing default commands
make[2]: Leaving directory `/home/user.name/gcc/test'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/user.name/gcc/test'
make: *** [all] Error 2

Attempt to install:

$ make install

errors:

make[1]: Entering directory `/home/user.name/gcc/test'
/bin/sh ../gcc-7.3.0/mkinstalldirs /home/user.name/gcc/test /home/user.name/gcc/test
make[2]: Entering directory `/home/user.name/gcc/test/fixincludes'
make[2]: *** No rule to make target `install'.  Stop.
make[2]: Leaving directory `/home/user.name/gcc/test/fixincludes'
make[1]: *** [install-fixincludes] Error 2
make[1]: Leaving directory `/home/user.name/gcc/test'
make: *** [install] Error 2

System info:

$ cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (mockbuild@x86-039.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Wed Oct 19 11:24:13 EDT 2016

$ cat /etc/*release  
NAME="Red Hat Enterprise Linux Server"  
VERSION="7.3 (Maipo)"  
ID="rhel"  
ID_LIKE="fedora"  

$ lsb_release -a  
LSB Version: :core-4.1-amd64:core-4.1-noarch  
Distributor ID: RedHatEnterpriseServer  
Clay
  • 2,584
  • 1
  • 28
  • 63

1 Answers1

0

The makeinfo program (which creates GNU info files) is not a prerequisite like the items downloaded with download_prerequisites.

To install makeinfo, run

yum install texinfo
Jens
  • 69,818
  • 15
  • 125
  • 179
  • Thanks, but `You need to be root to perform this command.` Also, is that the reason it is not making? – Clay Mar 21 '18 at 19:20
  • downloaded `texinfo-6.5.tar.gz` ran `./configure --prefix=$HOME` then `make` Lots of apparently successful output, then errors: `Can't locate Data/Dumper.pm in @INC` (...) `at ../tp/Texinfo/Common.pm line 2427.` ... `BEGIN failed--compilation aborted at ../tp/Texinfo/Common.pm line 2427.` ... `Compilation failed` ... `--compilation aborted at ../tp/texi2any line 110.` ... `*** [texinfo.info] Error 2` ... `*** [info-stnd.info] Error 2` ... *** `[all-recursive] Error 1` ... `*** [all-recursive] Error 1` ... `*** [all] Error 2` – Clay Mar 21 '18 at 19:42
  • @Clay No, you don't have to be root to compile gcc. But to install any program into system directories (`/bin`, `/usr/bin`, `/usr/local/bin`) you need to be root. – Jens Mar 21 '18 at 20:03
  • 1
    @Clay Looks like your build uses a perl program requiring Data::Dumper. Install that as well as root; use `yum install perl-Data-Dumper`. Keep installing until everything works. Welcome to the world of twisty little dependencies :-) – Jens Mar 21 '18 at 20:08
  • thanks, but when I run `yum install texinfo` or `yum install perl-Data-Dumper` the system responds with `You need to be root to perform this command.` So it looks like my only option is to `wget`, `./configure --prefix=$HOME/somedir` and then `make` each dependency . – Clay Mar 21 '18 at 21:14
  • @Clay Installing tools as non-root opens a different can of worms. I suggest you ask the admin of the system to install what you need. – Jens Mar 21 '18 at 21:21