Open amayer21 opened 5 years ago
Did you install htslib in sibling directory?
Hyun.
On Mon, Jan 28, 2019 at 8:31 AM Alice Mayer notifications@github.com wrote:
Hello,
We are trying to install demuxlet on a server at work so that several people could access it, but we have error messages we don't understand and I was wondering if you could help us. We tried on 2 different server and had different error messages. Server 1:
Server (1) works with modules that people need to load to use them. htslib was already installed on it. We put demuxlet in the same folder as htslib: /cm/shared/apps/htslib/1.9 that now contains - amongst others - a directory called demuxlet and another one called htslib. We installed demuxlet there but the make command gave the following error message:
root@genetic.master01 /cm/shared/apps/htslib/1.9/demuxlet # make make all-am make[1]: Entering directory `/cm/shared/apps/htslib/1.9/demuxlet' g++ -DHAVE_CONFIG_H -I. -I ../htslib/ -I ../../htslib/htslib -pipe -DSTDC_LIMIT_MACROS -Wall -Wno-unused-local-typedefs -Wno-enum-compare -fpic -O2 -g -O2 -MT Error.o -MD -MP -MF .deps/Error.Tpo -c -o Error.o Error.cpp mv -f .deps/Error.Tpo .deps/Error.Po g++ -DHAVE_CONFIG_H -I. -I ../htslib/ -I ../../htslib/htslib -pipe -DSTDC_LIMIT_MACROS -Wall -Wno-unused-local-typedefs -Wno-enum-compare -fpic -O2 -g -O2 -MT PhredHelper.o -MD -MP -MF .deps/PhredHelper.Tpo -c -o PhredHelper.o PhredHelper.cpp mv -f .deps/PhredHelper.Tpo .deps/PhredHelper.Po g++ -DHAVE_CONFIG_H -I. -I ../htslib/ -I ../../htslib/htslib -pipe -DSTDC_LIMIT_MACROS -Wall -Wno-unused-local-typedefs -Wno-enum-compare -fpic -O2 -g -O2 -MT params.o -MD -MP -MF .deps/params.Tpo -c -o params.o params.cpp mv -f .deps/params.Tpo .deps/params.Po g++ -DHAVE_CONFIG_H -I. -I ../htslib/ -I ../../htslib/htslib -pipe -DSTDC_LIMIT_MACROS -Wall -Wno-unused-local-typedefs -Wno-enum-compare -fpic -O2 -g -O2 -MT hts_utils.o -MD -MP -MF .deps/hts_utils.Tpo -c -o hts_utils.o hts_utils.cpp In file included from hts_utils.cpp:24:0: hts_utils.h:40:25: fatal error: htslib/kseq.h: No such file or directory
include "htslib/kseq.h"
^
compilation terminated. make[1]: [hts_utils.o] Error 1 make[1]: Leaving directory `/cm/shared/apps/htslib/1.9/demuxlet' make: [all] Error 2
It seems that it didn't find htslib/kseq.h but if I type u230707@genetic.master01 /cm/shared/apps/htslib/1.9/demuxlet $ ll ../htslib/, it's there:
total 281 -rw-r--r-x 1 root root 14797 Sep 19 13:09 bgzf.h -rw-r--r-x 1 root root 15393 Sep 19 13:09 cram.h -rw-r--r-x 1 root root 8972 Sep 19 13:09 faidx.h -rw-r--r-x 1 root root 10077 Sep 19 13:09 hfile.h -rw-r--r-x 1 root root 3336 Sep 19 13:09 hts_defs.h -rw-r--r-x 1 root root 11446 Sep 19 13:09 hts_endian.h -rw-r--r-x 1 root root 30459 Sep 19 13:09 hts.h -rw-r--r-x 1 root root 3898 Sep 19 13:09 hts_log.h -rw-r--r-x 1 root root 1996 Sep 19 13:09 hts_os.h -rw-r--r-x 1 root root 4195 Sep 19 13:09 kbitset.h -rw-r--r-x 1 root root 2716 Sep 19 13:09 kfunc.h -rw-r--r-x 1 root root 21540 Sep 19 13:09 khash.h -rw-r--r-x 1 root root 3990 Sep 19 13:09 khash_str2int.h -rw-r--r-x 1 root root 5086 Sep 19 13:09 klist.h -rw-r--r-x 1 root root 2850 Sep 19 13:09 knetfile.h -rw-r--r-x 1 root root 9139 Sep 19 13:09 kseq.h -rw-r--r-x 1 root root 10567 Sep 19 13:09 ksort.h -rw-r--r-x 1 root root 7012 Sep 19 13:09 kstring.h -rw-r--r-x 1 root root 5834 Sep 19 13:09 regidx.h -rw-r--r-x 1 root root 29580 Sep 19 13:09 sam.h -rw-r--r-x 1 root root 14954 Sep 19 13:09 synced_bcf_reader.h -rw-r--r-x 1 root root 3118 Sep 19 13:09 tbx.h -rw-r--r-x 1 root root 9386 Sep 19 13:09 thread_pool.h -rw-r--r-x 1 root root 43671 Sep 19 13:09 vcf.h -rw-r--r-x 1 root root 1602 Sep 19 13:09 vcf_sweep.h -rw-r--r-x 1 root root 4819 Sep 19 13:09 vcfutils.h
Is-there anything we are doing wrong? Is the demuxlet forlder at the right place? Does it need to be in the folder /cm/shared/apps/htslib/1.9 or /cm/shared/apps/htslib/ (but that folder contains 2 versions of htslib)? Could that be the problem or is there something else? Server 2
Server (2) runs on Debian, 9.6 (stretch). That server doesn't work with modules that people need to load and htslib wasn't installed on it. Therefore we installed the last version of htslib then demuxlet in the same folder.
In this case, the error message is different:
root@compute-1-16:/home/alemp/dev/demuxlet# make make all-am make[1]: Entering directory '/home/alemp/dev/demuxlet' /bin/bash ./libtool --tag=CXX --mode=link g++ -g -O2 -o demuxlet Error.o PhredHelper.o params.o hts_utils.o bcf_ordered_reader.o interval.o interval_tree.o utils.o genome_interval.o reference_sequence.o bcf_chunked_reader.o genomeChunk.o sam_filtered_reader.o sc_drop_seq.o bcf_filtered_reader.o filter.o tsv_reader.o cmd_cram_demuxlet.o ../htslib/libhts.a -lpthread -llzma -lz -lbz2 -lgomp -lcurl -lcrypto -lz libtool: link: g++ -g -O2 -o demuxlet Error.o PhredHelper.o params.o hts_utils.o bcf_ordered_reader.o interval.o interval_tree.o utils.o genome_interval.o reference_sequence.o bcf_chunked_reader.o genomeChunk.o sam_filtered_reader.o sc_drop_seq.o bcf_filtered_reader.o filter.o tsv_reader.o cmd_cram_demuxlet.o ../htslib/libhts.a -lpthread -llzma -lbz2 -lgomp -lcurl -lcrypto -lz /usr/bin/ld: cannot find -lcurl /usr/bin/ld: cannot find -lcrypto collect2: error: ld returned 1 exit status Makefile:462: recipe for target 'demuxlet' failed make[1]: [demuxlet] Error 1 make[1]: Leaving directory '/home/alemp/dev/demuxlet' Makefile:359: recipe for target 'all' failed make: [all] Error 2
It doesn't seem to find lcurl but when we look for it, it's there:
root@compute-1-16:/usr# find . -name 'libcur*' ./share/lintian/overrides/libcurl3 ./share/lintian/overrides/libcurl3-gnutls ./share/doc/libcurl3 ./share/doc/libcurl3-gnutls ./lib/x86_64-linux-gnu/libcurl.so.3 ./lib/x86_64-linux-gnu/libcurl.so.4.4.0 ./lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0 ./lib/x86_64-linux-gnu/libcurl.so.4 ./lib/x86_64-linux-gnu/libcurl-gnutls.so.3 ./lib/x86_64-linux-gnu/libcurl-gnutls.so.4
Could you help us with this? It would be great to be able to run demuxlet on one of these server!
Thank you very much!
Best wishes,
Alice
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/statgen/demuxlet/issues/33, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-Oub6cXWDLVRfkdvmpZj5jGF-NhWKdks5vHvucgaJpZM4aV63R .
What do you mean by "sibling directory"?
On server(1), I have a directory "htslib" that contains 2 subdirectories: one with version 1.3.2
and the other one with version 1.9
. The folder 1.9
contains several files and directories including a directory htslib
that I have listed above. On that server we put the demuxlet
folder in the 1.9
folder. Not sure that's what you call sibling... The problem of putting it in the parent folder is that it contains 2 versions of htslib.
On server(2), we have a dev
folder that contains htslib
and demuxlet
. That htslib folder contains several files and folders, including a subfolder also called htslib
Thanks
Alice
Currently it assumes that $(DIR)/htslib $(DIR)/demuxlet co-exist when compiling. I know this is not ideal, but if you could make your directory structure this way, I believe that the warning message will not appear. We are in the process of changing this in the next update.
Thanks, Hyun.
On Mon, Jan 28, 2019 at 8:55 AM Alice Mayer notifications@github.com wrote:
What do you mean by "sibling directory"?
On server(1), I have a directory "htslib" that contains 2 subdirectories: one with version 1.3.2 and the other one with version 1.9. The folder 1.9 contains several files and directories including a directory htslib that I have listed above. On that server we put the demuxlet folder in the 1.9 folder. Not sure that's what you call sibling... The problem of putting it in the parent folder is that it contains 2 versions of htslib.
On server(2), we have a dev folder that contains htslib and demuxlet. That htslib folder contains several files and folders, including a subfolder also called htslib
Thanks
Alice
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/statgen/demuxlet/issues/33#issuecomment-458140712, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-OuaymlrirgpFGomjk-X2Hgmi51PrPks5vHwFBgaJpZM4aV63R .
It's definitively the case on server(2), $(DIR)/htslib et $(DIR)/demuxlet coexist and still I have an error message
I mean that at least on the server(2), htslib and demuxlet were sibling and still we had the following error message (same as above in server 2
section):
root@compute-1-16:/home/alemp/dev/demuxlet# make
make all-am
make[1]: Entering directory '/home/alemp/dev/demuxlet'
/bin/bash ./libtool --tag=CXX --mode=link g++ -g -O2 -o demuxlet Error.o PhredHelper.o params.o hts_utils.o bcf_ordered_reader.o interval.o interval_tree.o utils.o genome_interval.o reference_sequence.o bcf_chunked_reader.o genomeChunk.o sam_filtered_reader.o sc_drop_seq.o bcf_filtered_reader.o filter.o tsv_reader.o cmd_cram_demuxlet.o ../htslib/libhts.a -lpthread -llzma -lz -lbz2 -lgomp -lcurl -lcrypto -lz
libtool: link: g++ -g -O2 -o demuxlet Error.o PhredHelper.o params.o hts_utils.o bcf_ordered_reader.o interval.o interval_tree.o utils.o genome_interval.o reference_sequence.o bcf_chunked_reader.o genomeChunk.o sam_filtered_reader.o sc_drop_seq.o bcf_filtered_reader.o filter.o tsv_reader.o cmd_cram_demuxlet.o ../htslib/libhts.a -lpthread -llzma -lbz2 -lgomp -lcurl -lcrypto -lz
/usr/bin/ld: cannot find -lcurl
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
Makefile:462: recipe for target 'demuxlet' failed
make[1]: *** [demuxlet] Error 1
make[1]: Leaving directory '/home/alemp/dev/demuxlet'
Makefile:359: recipe for target 'all' failed
make: *** [all] Error 2
Thanks,
Alice
This message means that you do not have libcurl and libcrypto installed. You can install those packages or remove the dependency from Makefile.am
Hyun.
On Mon, Jan 28, 2019 at 9:34 AM Alice Mayer notifications@github.com wrote:
I mean that at least on the server(2), htslib and demuxlet were sibling and still we had the following error message (same as above in server 2 section):
root@compute-1-16:/home/alemp/dev/demuxlet# make make all-am make[1]: Entering directory '/home/alemp/dev/demuxlet' /bin/bash ./libtool --tag=CXX --mode=link g++ -g -O2 -o demuxlet Error.o PhredHelper.o params.o hts_utils.o bcf_ordered_reader.o interval.o interval_tree.o utils.o genome_interval.o reference_sequence.o bcf_chunked_reader.o genomeChunk.o sam_filtered_reader.o sc_drop_seq.o bcf_filtered_reader.o filter.o tsv_reader.o cmd_cram_demuxlet.o ../htslib/libhts.a -lpthread -llzma -lz -lbz2 -lgomp -lcurl -lcrypto -lz libtool: link: g++ -g -O2 -o demuxlet Error.o PhredHelper.o params.o hts_utils.o bcf_ordered_reader.o interval.o interval_tree.o utils.o genome_interval.o reference_sequence.o bcf_chunked_reader.o genomeChunk.o sam_filtered_reader.o sc_drop_seq.o bcf_filtered_reader.o filter.o tsv_reader.o cmd_cram_demuxlet.o ../htslib/libhts.a -lpthread -llzma -lbz2 -lgomp -lcurl -lcrypto -lz /usr/bin/ld: cannot find -lcurl /usr/bin/ld: cannot find -lcrypto collect2: error: ld returned 1 exit status Makefile:462: recipe for target 'demuxlet' failed make[1]: [demuxlet] Error 1 make[1]: Leaving directory '/home/alemp/dev/demuxlet' Makefile:359: recipe for target 'all' failed make: [all] Error 2
Thanks,
Alice
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/statgen/demuxlet/issues/33#issuecomment-458155012, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-Oud5OfffOktcZGZpfE1c5zlC4g23Pks5vHwqGgaJpZM4aV63R .
These libraries are already installed.
For example, -lcurl
is looking for the librairy libcur
. And when we look for it, it's there:
root@compute-1-16:/usr# find . -name 'libcur*'
./share/lintian/overrides/libcurl3
./share/lintian/overrides/libcurl3-gnutls
./share/doc/libcurl3
./share/doc/libcurl3-gnutls
./lib/x86_64-linux-gnu/libcurl.so.3
./lib/x86_64-linux-gnu/libcurl.so.4.4.0
./lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0
./lib/x86_64-linux-gnu/libcurl.so.4
./lib/x86_64-linux-gnu/libcurl-gnutls.so.3
./lib/x86_64-linux-gnu/libcurl-gnutls.so.4
We'll try removing the dependency from Makefile.am Will demuxlet work as well without these dependencies? Thank you very much Alice
In that case, I guess you can install those paths in your LD_LIBRARY_PATH. The message clearly says that those libraries could not be found from the current library path.
Hyun.
On Mon, Jan 28, 2019 at 9:59 AM Alice Mayer notifications@github.com wrote:
These libraries are already installed.
For example, -lcurl is looking for the librairy libcur. And when we look for it, it's there:
root@compute-1-16:/usr# find . -name 'libcur*' ./share/lintian/overrides/libcurl3 ./share/lintian/overrides/libcurl3-gnutls ./share/doc/libcurl3 ./share/doc/libcurl3-gnutls ./lib/x86_64-linux-gnu/libcurl.so.3 ./lib/x86_64-linux-gnu/libcurl.so.4.4.0 ./lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0 ./lib/x86_64-linux-gnu/libcurl.so.4 ./lib/x86_64-linux-gnu/libcurl-gnutls.so.3 ./lib/x86_64-linux-gnu/libcurl-gnutls.so.4
We'll try removing the dependency from Makefile.am Will demuxlet work as well without these dependencies? Thank you very much Alice
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/statgen/demuxlet/issues/33#issuecomment-458164465, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-OuQ1aHLMS66WzfolC4TCJPhgxN90Qks5vHxBjgaJpZM4aV63R .
OK, thanks. I sent the message to the person who can write in the server LD_LIBRARY_PATH. Then we'll try to install again, and we'll let you know how it went. Thank you very much
Hello, the problem is now solved. I'm writing the solution here in case somebody has the same problem and is looking through the GitHub issues to find a solution.
After your last message we were not really sure what to do and were about to come back to you. Luckilly I also tried to install a R package on the same server and had a similar error message that gave more detailed about the what to do on different platforms:
Package libcurl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcurl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libcurl' found
Using PKG_CFLAGS=
Using PKG_LIBS=-lcurl
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
* deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
* rpm: libcurl-devel (Fedora, CentOS, RHEL)
* csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘curl’
* removing ‘/home/mass/ifilesets/ULG/u230707/R/x86_64-pc-linux-gnu-library/3.3/curl’
Warning in install.packages :
installation of package ‘curl’ had non-zero exit status
We installed the right version of the library and then compiled demuxlet again and it worked.
For server(1), I guess the arborescence of the server won't allow to install demuxlet for now (the parent folder of htslib is called 1.9
and not htslib
, so despite beeing siblings, demuxlet can't find it. We are looking forward to the new update!
Thank you very much for your help and for developing this tool!!!!
All the best,
Alice
Hello,
We are trying to install demuxlet on a server at work so that several people could access it, but we have error messages we don't understand and I was wondering if you could help us. We tried on 2 different server and had different error messages.
Server 1:
Server (1) works with modules that people need to load to use them. htslib was already installed on it. We put demuxlet in the same folder as htslib:
/cm/shared/apps/htslib/1.9
that now contains - amongst others - a directory calleddemuxlet
and another one calledhtslib
. We installed demuxlet there but themake
command gave the following error message:It seems that it didn't find
htslib/kseq.h
but if I typeu230707@genetic.master01 /cm/shared/apps/htslib/1.9/demuxlet $ ll ../htslib/
, it's there:Is-there anything we are doing wrong? Is the demuxlet forlder at the right place? Does it need to be in the folder
/cm/shared/apps/htslib/1.9
or/cm/shared/apps/htslib/
(but that folder contains 2 versions of htslib)? Could that be the problem or is there something else?Server 2
Server (2) runs on Debian, 9.6 (stretch). That server doesn't work with
modules
that people need to load andhtslib
wasn't installed on it. Therefore we installed the last version of htslib then demuxlet in the same folder.In this case, the error message is different:
It doesn't seem to find
lcurl
but when we look for it, it's there:Could you help us with this? It would be great to be able to run demuxlet on one of these server!
Thank you very much!
Best wishes,
Alice