marbl/MashMap

Installation

jeffapderek opened this issue · 6 comments

Hello, noob on a steep learning curve here!
Not sure where to go next to compile the code for this?
I've installed:
autoconf and gcc8 (which has also installed gcc7 by default by the looks of it) using sudo apt
I've installed gsl-2.5 (in /usr/local/include/gsl/..) and zlib-1.2.11 (in /usr/local/include/zlib.h) using ./configure && make && sudo make install,
moved the source code into /usr/tmp and run ./bootstrap.sh, but this happens
:/tmp$ MashMap-2.0/bootstrap.sh
autoconf: error: no input file
Could I try the same with Boost? Any suggestion much appreciated, thanks.

You don't need boost if you have gsl installed. Can you try once more?; clone/download the code from github, go inside the project directory, and do ./bootstrap.sh?

Thanks. I've downloaded a fresh copy of the tar.gz source code and saved to /opt as project directory, but still nothing...

/opt/MashMap-2.0$ ./bootstrap.sh
autom4te: cannot open autom4te.cache/requests: Permission denied

and
/opt$ MashMap-2.0/bootstrap.sh
autoconf: error: no input file

had a look at the bootstrap.sh file and it's just one word 'autoconf'. Is that normal?

Looks like you are picking the wrong directory for installation, probably you need root privilege for write access to /opt directory. Can you try installing in your home directory?

I have rights so presumably that's OK
/opt/MashMap-2.0$ sudo sh bootstrap.sh
/opt/MashMap-2.0$ ./configure --with-gsl --enable-static-gsl
got as far as a producing a Makefile (which seems like it will install mashmap to /usr/local/... anyway)
but then
/opt/MashMap-2.0$ sudo make
results in this error:
g++ -O3 -DNDEBUG -std=c++11 -Wno-deprecated-declarations -Isrc -I yes/include -include src/common/memcpyLink.h -Wl,--wrap=memcpy src/map/mash_map.cpp -o mashmap yes/lib/libgsl.a yes/lib/libgslcblas.a -lstdc++ -lz -lm -lpthread
g++: error: yes/lib/libgsl.a: No such file or directory
g++: error: yes/lib/libgslcblas.a: No such file or directory
Makefile:19: recipe for target 'mashmap' failed
make: *** [mashmap] Error 1

If I follow g++ it leads, via symbolic links to g++-7, then x86_64-linux-gnu-g++-7
but it seems to be looking for the libgsl.* files, which are actually in /usr/local/lib
Hope this all makes sense.
Any ideas? Thanks again

Can you try ./configure --enable-static-gsl instead of ./configure --with-gsl --enable-static-gsl?
The --with-gsl option will require you to specify the path as well.

Seems to have worked. Most appreciated