I am trying to install and run the program Dsuite. To do so, I had to install a newer version of gcc locally (as I do not have root/super user privileges.) I did this with the following commands.
cd /scratch/wdavis/Tools/source/gcc-4.9.4/ ./contrib/download_prerequisites cd /scratch/wdavis/Tools/gcc/ /scratch/wdavis/Tools/source/gcc-4.9.4/configure --prefix /scratch/wdavis/Tools/local/ --disable-multilib make bootstrap-lean make install
Everything seemed to work. Then I started on DSuite.
git clone https://github.com/millanek/Dsuite.git cd Dsuite/ cd utils/ python3 setup.py install --user --prefix= cd ../
I had to edit the Makefile to tell it where to find the correct version of g++ (
/scratch/wdavis/Tools/local/bin/g++). Then I called
make. Everything seemed to work. However, DSuite gave the following error:
Dsuite: /lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by Dsuite)`
export LD_LIBRARY_PATH=/scratch/wdavis/Tools/local/lib64/ Let me run Dsuite. However,
make -L/scratch/wdavis/Tools/local/lib64/ did not work, i.e., Dsuite gave the same error after rebuilding it.
My questions then are:
How to build a program such that when it is run, the dynamic linker will look in the correct directory for the libraries?
What would happen if I run
export LD_LIBRARY_PATH=/scratch/wdavis/Tools/local/lib64/, set up Dsuite to run, and then go on to run other programs without resetting LD_LIBRARY_PATH?
How do I reset LD_LIBRARY_PATH?
Thanks in advance.