Augustus icon indicating copy to clipboard operation
Augustus copied to clipboard

Cannot find multiple dependencies

Open FabianDK opened this issue 4 years ago • 9 comments

Hello,

Unfortunately I am getting errors during the installation when I type "make".

/usr/bin/ld: cannot find -llpsolve55 /usr/bin/ld: cannot find -lcolamd /usr/bin/ld: cannot find -lmysqlclient /usr/bin/ld: cannot find -lmysqlpp

I do not have this folder /usr/bin/ld.

Here is what I have done so far:

  1. Installed mysql++-3.2.5 to folder mysql++_install
  2. Downloaded lp_solve_5.5.2.5_dev_ux64
  3. Changed Augustus/src/Makefile: Line 30: INCLS += -I/nfs/research1/a/b/Programs/lp_solve_5.5.2.5_dev_ux64 Line 40:RUNTIME_LIBPATH = -Wl,-rpath=/nfs/research1/a/b/Programs/mysql++_install/lib Line 41: INCLS += -I/usr/include/mysql -I/nfs/research1/a/b/Programs/mysql++_install/include/mysql++

Then after "make", I get this:

mkdir -p bin cd src && make make[1]: Entering directory `/nfs/research1/a/b/Programs/Augustus/src' g++ -Wall -Wno-sign-compare -pedantic -g -ggdb -O3 -DZIPINPUT -std=c++11 -DCOMPGENEPRED -o augustus augustus.cc genbank.o properties.o pp_profile.o pp_hitseq.o pp_scoring.o statemodel.o namgene.o types.o gene.o evaluation.o motif.o geneticcode.o hints.o extrinsicinfo.o projectio.o intronmodel.o exonmodel.o igenicmodel.o utrmodel.o merkmal.o vitmatrix.o lldouble.o mea.o graph.o meaPath.o exoncand.o randseqaccess.o fasta.o ncmodel.o parser/parse.o scanner/lex.o genomicMSA.o geneMSA.o contTimeMC.o compgenepred.o phylotree.o orthograph.o orthoexon.o alignment.o speciesgraph.o codonMSA.o train_logReg_param.o sqliteDB.o dummy.o -I../include -I/nfs/research1/a/b/Programs/lp_solve_5.5.2.5_dev_ux64 -I/usr/include/mysql -I/nfs/research1/a/b/Programs/mysql++_install/include/mysql++ -lboost_iostreams -lgsl -lgslcblas -llpsolve55 -lcolamd -ldl -lmysqlclient -lmysqlpp -lsqlite3

/usr/bin/ld: cannot find -llpsolve55 /usr/bin/ld: cannot find -lcolamd /usr/bin/ld: cannot find -lmysqlclient /usr/bin/ld: cannot find -lmysqlpp collect2: error: ld returned 1 exit status make[1]: *** [augustus] Error 1 make[1]: Leaving directory `/nfs/research1/a/b/Programs/Augustus/src' make: *** [all] Error 2

I'd be grateful for your help.

FabianDK avatar Mar 04 '20 16:03 FabianDK

Try to add -L/nfs/research1/a/b/Programs/mysql++_install/lib to LIBS variable at line 42.

/usr/bin/ld: cannot find -lmysqlclient

Are mysql development files installed? You may try to use pkg-config: LIBS += `pkg-config --libs mysqlclient` ... instead of LIBS += -lmysqlclient ...

I do not have this folder /usr/bin/ld

It's ok, ld is the executable of GNU linker and it works correctly at your host.

starling13 avatar Mar 05 '20 09:03 starling13

Unfortunately, this still gives the same error. I have downloaded mysql++-3.2.5 from the website and installed it with .configure, make, make install. All other required packages I have got through conda.

packages in environment at /homes/danfab/anaconda3/envs/test_aug:

Name Version Build Channel bamtools 2.5.1 he860b03_5 bioconda blas 1.0 mkl anaconda boost 1.71.0 py38_0 anaconda bzip2 1.0.8 h7b6447c_0 anaconda ca-certificates 2020.1.1 0
certifi 2019.11.28 py38_0
gsl 2.6 h294904e_0 conda-forge icu 58.2 h211956c_0 anaconda intel-openmp 2020.0 166 anaconda ld_impl_linux-64 2.33.1 h53a641e_7 anaconda libblas 3.8.0 14_mkl conda-forge libboost 1.71.0 h97c9712_0 anaconda libboost-dev 1.68.0 2748 statiskit libcblas 3.8.0 14_mkl conda-forge libedit 3.1.20181209 hc058e9b_0 anaconda libffi 3.2.1 h4deb6c0_3 anaconda libgcc-ng 9.1.0 hdf63c60_0 anaconda libgfortran-ng 7.3.0 hdf63c60_0 anaconda liblapack 3.8.0 14_mkl conda-forge libstdcxx-ng 9.1.0 hdf63c60_0 anaconda lp_solve 5.5.2.5 h14c3975_1001 conda-forge lpsolve55 5.5 py38hc1659b7_1001 conda-forge metis 5.1.0 he1b5a44_1005 conda-forge mkl 2019.5 281 anaconda mkl-service 2.3.0 py38he904b0f_0 anaconda mkl_fft 1.0.15 py38ha843d7b_0 anaconda mkl_random 1.1.0 py38h962f231_0 anaconda ncurses 6.2 he6710b0_0 anaconda numpy 1.18.1 py38h4f9e942_0 anaconda numpy-base 1.18.1 py38hde5b4d6_1 anaconda openssl 1.1.1d h7b6447c_4
pip 20.0.2 py38_1 anaconda py-boost 1.71.0 py38h962f231_0 anaconda python 3.8.1 h0371630_1 anaconda readline 7.0 h7b6447c_5 anaconda setuptools 45.2.0 py38_0 anaconda six 1.14.0 py38_0 anaconda sqlite 3.31.1 h7b6447c_0 anaconda suitesparse 5.6.0 h717dc36_0 conda-forge tbb 2020.1 hc9558a2_0 conda-forge tk 8.6.8 hbc83047_0 anaconda wheel 0.34.2 py38_0 anaconda xz 5.2.4 h14c3975_4 anaconda yaml 0.1.7 had09818_2
zlib 1.2.11 h7b6447c_3 anaconda zstd 1.3.7 h0b5b093_0 anaconda

I also tried to install Augustus with "conda install -c bioconda augustus". It seems to work but when I type augustus in the terminal I get:

augustus: error while loading shared libraries: libboost_iostreams.so.1.60.0: cannot open shared object file: No such file or directory

In principle, my goal is to use BRAKER2. But I get this error after typing braker.pl -h.

Thu Mar 5 11:13:15 2020: Found environment variable $CDBTOOLS_PATH. Setting $CDBTOOLS_PATH to /nfs/research1/a/b/Programs/cdbfasta/ Thu Mar 5 11:13:15 2020: ERROR: in file /nfs/research1/a/bl/Programs/BRAKER/scripts/braker.pl at line 3323 /homes/danfab/anaconda3/envs/BRAKER/bin/../config/../bin/augustus not executable on this machine.

I guess the reason is that I could not install Augustus or that there is this libboost_iostreams.so.1.60.0 error?

FabianDK avatar Mar 05 '20 11:03 FabianDK

At least the /usr/bin/ld: cannot find -lmysqlclient should be gone...

augustus: error while loading shared libraries: libboost_iostreams.so.1.60.0: cannot open shared object file: No such file or directory

libboost_iostreams is not installed or has different version?

starling13 avatar Mar 05 '20 12:03 starling13

For BRAKER, you can download an older AUGUSTUS release that links ok with bioconda. Replace the scripts directory by the current AUGUSTUS scripts.

KatharinaHoff avatar Mar 05 '20 12:03 KatharinaHoff

Unfortunately, this still gives the same error.

I sure this errors have simple solution. If the directory /nfs/research1/a/b/Programs/mysql++_install/lib contains *.so or *.a file of libmysql++.so..., and makefile variable LIBS contains the option -L/nfs/research1/a/b/Programs/mysql++_install/lib -lmysql++ option should work.

starling13 avatar Mar 05 '20 12:03 starling13

Many thanks for your replies. I think I got braker2 to run using @KatharinaHoff 's advice. This is what I had to do: I have managed to install Augustus 3.1 with

conda install -c bioconda augustus=3.1 The other versions gave the same libboost_iostreams.so.1.60.0 error.

However, braker then complained about the joingenes executable missing.

joingenes executable not found at /homes/danfab/anaconda3/envs/BRAKER/bin/../config/../bin/joingenes. Please compile joingenes (augustus/auxprogs/joingenes)!

I had to go into my git cloned Augustus folder (newest version), find auxprogs/joingenes and 'make'. Then I moved the joingenes executable to the bin folder in my anaconda environment.

Next I added the Anaconda/Augustus paths (scripts/config/bin) to my my bashrc.

After that braker2 could not find: filterGenesIn.pl, aa2nonred.pl, getAnnoFastaFromJoingenes.py, fix_joingenes_gtf.pl, fix_in_frame_stop_codon_genes.py. I moved those from my git cloned Augustus folder to my anaconda env scripts folder.

Now, braker.pl seems to be running. Thanks for the solutions.

FabianDK avatar Mar 06 '20 10:03 FabianDK

@MarioStanke We need to discuss how to improve compilation instructions for current AUGUSTUS release after CGP mode went into default. It causes problems for a large number of BRAKER users.

KatharinaHoff avatar Mar 06 '20 10:03 KatharinaHoff

The least clear part of installation for me was lpsolve. Which distrbution to use and how to compile. I end up with making autotools build files by hands for a heap of sources, downloaded from sourceforge page of lpsolve.

starling13 avatar Mar 06 '20 10:03 starling13

Hey @KatharinaHoff and @MarioStanke. I was wondering if this conversation ever happened and there's an easier solution than @FabianDK's? Otherwise I'll get started on this.

Also, would you expect that we'd need to install augustus through conda specifically for this bug fix to work?

Best, Dustin

DustinSokolowski avatar Mar 30 '22 00:03 DustinSokolowski