-1

I am trying to install RabbitQCPlus program on a server. (I ssh into the server. I do not have sudo permissions and cannot make changes to the root directory. We use conda env for all our installations.) I follow the following github page for installation: https://github.com/RabbitBio/RabbitQCPlus

After cloning the repository. I installed gcc v11.2.0 (RabbitQCPlus requires gcc 9.4 or newer) in my environment. When I try to use the make command make -j4 inside the directory, I get the following errors:

    The detected gcc version is 11.2.0 

Based on the detected gcc version and cpuflags, it was decided to use the avx2 instruction set to speed up the program

g++ -c src/options.cpp -o obj/options.o -DVec256 -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP -fconstexpr-ops-limit=99000100 -Wall -Wextra -Wno-terminate -Wno-class-memaccess -DNDUBUG -std=c++17 -I./ -I./common -I./include -I./include/huffman -march=native -I./dependencies/thrust-1.17.0 -g -O3 -w -fopenmp
g++ -c src/main_correct_cpu.cpp -o obj/main_correct_cpu.o -DVec256 -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP -fconstexpr-ops-limit=99000100 -Wall -Wextra -Wno-terminate -Wno-class-memaccess -DNDUBUG -std=c++17 -I./ -I./common -I./include -I./include/huffman -march=native -I./dependencies/thrust-1.17.0 -g -O3 -w -fopenmp
g++ -c src/correctionresultoutput.cpp -o obj/correctionresultoutput.o -DVec256 -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP -fconstexpr-ops-limit=99000100 -Wall -Wextra -Wno-terminate -Wno-class-memaccess -DNDUBUG -std=c++17 -I./ -I./common -I./include -I./include/huffman -march=native -I./dependencies/thrust-1.17.0 -g -O3 -w -fopenmp
g++ -c src/tgetopt.cpp -o obj/tgetopt.o -DVec256 -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP -fconstexpr-ops-limit=99000100 -Wall -Wextra -Wno-terminate -Wno-class-memaccess -DNDUBUG -std=c++17 -I./ -I./common -I./include -I./include/huffman -march=native -I./dependencies/thrust-1.17.0 -g -O3 -w -fopenmp
g++: error: unrecognized command line option ‘-fconstexpr-ops-limit=99000100’
g++: error: unrecognized command line option ‘-std=c++17’
make: *** [obj/options.o] Error 1
make: *** Waiting for unfinished jobs....
g++: error: unrecognized command line option ‘-fconstexpr-ops-limit=99000100’
g++: error: unrecognized command line option ‘-std=c++17’
make: *** [obj/main_correct_cpu.o] Error 1
g++: error: unrecognized command line option ‘-fconstexpr-ops-limit=99000100’
g++: error: unrecognized command line option ‘-std=c++17’
make: *** [obj/correctionresultoutput.o] Error 1
g++: error: unrecognized command line option ‘-fconstexpr-ops-limit=99000100’
g++: error: unrecognized command line option ‘-std=c++17’
make: *** [obj/tgetopt.o] Error 1
(integration) [agastyas@arbor RabbitQCPlus]$ gcc --version
gcc (Anaconda gcc) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I have googled the problem and find -std=c++17 in the error means an older version of gcc is being used to compile the program (here). To check my installed version on running gcc --version I get

cc (Anaconda gcc) 11.2.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Running rpm -q libstdc++-devel gives

libstdc++-devel-4.8.5-16.el7.x86_64

gcc 4.8 is the gcc installed in the system. I know this as running gcc --version outside conda env shows gcc 4.8 is installed. I am not familiar with linux at all as I am very new to this. What can I do to fix this issue? Please give your answers in steps I need to follow as I am not very familiar with the ins and outs of the system.

kabirium
  • 59
  • 1
  • 5
  • Unfortunately what you're asking about is a highly technical system administration task that even experienced system administrators find challenging, and figuring out this kind of issue requires in-depth examination and hands-on investigation of the underlying distribution configuration and its inner workings. You might find it easier to switch to a different Linux distribution that already comes with the current version of gcc, instead of gcc 4.8 which was written back when dinosaurs roamed the earth, preventing this issue from coming up in the first place by not needing to update gcc. – Sam Varshavchik Aug 01 '23 at 12:14
  • Somehow what you said is dissapointing and pleasing at the same time. Here's to hoping some "highly experienced system administrator" comes along.. – kabirium Aug 01 '23 at 12:18
  • 1
    "I installed gcc" Perhaps you installed it without the C++ compiler. In your environment, run `gcc -v` and `g++ -v`. – n. m. could be an AI Aug 01 '23 at 12:18
  • Damn, you're right. On running g++ -v i get gcc version 4.8.5. How do I install the updated compiler? – kabirium Aug 01 '23 at 12:20
  • You're probably looking for the `gcc-c++` package. – Sam Varshavchik Aug 01 '23 at 12:28

1 Answers1

1

Solved by @n.m. could be AI in the comments. I had installed gcc but not gxx. Fix was simple, just did

conda install -c anaconda gxx

and that installed the c++ compiler and fixed this issue. I ended up with another error but that's for another thread :P

kabirium
  • 59
  • 1
  • 5