Closed Hannah1746 closed 2 years ago
Hi Hannah,
Seems like you don't have the GNU scientific library installed (GSL). Could you try the command below and seeing if this fixes the problem?
sudo apt install libgsl-dev
Let us know!
I tried that and I get:
(base) computerb@lab:~/Documents/apps/methpipe-4.1.1/build$ sudo apt install libgsl-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libgsl-dev is already the newest version (2.1+dfsg-2).
0 upgraded, 0 newly installed, 0 to remove and 43 not upgraded.
(base) computer@lab:~/Documents/apps/methpipe-4.1.1/build$ make make all-recursive make[1]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build' Making all in src/smithlab_cpp make[2]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' make all-am make[3]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' CXX GenomicRegion.lo CXX MappedRead.lo CXX OptionParser.lo CXX QualityScore.lo CXX bisulfite_utils.lo CXX chromosome_utils.lo CXX sim_utils.lo CXX smithlab_os.lo CXX smithlab_utils.lo CXX zlib_wrapper.lo CXX dna_four_bit.lo CXXLD libsmithlab_cpp.la make[3]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' make[2]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' make[2]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build' CXX src/common/BetaBin.o ../src/common/BetaBin.cpp:31:10: fatal error: gsl/gsl_sf_psi.h: No such file or directory
^~~~~~~~~~~~~~~~~~
compilation terminated. make[2]: [Makefile:1080: src/common/BetaBin.o] Error 1 make[2]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build' make[1]: [Makefile:1102: all-recursive] Error 1 make[1]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build' make: *** [Makefile:622: all] Error 2
hm...this means that either you are not looking for the libs/includes in the standard linux directories (i.e. /usr/include
and /usr/local/include
). Do you see a gsl
directory under either of these directories?
It may also be the case that you ran ../configure
and set up lib/include directories that were not updated once you reran make, so I would try a fresh rebuild of everything:
make clean
../configure
make
make install
Unrelated, I would also recommend you use methpipe 5.0.0 instead of the version you are using. Lots of improvements have been made in this version.
So gsl is in the /usr/include directory. I download the methpipe 5.0.0 and now I am having troubles running the ../configure. When I do I get this error: (base) lab@lab-VAA:~/Documents/apps/methpipe-5.0.0/build$ ../configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes /bin/bash: /home/lab/Documents/apps/methpipe-5.0.0/build/missing: No such file or directory configure: WARNING: 'missing' script is too old or missing checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether /home/lab/Documents/apps/anaconda3/bin/x86_64-conda_cos6-linux-gnu-c++ accepts -g... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of /home/lab/Documents/apps/anaconda3/bin/x86_64-conda_cos6-linux-gnu-c++... none checking whether /home/lab/Documents/apps/anaconda3/bin/x86_64-conda_cos6-linux-gnu-c++ supports C++11 features with -std=c++11... yes checking for ranlib... /home/lab/Documents/apps/anaconda3/bin/x86_64-conda_cos6-linux-gnu-ranlib checking for library containing hts_version... no configure: error: in `/home/lab/Documents/apps/methpipe-5.0.0/build': configure: error: Failed to locate HTSLib on your system. Please use the LDFLAGS and CPPFLAGS variables to specify the directories where the HTSLib library and headers can be found.
See `config.log' for more details
This tells us that if you have installed HTSLib
, then it has been installed in a non-standard location, relative to your compiler. I see anaconda3
among these messages. That's usually an indication that problems will arise eventually. But you should be able to overcome such issues (in the short run) by using he LDFLAGS
and CPPFLAGS
to indicate where HTSLib
has been installed.
maybe it can be as simple as
sudo apt install libhts-dev
I try the sudo apt install libhts-dev but then when I run ../configure I get the same error again. I am a little confused about the flags andrew suggested. Where would I be using these flags? when I run ../configure?
These are indicated below step 4 in the README.md
that I think is released with ver. 5.0.0. But the explanation is there on the front page of GitHub for methpipe. Let us know if you can't find it.
if your default library and include path are pointed to conda this may solve it
conda install -c bioconda htslib
I am having exactly same problems:
gsl/gsl_sf_psi.h: No such file or directory for version 4 (while gsl is installed)
and
Failed to locate HTSLib on your system. Please use the LDFLAGS and
CPPFLAGS variables to specify the directories where the HTSLib library
and headers can be found. (while I point to my htslib lib and header from my conda)
../configure CPPFLAGS='-I /home/moqri/anaconda3/pkgs/htslib-1.9-ha228f0b_7/include/htslib' LDFLAGS='-L/home/moqri/anaconda3/pkgs/htslib-1.9-ha228f0b_7/lib' --prefix=/home/moqri/methpipe5
Could you please check and help!
Hey moqri,
It seems that it is more a problem with htslib lib install than this program. Our lab is still working on trying to find out how to get it to install correctly. I will let you know when we have made any progress.
@moqri can you paste in your precise error message and on which steps? I see two error messages, but I'm not sure at which stage during the installation they appeared. @Hannah1746 I can try to help a bit more on this -- I might not be able to solve the problem, but we are now tied to htslib, so I'll try to help.
As there was no continuation on the thread, I will provide my error code, as I have exactly same problem. Here is the listing:
make all-recursive make[1]: Entering directory '/home/akermanov/Packages/methpipe-4.1.1' Making all in src/smithlab_cpp make[2]: Entering directory '/home/akermanov/Packages/methpipe-4.1.1/src/smithlab_cpp' make all-am make[3]: Entering directory '/home/akermanov/Packages/methpipe-4.1.1/src/smithlab_cpp' make[3]: Leaving directory '/home/akermanov/Packages/methpipe-4.1.1/src/smithlab_cpp' make[2]: Leaving directory '/home/akermanov/Packages/methpipe-4.1.1/src/smithlab_cpp' make[2]: Entering directory '/home/akermanov/Packages/methpipe-4.1.1' CXX src/common/BetaBin.o src/common/BetaBin.cpp:31:10: fatal error: gsl/gsl_sf_psi.h: No such file or directory
include <gsl/gsl_sf_psi.h>
^
~~~~~ compilation terminated. Makefile:1080: recipe for target 'src/common/BetaBin.o' failed make[2]: [src/common/BetaBin.o] Error 1 make[2]: Leaving directory '/home/akermanov/Packages/methpipe-4.1.1' Makefile:1102: recipe for target 'all-recursive' failed make[1]: [all-recursive] Error 1 make[1]: Leaving directory '/home/akermanov/Packages/methpipe-4.1.1' Makefile:622: recipe for target 'all' failed make: *** [all] Error 2
Thanks @andrewdavidsmith , I am getting the error when running the config command: -bash-4.2$ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for g++... g++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of g++... none checking whether g++ supports C++11 features with -std=c++11... yes checking for ranlib... ranlib checking for library containing hts_version... no configure: error: in `/labs/mpsnyder/moqri/z/soft/methpipe-5.0.0': configure: error: Failed to locate HTSLib on your system. Please use the LDFLAGS and CPPFLAGS variables to specify the directories where the HTSLib library and headers can be found.
Thanks to the personal communication with Dr. Smith, this issue is resolved for me
Dr. Smith: "I personally set things up without sudo. The issues are (1) HTSLib, and (2) GSL. Both of those can be installed by you, but GSL should be already installed, although some sys admins in science just don’t understand such things…
Installing GSL with a configure; make; make install
is relatively easy. Then after that’s done in your user space, I can help you make sure your methpipe build can see it. Similar for HTSLib, but that might be easier. It’s possible conda can take care of both of these, but I’m not entirely sure."
My config after following his advise:
../configure CPPFLAGS='-I/labs/mpsnyder/moqri/soft/htslib/inst/include -I/home/moqri/gsl/include' LDFLAGS='-L/labs/mpsnyder/moqri/soft/htslib/inst/lib -L/home/moqri/gsl/lib'
P.S. My team from Stanford Medicine sends their thanks and love to Smith Lab!
I am currently trying to install methpipe on to a ubuntu 16 computer that has both Zlib and HTSlib installed. When I try to make in the build directory I get this error: (base) computer@lab:~/Documents/apps/methpipe-4.1.1/build$ make make all-recursive make[1]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build' Making all in src/smithlab_cpp make[2]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' make all-am make[3]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' make[3]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' make[2]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build/src/smithlab_cpp' make[2]: Entering directory '/home/lab/Documents/apps/methpipe-4.1.1/build' CXX src/common/BetaBin.o ../src/common/BetaBin.cpp:31:10: fatal error: gsl/gsl_sf_psi.h: No such file or directory
include <gsl/gsl_sf_psi.h>
compilation terminated. make[2]: [Makefile:1080: src/common/BetaBin.o] Error 1 make[2]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build' make[1]: [Makefile:1102: all-recursive] Error 1 make[1]: Leaving directory '/home/lab/Documents/apps/methpipe-4.1.1/build' make: *** [Makefile:622: all] Error 2
I was hoping you could help me understand what is going wrong with the install.