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.