DEploid-dev / DEploid

dEploid is designed for deconvoluting mixed genomes with unknown proportions. Traditional ‘phasing’ programs are limited to diploid organisms. Our method modifies Li and Stephen’s algorithm with Markov chain Monte Carlo (MCMC) approaches, and builds a generic framework that allows haloptype searches in a multiple infection setting.
http://deploid.readthedocs.io/en/latest/index.html
GNU General Public License v3.0
20 stars 10 forks source link

Can't compile DEploid cloned from https://github.com/DEploid-dev/DEploid.git #309

Closed ponomarevsy closed 5 years ago

ponomarevsy commented 5 years ago

» git clone https://github.com/DEploid-dev/DEploid.git
Cloning into 'DEploid'... remote: Enumerating objects: 4598, done. remote: Total 4598 (delta 0), reused 0 (delta 0), pack-reused 4598 Receiving objects: 100% (4598/4598), 155.77 MiB | 31.43 MiB/s, done. Resolving deltas: 100% (3333/3333), done.

» ls
DEploid DEploid-0.6-beta.1 v0.6-beta.1.tar.gz v0.6-beta.2.tar.gz

» cd DEploid

» ls
AUTHORS CODE_OF_CONDUCT.md COPYING Dockerfile Makefile.am README tests bootstrap configure.ac data docs NEWS README.md utilities Brewfile CONTRIBUTING.md DEploid.wiki m4 PULL_REQUEST_TEMPLATE.md src VERSION

» cd src

» ls
chooseK.cpp dEploid.cpp export ibd.hpp panel.cpp txtReader.hpp utility.hpp vcfReader.hpp chooseK.hpp dEploidIO.cpp global.hpp lasso panel.hpp updateHap.cpp variantIndex.cpp codeCogs dEploidIO.hpp gzstream mcmc.cpp random updateHap.hpp variantIndex.hpp debug exceptions.hpp ibd.cpp mcmc.hpp txtReader.cpp utility.cpp vcfReader.cpp

» ls lasso

» cd ..

» pwd
/path/DEploid/DEploid

» ls
AUTHORS CODE_OF_CONDUCT.md COPYING Dockerfile Makefile.am README tests bootstrap configure.ac data docs NEWS README.md utilities Brewfile CONTRIBUTING.md DEploid.wiki m4 PULL_REQUEST_TEMPLATE.md src VERSION

» ./bootstrap
rm: cannot remove ‘Makefile’: No such file or directory rm: cannot remove ‘Makefile.in’: No such file or directory rm: cannot remove ‘autom4te.cache’: No such file or directory rm: cannot remove ‘config.’: No such file or directory rm: cannot remove ‘depcomp’: No such file or directory rm: cannot remove ‘install-sh’: No such file or directory rm: cannot remove ‘missing’: No such file or directory rm: cannot remove ‘configure’: No such file or directory rm: cannot remove ‘aclocal.m4’: No such file or directory rm: cannot remove ‘.deps’: No such file or directory rm: cannot remove ‘INSTALL’: No such file or directory rm: cannot remove ‘compile’: No such file or directory rm: cannot remove ‘test-driver’: No such file or directory rm: cannot remove ‘docs/doxygen/Makefile’: No such file or directory rm: cannot remove ‘docs/doxygen/Makefile.in’: No such file or directory configure.ac:18: installing './config.guess' configure.ac:18: installing './config.sub' configure.ac:4: installing './install-sh' configure.ac:4: installing './missing' Makefile.am:1: warning: shell git show HEAD | head -1 | sed -e "s/commit //g" | cat: non-POSIX variable name Makefile.am:1: (probably a GNU make extension) Makefile.am:2: warning: shell git submodule status | grep DEploid-Lasso-lib | sed -e "s/ //g" -e "s/DEploid.//" | cat: non-POSIX variable name Makefile.am:2: (probably a GNU make extension) Makefile.am:8: warning: shell date -u | sed -e "s/ /-/g": non-POSIX variable name Makefile.am:8: (probably a GNU make extension) Makefile.am:90: warning: deprecated feature: target 'utilities' overrides 'utilities$(EXEEXT)' Makefile.am:90: change your target to read 'utilities$(EXEEXT)' /usr/share/automake-1.13/am/program.am: target 'utilities$(EXEEXT)' was defined here Makefile.am:11: while processing program 'utilities' Makefile.am:90: warning: user target 'utilities$(EXEEXT)' defined here ... /usr/share/automake-1.13/am/program.am: ... overrides Automake target 'utilities' defined here Makefile.am:11: while processing program 'utilities' Makefile.am: installing './depcomp' parallel-tests: installing './test-driver' Makefile.am:9: warning: user variable 'distdir' defined here ... /usr/share/automake-1.13/am/distdir.am: ... overrides Automake variable 'distdir' defined here checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '1387' is supported by ustar format... yes checking whether GID '1079' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether make supports nested variables... (cached) yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for ranlib... ranlib checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for TestCase in -lcppunit... no checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for an ANSI C-conforming const... yes checking for inline... inline checking for size_t... yes ./configure: line 5246: AX_CXXFLAGS_WARN_ALL: command not found checking for doxygen... doxygen checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating docs/doxygen/Doxyfile config.status: creating Makefile config.status: creating docs/doxygen/Makefile config.status: executing depfiles commands

» make
CXX src/dEploid-dEploid.o CXX src/random/dEploid-fastfunc.o CXX src/random/dEploid-random_generator.o CXX src/random/dEploid-mersenne_twister.o CXX src/dEploid-chooseK.o CXX src/dEploid-ibd.o CXX src/dEploid-mcmc.o CXX src/dEploid-panel.o CXX src/dEploid-utility.o CXX src/dEploid-dEploidIO.o src/dEploidIO.cpp:33:38: fatal error: lasso/src/dEploidLasso.hpp: No such file or directory compilation terminated. make: *** [src/dEploid-dEploidIO.o] Error 1

» ls src/lasso
src

» ls src/lasso/src

» find /path/DEploid/ -name "dEploidLasso.hpp" -print

It is possible that I am using an outdated version of autoconf:

» module list
Currently Loaded Modulefiles: 1) EasyBuild/2.9.0 9) OpenBLAS/0.2.18-GCC-5.4.0-2.26-LAPACK-3.6.1 2) uge/8.5.5 10) gompi/2016b 3) GCCcore/5.4.0 11) FFTW/3.3.4-gompi-2016b 4) binutils/2.26-GCCcore-5.4.0 12) ScaLAPACK/2.0.2-gompi-2016b-OpenBLAS-0.2.18-LAPACK-3.6.1 5) GCC/5.4.0-2.26 13) foss/2016b 6) numactl/2.0.11-GCC-5.4.0-2.26 14) doxygen/1.8.11-foss-2016b 7) hwloc/1.11.3-GCC-5.4.0-2.26 15) M4/1.4.17-GCC-5.4.0-2.26 8) OpenMPI/1.10.3-GCC-5.4.0-2.26 16) autoconf/2.69-GCC-5.4.0-2.26

Please let us know what you think.

Thanks!

ponomarevsy commented 5 years ago

And... there are more errors, if I bootstrap and make the missing DEploid-Lasso-lib library from https://github.com/shajoezhu/DEploid-Lasso-lib/tree/b229c805f9077660ec6a841352ccfca5ed0d8341 and link the src directory to either DEploid-Lasso-lib/src in DEploid-0.6-beta.1/DEploid-0.6-beta.2 or github's DEploid/src/lasso/src:

» make                                                           
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/dEploid-dEploid.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/random/dEploid-fastfunc.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/random/dEploid-random_generator.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/random/dEploid-mersenne_twister.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/dEploid-ibd.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/dEploid-mcmc.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/dEploid-panel.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/dEploid-utility.o
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /nethome)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
  CXX      src/dEploid-dEploidIO.o
In file included from src/lasso/dEploidLasso.hpp:31:0,
                 from src/dEploidIO.cpp:33:
src/lasso/lasso.hpp:66:12: error: redefinition of ‘template<class T> std::vector<_RealType> vecDiff(const std::vector<_RealType>&, const std::vector<_RealType>&)’
 vector <T> vecDiff(const vector<T> &vecA,
            ^
In file included from src/dEploidIO.cpp:29:0:
src/utility.hpp:40:12: note: ‘template<class T> std::vector<_RealType> vecDiff(const std::vector<_RealType>&, const std::vector<_RealType>&)’ previously declared here
 vector <T> vecDiff(const vector<T> &vecA, const vector<T> &vecB ) {
            ^
In file included from src/lasso/dEploidLasso.hpp:31:0,
                 from src/dEploidIO.cpp:33:
src/lasso/lasso.hpp:78:12: error: redefinition of ‘template<class T> std::vector<_RealType> vecSum(const std::vector<_RealType>&, const std::vector<_RealType>&)’
 vector <T> vecSum(const vector<T> &vecA, const vector<T> &vecB ) {
            ^
In file included from src/dEploidIO.cpp:29:0:
src/utility.hpp:58:12: note: ‘template<class T> std::vector<_RealType> vecSum(const std::vector<_RealType>&, const std::vector<_RealType>&)’ previously declared here
 vector <T> vecSum(const vector<T> &vecA, const vector<T> &vecB) {
            ^
In file included from src/lasso/dEploidLasso.hpp:31:0,
                 from src/dEploidIO.cpp:33:
src/lasso/lasso.hpp:89:12: error: redefinition of ‘template<class T> std::vector<_RealType> vecProd(const std::vector<_RealType>&, const std::vector<_RealType>&)’
 vector <T> vecProd(const vector<T> &vecA, const vector<T> &vecB) {
            ^
In file included from src/dEploidIO.cpp:29:0:
src/utility.hpp:69:12: note: ‘template<class T> std::vector<_RealType> vecProd(const std::vector<_RealType>&, const std::vector<_RealType>&)’ previously declared here
 vector <T> vecProd(const vector<T> &vecA,
            ^
make: *** [src/dEploid-dEploidIO.o] Error 1
shajoezhu commented 5 years ago

@ponomarevsy the first part of your issue is a git clone issue

Please try the following:

  1. Git Clone a fresh copy

  2. Cd to DEploid root directory

  3. git submodule update --init --recursive --remote

  4. ./bootstrap

  5. Make

Let me know how it goes. The installation is routinely tested and checked via continuous integration. Let me know when you have more questions.

Best Joe

shajoezhu commented 5 years ago

@ponomarevsy Closing issue for now. Please reopen if still problem

ponomarevsy commented 5 years ago

Thanks, @shajoezhu! It looks better, but... getting this error now:

limits:1599:7: internal compiler error: Illegal instruction
       min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MIN__; }
       ^~~

This is for GCC 7.3.0. Will try an older compiler now...

ponomarevsy commented 5 years ago

And... it worked indeed for GCC/4.8.4:

» make -j 8
  CXX      src/dEploid-dEploid.o
  CXX      src/dEploid-chooseK.o
  CXX      src/dEploid-ibd.o
  CXX      src/dEploid-mcmc.o
  CXX      src/dEploid-panel.o
  CXX      src/dEploid-utility.o
  CXX      src/dEploid-dEploidIO.o
  CXX      src/dEploid-updateHap.o
  CXX      src/dEploid-txtReader.o
  CXX      src/dEploid-vcfReader.o
  CXX      src/dEploid-variantIndex.o
  CXX      src/lasso/src/dEploid_dbg-lassoDBG.o
  CXX      src/dEploid_dbg-dEploid.o
  CXX      src/random/dEploid_dbg-fastfunc.o
  CXX      src/random/dEploid_dbg-random_generator.o
  CXX      src/random/dEploid_dbg-mersenne_twister.o
  CXX      src/dEploid_dbg-chooseK.o
  CXX      src/dEploid_dbg-ibd.o
  CXX      src/dEploid_dbg-mcmc.o
  CXX      src/dEploid_dbg-panel.o
  CXX      src/dEploid_dbg-utility.o
  CXX      src/dEploid_dbg-dEploidIO.o
  CXX      src/dEploid_dbg-updateHap.o
  CXX      src/dEploid_dbg-txtReader.o
  CXX      src/dEploid_dbg-vcfReader.o
  CXX      src/dEploid_dbg-variantIndex.o
  CXX      src/gzstream/dEploid_dbg-gzstream.o
  CXX      src/export/dEploid_dbg-dEploidIOExport.o
  CXX      src/export/dEploid_dbg-dEploidIOExportPosteriorProb.o
  CXX      src/export/dEploid_dbg-writeMcmcRelated.o
  CXX      src/lasso/src/dEploid_dbg-lasso.o
sed -i'.bak' -e '/#!\/usr\/bin\/env Rscript/d' -e '/rm(list=ls())/d' utilities/dataExplore.r ; echo "#!/usr/bin/env Rscript" > tmpTxt; echo "rm(list=ls()); dEploidRootDir=\"/nethome/appbuild/eb_files/DEploid/DEploid\"" >> tmpTxt ; cat utilities/dataExplore.r >> tmpTxt ; mv tmpTxt utilities/dataExplore.r; chmod a+x utilities/dataExplore.r;
  CXX      src/lasso/src/dEploid_dbg-dEploidLasso.o
sed -i'.bak' -e '/#!\/usr\/bin\/env Rscript/d' -e '/rm(list=ls())/d' utilities/interpretDEploid.r; echo "#!/usr/bin/env Rscript" > tmpTxt; echo "rm(list=ls()); dEploidRootDir=\"/nethome/appbuild/eb_files/DEploid/DEploid\"" >> tmpTxt ; cat utilities/interpretDEploid.r >> tmpTxt ; mv tmpTxt utilities/interpretDEploid.r; chmod a+x utilities/interpretDEploid.r
  CXX      src/random/dEploid-fastfunc.o
  CXX      src/random/dEploid-random_generator.o
  CXX      src/random/dEploid-mersenne_twister.o
  CXX      src/gzstream/dEploid-gzstream.o
  CXX      src/export/dEploid-dEploidIOExport.o
  CXX      src/export/dEploid-dEploidIOExportPosteriorProb.o
  CXX      src/export/dEploid-writeMcmcRelated.o
  CXX      src/lasso/src/dEploid-lasso.o
  CXX      src/lasso/src/dEploid-dEploidLasso.o
  CXX      src/debug/dEploid_dbg-mcmcDebug.o
  CXX      src/debug/dEploid_dbg-vcfReaderDebug.o
  CXXLD    dEploid_dbg
  CXXLD    dEploid

Do I need these 2 files for the distro to work (anything else?):

-rwxrwxr-x 1 user user  507787 Jul 18 10:36 dEploid
-rwxrwxr-x 1 user user 8167084 Jul 18 10:36 dEploid_dbg

I'll be creating an archive and installing it with EasyBuild tools.

shajoezhu commented 5 years ago

That's great. You just need dEploid. dEploid_dbg is the debug version

ponomarevsy commented 5 years ago

Excellent! Thanks for your help, @shajoezhu. Case closed (-: 👍

noamteyssier commented 5 years ago

I'm having the same issue, but the submodule update isn't fixing unfortunately. Can replicate issues on two machines (Arch and Ubuntu 18.04)

git submodule update --init --recursive --remote Submodule 'DEploid.wiki' (https://github.com/DEploid-dev/DEploid.wiki.git) registered for path 'DEploid.wiki' Submodule 'DEploid-Lasso-lib' (https://github.com/shajoezhu/DEploid-Lasso-lib) registered for path 'src/lasso' Submodule 'utilities' (https://github.com/DEploid-dev/DEploid-Utilities) registered for path 'utilities' Cloning into '/home/noam/lib/DEploid/DEploid.wiki'... fatal: destination path '/home/noam/lib/DEploid/src/lasso' already exists and is not an empty directory. fatal: clone of 'https://github.com/shajoezhu/DEploid-Lasso-lib' into submodule path '/home/noam/lib/DEploid/src/lasso' failed Failed to clone 'src/lasso'. Retry scheduled Cloning into '/home/noam/lib/DEploid/utilities'... fatal: destination path '/home/noam/lib/DEploid/src/lasso' already exists and is not an empty directory. fatal: clone of 'https://github.com/shajoezhu/DEploid-Lasso-lib' into submodule path '/home/noam/lib/DEploid/src/lasso' failed Failed to clone 'src/lasso' a second time, aborting

shajoezhu commented 5 years ago

@noamteyssier I suspect this is due to you have tried to compile, before fetching all files with git submodule update.

Please try the following:

  1. Git Clone a fresh copy

  2. Cd to DEploid root directory

  3. git submodule update --init --recursive --remote

Before you proceed with the following step, can you please check the content of arc/lasso, see if git submodule update has worked. let me know how you get on.

  1. ./bootstrap

  2. Make

noamteyssier commented 5 years ago

Did not work for me with submodule update, however I compiled the with the lasso lib repo by itself (https://github.com/shajoezhu/DEploid-Lasso-lib) and replaced it manually in the directory for lasso. Works well now, thanks

shajoezhu commented 5 years ago

Thanks! @noamteyssier Closing issue for now

vlrieg commented 4 years ago

This thread has been super helpful, as I've had similar problems as others while trying to compile DEploid. Manually compiling and replacing lasso in the src/ directory worked for me as described by noamteyssier, however now that I'm past that, I'm getting a new error:

make: *** No rule to make target `utilities/dataExplore.r', needed by `utilities'.  Stop.

Can you advise me on what to do from here? I'm using macOS Mojave version 10.14.6.

shajoezhu commented 4 years ago

@vlrieg

Again, this is an issue relating to git submodule sync.

At the DEploid root repo, can you try "git submodule update --init --recursive --remote" if you had downloaded the file via git clone.

Otherwise, if you download the zip, you will need to do a similar thing as you did for the lasso directory, and replace content in the 'utilities' folder by copy files from https://github.com/DEploid-dev/DEploid-Utilities/

vlrieg commented 4 years ago

Thank you @shajoezhu! I have it running now!