gcc cannot find cc1plus

17,603

Solution to my own question: It seems that cc1plus, although present, is not visible to gcc as it is not on path. So a solution is to link cc1plus to a directory on PATH:

sudo ln -s /usr/libexec/gcc/x86_64-redhat-linux/4.4.4/cc1plus /usr/local/bin/

Now sudo pip install pandas succeeds.

(But why the package manager put cc1plus there in the first place?)

Share:
17,603

Related videos on Youtube

dariober
Author by

dariober

Updated on September 20, 2022

Comments

  • dariober
    dariober over 1 year

    I'm trying to install the python package pandas on CentOS 6 but I'm having problems with the gcc compiler:

    sudo pip install pandas
    ...    
    creating build/temp.linux-x86_64-2.7/pandas/msgpack
    
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -D__LITTLE_ENDIAN__=1 -Ipandas/src/msgpack -Ipandas/src/klib -Ipandas/src -I/opt/rh/python27/root/usr/lib64/python2.7/site-packages/numpy/core/include -I/opt/rh/python27/root/usr/include/python2.7 -c pandas/msgpack/_packer.cpp -o build/temp.linux-x86_64-2.7/pandas/msgpack/_packer.o -Wno-unused-function
    
    gcc: error trying to exec 'cc1plus': execvp: No such file or directory
    
    error: command 'gcc' failed with exit status 1
    
    ----------------------------------------
    Cleaning up...
    ...
    

    So it appears I need cc1plus, which by reading around requires gcc-g++. But I already have gcc-c++:

    sudo yum install gcc-c++
    ...
    Package gcc-c++-4.4.7-16.el6.x86_64 already installed and latest version
    Nothing to do
    

    About gcc and cc1plus:

    gcc --version
    gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
    
    which gcc
    /opt/rh/devtoolset-2/root/usr/bin/gcc
    
    locate cc1plus
    /usr/libexec/gcc/x86_64-redhat-linux/4.4.4/cc1plus
    

    My own solution below. Does anybody have better ways of addressing the problem?

  • Sergio
    Sergio almost 6 years
    This helps in a pinch, sure. But one should look into whether or not they have multiple versions of gcc installed. This happened to me when gcc72 was added by Salt around midnight earlier today. I had a state file on my Jenkins instance with yum groupinstall Development Tools and gcc 7.2.1 happened to be added to the list of packages when Salt was set to run. A quick look under /usr/libexec/gcc/x86_64-amazon-linux/7 will show that cc1plus is not available with this version. Meanwhile, /usr/libexec/gcc/x86_64-amazon-linux/4.8.5 did, in fact, have cc1plus present.
  • westonplatter
    westonplatter almost 6 years
    @Sergio thank you for you comment. it saved my sanity.
  • ryeager
    ryeager over 3 years
    Yeah this isn't the cleanest way to fix this. Manually installing symlinks to binaries is asking for trouble in the future.