Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

several tools do not get installed (ubuntu with all dependencies) #171

Open
splaisan opened this issue May 24, 2018 · 5 comments
Open

several tools do not get installed (ubuntu with all dependencies) #171

splaisan opened this issue May 24, 2018 · 5 comments

Comments

@splaisan
Copy link

Although some installs worked, several others do not; It seems that something goes bad during de-archiving.

The Seqmule folder is owned by me and failed include both gz and bz2 archives

MISSING PROGRAMS

tabix MISSING
soapsnp MISSING
samtools MISSING
bwa MISSING
vcftools MISSING
freebayes MISSING
snap MISSING

As example the tabix alone install.

Thanks for help

/opt/biotools/SeqMule$ ./Build tabix
Fetching program URLs from server
 at ./Build line 98.
WARNING: combining -O with -r or -p will mean that all downloaded content
will be placed in the single file you specified.

--2018-05-24 15:59:17--  http://www.openbioinformatics.org/seqmule/exe_locations
Resolving www.openbioinformatics.org (www.openbioinformatics.org)... 128.125.249.162
Connecting to www.openbioinformatics.org (www.openbioinformatics.org)|128.125.249.162|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1357 (1.3K)
Saving to: ‘exe_locations’

exe_locations                                     100%[=============================================================================================================>]   1.33K  --.-KB/s    in 0s      

2018-05-24 15:59:18 (186 MB/s) - ‘exe_locations’ saved [1357/1357]

FINISHED --2018-05-24 15:59:18--
Total wall clock time: 0.3s
Downloaded: 1 files, 1.3K in 0s (186 MB/s)
NOTICE: Reading program URLs...
 at ./Build line 98.
Removing /opt/biotools/SeqMule/exe/tabix.tar.bz2
Downloading tabix...
WARNING: combining -O with -r or -p will mean that all downloaded content
will be placed in the single file you specified.

--2018-05-24 15:59:18--  http://www.openbioinformatics.org/seqmule/exe/tabix-0.2.6.tar.bz2
Resolving www.openbioinformatics.org (www.openbioinformatics.org)... 128.125.249.162
Connecting to www.openbioinformatics.org (www.openbioinformatics.org)|128.125.249.162|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 54403 (53K) [application/x-bzip2]
Saving to: ‘/opt/biotools/SeqMule/exe/tabix.tar.bz2’

/opt/biotools/SeqMule/exe/tabix.tar.bz2           100%[=============================================================================================================>]  53.13K   124KB/s    in 0.4s    

2018-05-24 15:59:18 (124 KB/s) - ‘/opt/biotools/SeqMule/exe/tabix.tar.bz2’ saved [54403/54403]

FINISHED --2018-05-24 15:59:18--
Total wall clock time: 0.7s
Downloaded: 1 files, 53K in 0.4s (124 KB/s)
Unpacking tabix archive...
tar: users: Not found in archive
tar: Exiting with failure status due to previous errors
Unpacking /opt/biotools/SeqMule/exe/tabix.tar.bz2 failed.
Undefined subroutine &SeqMule::Install::rm_existing called at /opt/biotools/SeqMule/lib/SeqMule/Install.pm line 171, <IN> line 20.
@yunfeiguo
Copy link
Collaborator

yunfeiguo commented May 25, 2018

Hi can you try downloading tabix from http://www.openbioinformatics.org/seqmule/exe/tabix-0.2.6.tar.bz2 and then unpack it manually? Otherwise the program works fine in my environment. Thanks.

@splaisan
Copy link
Author

splaisan commented May 25, 2018

Thanks Yunfei,

This was only one example, I have several other programs not installed.

MISSING PROGRAMS

tabix MISSING
soapsnp MISSING
samtools MISSING
bwa MISSING
vcftools MISSING
freebayes MISSING
snap MISSING

About tabix, the tabix.tar.bz2 got downloaded but the expansion and build failed due to some dependency issue.

first error message above is

tar: users: Not found in archive

which does not help me much to identify the issue !!

I de-archived tabix.tar.bz2 manually I obtained a tabix-0.2.6 folder
I entered it and ran build to get the bgzip and tabix executables
Is doing these two steps enough or do I need to have in exe a 'tabix' folder with in it the 'tabix' and 'bgzip' executable ?

When I understand the method, I can repeat it for the other failed programs.

Thanks

@yunfeiguo
Copy link
Collaborator

Yes, you can put the compiled tabix into exe folder. No specific directory structure is needed.

@rokyo401
Copy link

rokyo401 commented Jan 4, 2019

I have the same problem on two different machines (both run Ubuntu 18.04.1 LTS with latest all dependencies installed). Five tools do not get installed:

==============================================================================

!!!WARNING!!!: MISSING PREREQUISITES
SeqMule Version: 1.2.6
==============================================================================
==============================================================================



MISSING PROGRAMS

soapsnp                 MISSING
vcftools                MISSING
snap                    MISSING
gatk                    MISSING
freebayes               MISSING


Important commands:
        ./Build freshinstall    #(re)install all external programs (Recommended)
        ./Build installexes     #installs only missing external programs
        ./Build status          #Shows this status message

        ./Build debug      #run an option under debugging mode (only works for individual programs)

Other Commands:
        ./Build fastqc          #installs FastQC (for quality control)
        ./Build bowtie          #installs Bowtie (for read alignment)
        ./Build bwa             #installs BWA (for read alignment)
        ./Build bowtie2         #installs Bowtie 2
        ./Build soap            #installs SOAPaligner
        ./Build samtools        #installs SAMtools
        ./Build gatklite        #installs GATKLite 
        ./Build gatk            #instruction for GATK setup
        ./Build varscan         #installs VarScan  (variant calling)
        ./Build picard          #installs Picard tools
        ./Build soapsnp         #installs SOAPsnp tools
        ./Build tabix           #installs tabix
        ./Build snap            #installs SNAP
        ./Build freebayes       #installs freebayes
        ./Build vcftools        #installs vcftools
        ./Build vt              #installs Vt
WARNING: Alternatively, you can copy and paste the tools you have outside of SeqMule
WARNING: into the exe/ folder to skip installation. However, no guarantee to work.

With GATK it's clear, because that is proprietary but the other four should install correctly, right?

If I try to 'manually' install these four tools with the individual commands (./Build freebayes, etc), I get these errors:


For Freebayes:

/home/user/SeqMule/exe/freebayes/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘void BamTools::ResolveTool::ResolveToolPrivate::ParseHeader(const BamTools::SamHeader&)’:
/home/user/SeqMule/exe/freebayes/bamtools/src/toolkit/bamtools_resolve.cpp:1051:93: error: no matching function for call to ‘make_pair(const string&, ReadGroupResolver)’
         m_readGroups.insert( make_pair(rg.ID, ReadGroupResolver()) );
                                                                                             ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from /home/user/SeqMule/exe/freebayes/bamtools/src/toolkit/bamtools_tool.h:14,
                 from /home/user/SeqMule/exe/freebayes/bamtools/src/toolkit/bamtools_resolve.h:13,
                 from /home/user/SeqMule/exe/freebayes/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/7/bits/stl_pair.h:519:5: note: candidate: template constexpr std::pair::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
     make_pair(_T1&& __x, _T2&& __y)
     ^~~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:519:5: note:   template argument deduction/substitution failed:
/home/user/SeqMule/exe/freebayes/bamtools/src/toolkit/bamtools_resolve.cpp:1051:70: note:   cannot convert ‘rg.BamTools::SamReadGroup::ID’ (type ‘const string {aka const std::__cxx11::basic_string}’) to type ‘std::__cxx11::basic_string&&’
         m_readGroups.insert( make_pair(rg.ID, ReadGroupResolver()) );
                                                                   ~~~^~
src/toolkit/CMakeFiles/bamtools_cmd.dir/build.make:254: recipe for target 'src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o' failed
make[4]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o] Error 1
make[4]: Leaving directory '/home/user/SeqMule/exe/freebayes/bamtools/build'
CMakeFiles/Makefile2:520: recipe for target 'src/toolkit/CMakeFiles/bamtools_cmd.dir/all' failed
make[3]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/all] Error 2
make[3]: Leaving directory '/home/user/SeqMule/exe/freebayes/bamtools/build'
Makefile:129: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/user/SeqMule/exe/freebayes/bamtools/build'
Makefile:39: recipe for target '../bamtools/lib/libbamtools.a' failed
make[1]: *** [../bamtools/lib/libbamtools.a] Error 2
make[1]: Leaving directory '/home/user/SeqMule/exe/freebayes/src'
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 2
!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Failed to make freebayes

For Snap:

/usr/include/c++/7/bits/stl_algobase.h:479:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_map.h:63:0,
                 from /usr/include/c++/7/map:61,
                 from SNAPLib/Util.h:3,
                 from SNAPLib/VariableSizeVector.h:3,
                 from SNAPLib/VariableSizeMap.h:5,
                 from SNAPLib/DataReader.h:26,
                 from SNAPLib/Read.h:30,
                 from SNAPLib/ReadWriter.cpp:22:
/usr/include/c++/7/tuple:1235:52: note:   candidate expects 3 arguments, 0 provided
    static_cast<_Inherited&>(*this) = std::move(__in);
                                                    ^
/usr/include/c++/7/tuple: In member function ‘std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(const std::pair<_U1, _U2>&)’:
/usr/include/c++/7/tuple:1243:31: error: expected primary-expression before ‘.’ token
    this->_M_head(*this) = __in.first;
                               ^
/usr/include/c++/7/tuple:1244:46: error: expected primary-expression before ‘.’ token
    this->_M_tail(*this)._M_head(*this) = __in.second;
                                              ^
/usr/include/c++/7/tuple: In member function ‘std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(std::pair<_U1, _U2>&&)’:
/usr/include/c++/7/tuple:1252:49: error: expected primary-expression before ‘.’ token
    this->_M_head(*this) = std::forward<_U1>(__in.first);
                                                 ^
/usr/include/c++/7/tuple:1253:64: error: expected primary-expression before ‘.’ token
    this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
                                                                ^
: recipe for target 'SNAPLib/ReadWriter.o' failed
make: *** [SNAPLib/ReadWriter.o] Error 1
!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Failed to make snap

For vcfTools:

g++ -c -O2 -D_FILE_OFFSET_BITS=64  entry.cpp -o entry.o
entry.cpp: In member function ‘void entry::make_typed_float_vector(std::vector&, const string&, int)’:
entry.cpp:594:43: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  char missing[4] = {0x01, 0x00, 0x80, 0x7F};
                                           ^
entry.cpp:595:39: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  char end[4] = {0x02, 0x00, 0x80, 0x7F};
                                       ^
entry.cpp: In member function ‘void entry::make_typed_float_vector(std::vector&, const std::vector >&, int)’:
entry.cpp:657:43: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  char missing[4] = {0x01, 0x00, 0x80, 0x7F};
                                           ^
entry.cpp:658:39: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  char end[4] = {0x02, 0x00, 0x80, 0x7F};
                                       ^
entry.cpp: In member function ‘bool entry::check_missing(unsigned int, unsigned int, const std::vector&)’:
entry.cpp:872:56: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  static char missing_float[4] = {0x01, 0x00, 0x80, 0x7F};
                                                        ^
entry.cpp:874:43: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  static char missing_int2[2] = {0x00, 0x80};
                                           ^
entry.cpp:875:55: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  static char missing_int3[4] = {0x00, 0x00, 0x00, 0x80};
                                                       ^
entry.cpp: In member function ‘bool entry::check_end(unsigned int, unsigned int, const std::vector&)’:
entry.cpp:931:52: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  static char end_float[4] = {0x02, 0x00, 0x80, 0x7F};
                                                    ^
entry.cpp:933:39: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  static char end_int2[2] = {0x01, 0x80};
                                       ^
entry.cpp:934:51: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  static char end_int3[4] = {0x01, 0x00, 0x00, 0x80};
                                                   ^
Makefile:50: recipe for target 'entry.o' failed
make[1]: *** [entry.o] Error 1
make[1]: Leaving directory '/home/user/SeqMule/exe/vcftools/cpp'
/bin/sh: 3: cd: can't cd to perl
Makefile:28: recipe for target 'install' failed
make: *** [install] Error 2
!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Failed to make vcftools

I have no idea about programming and stuff but this sounds like some kind of compiler error because missing dependencies or something? Any ideas? ^^

EDIT:
Why do my 'insert code' parts look weird if I use the 'insert code' button but alright if I manually put them in < pre > CODE < / pre >?

@rokyo401
Copy link

rokyo401 commented Jan 8, 2019

Ok, I have tried to manually install the missing tools (i.e. tried compiling the original source codes) and was able to install Freebayes, VCFTools, SNAP and SOAPsnp after some fiddling:

Freebayes:
Compiling freebayes from source resulted in the same error as above and according to this post (pezmaster31/bamtools#148 (comment)) the cause is incompatibility between the packaged bamtools (that is provided in the http://www.openbioinformatics.org/seqmule/exe/freebayes_0.9.14.tar.gz) with C++11 (which is bundled in my Ubuntu 18.04). To solve this, I downloaded the latest .zip of bamtools from GitHub and extracted that into the 'bamtools' subfolder in the freebayes directory and ran 'make' again: works! :)

SOAPsnp:
Compiling SOAPsnp from source resulted in a dependency error that is fixed with

sudo apt-get install libboost-all-dev
on Ubuntu 18.04.

VCFTools:
Compiling throws a compiler error in 'entry.cpp' because of 'narrowing conversion' of a variable. To solve this, cd into the 'cpp' directory inside the directory where you extracted the VCFTools-tarball and run

g++ -Wno-narrowing -c -O2 -D_FILE_OFFSET_BITS=64  entry.cpp -o entry.o

The important part being

-Wno-narrowing
. Then go back to the VCFTools directory (i.e. do a 'cd ..' from the cpp directory) and run 'make' again.
Next, it will throw a few
error: no matching function for call to ‘make_pair<std::__cxx11::string, int>(std::__cxx11::string&, int&)
errors in the 'variant_file_diff.cpp' file that can be 'fixed' by going to the 'cpp' subdirectory again and running

g++ -std=c++98 -c -O2 -D_FILE_OFFSET_BITS=64  variant_file_diff.cpp -o variant_file_diff.o

and thereby using the 1998 standard of C++, which does not throw these errors! Afterwards, go back to the VCFTools directory (cd ..) and run 'make' a final time, should compile now.

SNAP:
SNAP compiles correctly if you use

-std=c++98
for 'make'.

(just in case anyone ever has this error again and finds this post) ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants