Announcement

Collapse
No announcement yet.

Need help compiling GapFiller

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Need help compiling GapFiller

    Hello,

    I have been unsuccessful compiling GapFiller on my ThinkMate genomics workstation (Ubuntu 16.04 OS). I think it is a library link issue, but am not 100% certain of that. I am probably overlooking something obvious.

    The output from my ./configure and my make commands is below.

    Any guidance would be greatly appreciated.

    Rob





    [email protected]:~/.linuxbrew/Cellar/gapfiller-2.1.1$ ./configure
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking target system type... x86_64-unknown-linux-gnu
    checking for a BSD-compatible install... /usr/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 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 whether gcc and cc understand -c and -o together... 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 grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    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 for stdbool.h that conforms to C99... yes
    checking for _Bool... no
    checking for inline... inline
    checking for size_t... yes
    checking stdio.h usability... yes
    checking stdio.h presence... yes
    checking for stdio.h... yes
    checking math.h usability... yes
    checking math.h presence... yes
    checking for math.h... yes
    checking limits.h usability... yes
    checking limits.h presence... yes
    checking for limits.h... yes
    checking iostream usability... yes
    checking iostream presence... yes
    checking for iostream... yes
    checking fstream usability... yes
    checking fstream presence... yes
    checking for fstream... yes
    checking string usability... yes
    checking string presence... yes
    checking for string... yes
    checking vector usability... yes
    checking vector presence... yes
    checking for vector... yes
    checking exception usability... yes
    checking exception presence... yes
    checking for exception... yes
    checking sstream usability... yes
    checking sstream presence... yes
    checking for sstream... yes
    checking how to print strings... printf
    checking for a sed that does not truncate output... /bin/sed
    checking for fgrep... /bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    file: compiled magic version [524] does not match with shared library magic version [528]
    checking for mt... mt
    checking if mt is a manifest tool... no
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking how to run the C++ preprocessor... g++ -E
    checking for ld used by g++... /usr/bin/ld -m elf_x86_64
    checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking for g++ option to produce PIC... -fPIC -DPIC
    checking if g++ PIC flag -fPIC -DPIC works... yes
    checking if g++ static flag -static works... yes
    checking if g++ supports -c -o file.o... yes
    checking if g++ supports -c -o file.o... (cached) yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking dynamic linker characteristics... (cached) GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking for Boost headers version >= 1.40.0... yes
    checking for Boost's header version...
    checking for the toolset name used by Boost for g++... configure: WARNING: could not figure out which toolset name to use for g++

    checking boost/iostreams/device/file_descriptor.hpp usability... yes
    checking boost/iostreams/device/file_descriptor.hpp presence... yes
    checking for boost/iostreams/device/file_descriptor.hpp... yes
    checking for the Boost iostreams library... yes
    checking boost/program_options.hpp usability... yes
    checking boost/program_options.hpp presence... yes
    checking for boost/program_options.hpp... yes
    checking for the Boost program_options library... yes
    checking for 64 bit architecture... yes
    ======================================
    Compiling with 64 bit
    ======================================
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating src/Makefile
    config.status: executing depfiles commands
    config.status: executing libtool commands
    [email protected]:~/.linuxbrew/Cellar/gapfiller-2.1.1$ make
    Making all in src
    make[1]: Entering directory '/home/rob/.linuxbrew/Cellar/gapfiller-2.1.1/src'
    /bin/bash ../libtool --tag=CXX --mode=link g++ -O0 -g3 -fpermissive -DDEBUG -Wall -D_USE_KNETFILE -D_FILE_OFFSET_BITS=64 -m64 -DCPU_64 -lboost_program_options -lboost_iostreams-mt -o GapFiller_debug GapFiller_debug-GapFiller.o data_structures/GapFiller_debug-Hash.o data_structures/GapFiller_debug-Reads.o data_structures/GapFiller_debug-Contig.o data_structures/GapFiller_debug-Contig_layout.o data_structures/GapFiller_debug-Layout_list.o data_structures/GapFiller_debug-Layout_vector.o io/GapFiller_debug-Auto_Unzip.o io/GapFiller_debug-Auto_Zip.o io/GapFiller_debug-Fastq.o io/GapFiller_debug-Sam.o io/GapFiller_debug-Binary.o errors/GapFiller_debug-Data_Exception.o errors/GapFiller_debug-Data_Not_Found.o errors/GapFiller_debug-File_Not_Found.o errors/GapFiller_debug-Generic_Exception.o errors/GapFiller_debug-Incorrect_Format.o options/GapFiller_debug-Menu.o options/GapFiller_debug-Options.o options/GapFiller_debug-Singleton.o modules/GapFiller_debug-Assembly.o modules/GapFiller_debug-Assembly_only_sequence.o modules/GapFiller_debug-Assembly_store_layout.o samtools/GapFiller_debug-bam_aux.o samtools/GapFiller_debug-bam_import.o samtools/GapFiller_debug-bam_pileup.o samtools/GapFiller_debug-bam_index.o samtools/GapFiller_debug-bam.o samtools/GapFiller_debug-bgzf.o samtools/GapFiller_debug-faidx.o samtools/GapFiller_debug-knetfile.o samtools/GapFiller_debug-kstring.o samtools/GapFiller_debug-razf.o samtools/GapFiller_debug-sam.o samtools/GapFiller_debug-sam_header.o
    libtool: link: g++ -O0 -g3 -fpermissive -DDEBUG -Wall -D_USE_KNETFILE -D_FILE_OFFSET_BITS=64 -m64 -DCPU_64 -o GapFiller_debug GapFiller_debug-GapFiller.o data_structures/GapFiller_debug-Hash.o data_structures/GapFiller_debug-Reads.o data_structures/GapFiller_debug-Contig.o data_structures/GapFiller_debug-Contig_layout.o data_structures/GapFiller_debug-Layout_list.o data_structures/GapFiller_debug-Layout_vector.o io/GapFiller_debug-Auto_Unzip.o io/GapFiller_debug-Auto_Zip.o io/GapFiller_debug-Fastq.o io/GapFiller_debug-Sam.o io/GapFiller_debug-Binary.o errors/GapFiller_debug-Data_Exception.o errors/GapFiller_debug-Data_Not_Found.o errors/GapFiller_debug-File_Not_Found.o errors/GapFiller_debug-Generic_Exception.o errors/GapFiller_debug-Incorrect_Format.o options/GapFiller_debug-Menu.o options/GapFiller_debug-Options.o options/GapFiller_debug-Singleton.o modules/GapFiller_debug-Assembly.o modules/GapFiller_debug-Assembly_only_sequence.o modules/GapFiller_debug-Assembly_store_layout.o samtools/GapFiller_debug-bam_aux.o samtools/GapFiller_debug-bam_import.o samtools/GapFiller_debug-bam_pileup.o samtools/GapFiller_debug-bam_index.o samtools/GapFiller_debug-bam.o samtools/GapFiller_debug-bgzf.o samtools/GapFiller_debug-faidx.o samtools/GapFiller_debug-knetfile.o samtools/GapFiller_debug-kstring.o samtools/GapFiller_debug-razf.o samtools/GapFiller_debug-sam.o samtools/GapFiller_debug-sam_header.o -lboost_program_options -lboost_iostreams-mt
    /usr/bin/ld: samtools/GapFiller_debug-bam_import.o: undefined reference to symbol 'gzdopen'
    //lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    Makefile:608: recipe for target 'GapFiller_debug' failed
    make[1]: *** [GapFiller_debug] Error 1
    make[1]: Leaving directory '/home/rob/.linuxbrew/Cellar/gapfiller-2.1.1/src'
    Makefile:298: recipe for target 'all-recursive' failed
    make: *** [all-recursive] Error 1

  • #2
    See if this helps: http://seqanswers.com/forums/showthread.php?t=47998

    If you have zlib missing from your system then you would need to install it first.

    Comment


    • #3
      Hi GenoMax,

      Thanks for the rapid reply. I appreciate it very much

      I previously looked at http://seqanswers.com/forums/showthread.php?t=47998, and many other suggested solutions for errors that appear similar to the one I get. I tried ./configure LIBS="-lz" previously and it did not solve my problem. That said, in my makefile the LIBS line reads: LIBS = -lz.

      I installed the zlib previously, and $locate zlib indicates that it is installed. That does not mean I installed the zlib correctly or that I am pointing to it correctly.

      Can I safely assume that a zlib installation, for this purpose, follows a typical linux install process?

      Rob
      Last edited by robalba1; 10-10-2016, 10:08 AM.

      Comment


      • #4
        Have you tried a "make clean" followed by ./configure LIBS="-lz" and then a make again?

        Comment


        • #5
          Just tried "make clean" followed by ./configure LIBS="-lz" and then a make again and that did not solve the problem. It still throws the same error(s).

          Comment


          • #6
            I suggest that you google "/lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line" and see some of the suggestions that come up.
            Last edited by GenoMax; 10-10-2016, 10:55 AM.

            Comment


            • #7
              GapFiller's src/Makefile.am has been updated to account for a linking change in the last few years (cf ld --add-needed), but unfortunately the rest of its build infrastructure has not been regenerated accordingly.

              So before running configure, you need to run autoreconf yourself to regenerate src/Makefile.in etc:

              Code:
              autoreconf
              ./configure
              make
              You will need to have autoconf and automake available.

              Having fixed this, you may get undefined symbol errors about __ks_insertsort_off(), packInt16(), packInt32(), and unpackInt16(). To fix these, find the __ks_insertsort_##name() definition in src/samtools/ksort.h and the three *packInt*() definitions in src/samtools/bgzf.c, and change "inline" to "static inline".

              Comment

              Working...
              X