epruesse / SINA

SINA - Reference based multiple sequence alignment
https://sina.readthedocs.io
GNU General Public License v3.0
40 stars 4 forks source link

Installing SINA from source on ubuntu 18.04 #48

Closed KasperSkytte closed 5 years ago

KasperSkytte commented 5 years ago

Hi!

I have succesfully installed SINA 1.4.0 through conda, but I would like to install SINA from the github source tree to get the newest development version, but I get the error below during ./configure. I have followed the instructions on the wiki and installed ARB6 with apt install arb arb-common arb-doc libarb libarb-dev and also all libboost packages, so I don't understand why these are not found. I can see that for example libARBDB is already in /usr/lib/arb/lib/libARBDB.so, so why can't it be found?

configure: error: Required libraries found missing:  
  ARB libraries (libARBDB)
  ARB PROBE library (PROBE_COM/client.a)
  ARB HELIX library (SL/HELIX/HELIX.a)

Thanks in advance Kasper

epruesse commented 5 years ago

Did you point configure to the right place with --with-arbhome=/usr/lib/arb? Attach the config.log to this ticket - I can have a look at why it didn't find it.

KasperSkytte commented 5 years ago

Hi again

Thank you. I would appreciate that. As far as I understand, /usr/lib/arb is the standard path to arb. Using ./configure --with-arbhome=/usr/lib/arb results in the same error.

config.log

epruesse commented 5 years ago
configure:18646: checking arbdb.h presence
configure:18646: g++ -E  -DNDEBUG -I/usr/lib/arb/INCLUDE -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include conftest.cpp
conftest.cpp:30:10: fatal error: arbdb.h: No such file or directory
 #include <arbdb.h>

This is the relevant part. Looks like I've never tried to build SINA using the libarb-dev Debian package. SINA expects the include files in $ARBHOME/INCLUDE and the libs in $ARBHOME/lib, which is the case when building ARB yourself as well as for the arb-bio-devel package in Bioconda. I'll see whether I can fix this.

epruesse commented 5 years ago

Ok, I've fixed that part in the latest dev, but the Debian libarb-dev package is broken. The static libraries do not contain any symbols. My best guess is that they got striped accidentally. Without symbols they are useless though, and without PROBE_COM/client.a I can't connect to the PT server.

You'd have to build ARB from source yourself.

If you decide to use arb-bio-devel from Bioconda to build SINA locally, have a look at the Travis or CircleCI configs in the repo. Make sure you install gcc via conda though. The gcc7 that you've likely got on your system doesn't play well with the Bioconda binaries compiled with gcc4.8.

KasperSkytte commented 5 years ago

Thanks. I give up on compiling ARB, I guess Ubuntu 18.10 is too new. I tried that described at http://bugs.arb-home.de/wiki/building-arb-from-svn and http://bugs.arb-home.de/browser/branches/stable/arb_INSTALL.txt and the arb_INSTALL.txt file in the source directory:

first install dependencies as described in arb_UBUNTU.txt, some of them doesn't exist anymore or have been upgraded, I installed the newest:

sudo apt install subversion gnuplot gv libmotif-dev xfig xterm g++ libxpm-dev libtiff5-dev libx11-dev libxaw7-dev libxext-dev libxml2-utils libxpm-dev libxt-dev lynx time xsltproc xutils-dev make

attempt 1

svn co http://vc.arb-home.de/readonly/trunk arb_svn
cd arb_svn
export ARBHOME=$PWD
export PATH=$ARBHOME/bin:$PATH
make all
make all -j30

Errors, with output of make: make_output.txt. ARBDB fails and the remaining possibly due to this.

attempt 2

sudo SH/arb_installubuntu4arb.sh compile which results in:

Ubuntu for ARB installer
Packages needed for 'compile': 25
-------------------- [apt start]
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'fig2dev' instead of 'transfig'
E: Unable to locate package x11proto-print-dev
-------------------- [apt end]

fig2dev is selected instead of transfig, but unfortunately x11proto-print-dev doesn't exist in ubuntu 18.10, but it does in 18.04. I guess this is a dead end...

attempt 3

Downloading source tarball from http://download.arb-home.de/special/manual-builds/2018_10_19/ and the arb_install.sh script:

wget http://download.arb-home.de/special/manual-builds/2018_10_19/arb-r17491-source.tgz
wget http://download.arb-home.de/special/manual-builds/2018_10_19/arb_install.sh
chmod +x arb_install.sh
sudo ./arb_install.sh

using /usr/lib/arb as installation path, errors with:

********************************* ERROR ***********************
arb_install.sh: bin/arb_ntree not found
***************************** END OF ERROR ********************
Please fix and then rerun script !!!

comments

I tried the 3 attemps with different sources too, from SVN stable branch, 6.0.6 tarball from http://download.arb-home.de/release/latest/, and a few of those in http://download.arb-home.de/special/manual-builds/, all with the same error.

epruesse commented 5 years ago

I can probably help you make that work if you need it. I'm building on Ubuntu 18.04 just fine. ARB can be finicky though, and I believe there was one dependency missing in the list. Also, you may have to set LD_LIBRARY_PATH=$ARBHOME/lib.

Why were you trying to compile SINA from source in the first place, actually?

If it's about performance - my tests show no significant difference building with -O3 or -ftree-vectorize or -march=native.

If you want to contribute to SINA, I'd suggest just peeking at the CircleCI config here and using that. The Bioconda ARB packages have working static libraries, so you won't have to mess with ARB.