ETCHING-team / ETCHING

Ultra-fast, high-performing structural variation (SV) detector
http://big.hanyang.ac.kr/ETCHING
MIT License
23 stars 4 forks source link

Compile error #1

Closed been9312 closed 3 years ago

been9312 commented 3 years ago

Hi.

I'm using ubuntu18.04, python3.6.9 and g++ 7.5.0

I'm proceeding according to manual, but the compile error occurred

ylc@ylc-System-Product-Name:/data/asb/DNA/ETCHING$ make
bash libconf.sh
cd lib/zlib && make
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/lib/zlib' 들어감
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o adler32.o adler32.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o crc32.o crc32.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o deflate.o deflate.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o infback.o infback.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o inffast.o inffast.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o inflate.o inflate.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o inftrees.o inftrees.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o trees.o trees.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o zutil.o zutil.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o compress.o compress.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o uncompr.o uncompr.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzclose.o gzclose.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzlib.o gzlib.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzread.o gzread.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o gzwrite.o gzwrite.c
ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example example.o -L. libz.a
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L. libz.a
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/adler32.o adler32.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/crc32.o crc32.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/deflate.o deflate.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/infback.o infback.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/inffast.o inffast.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/inflate.o inflate.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/inftrees.o inftrees.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/trees.o trees.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/zutil.o zutil.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/compress.o compress.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/uncompr.o uncompr.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzclose.o gzclose.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzlib.o gzlib.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzread.o gzread.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -DPIC -c -o objs/gzwrite.o gzwrite.c
gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.2.11 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo  -lc
rm -f libz.so libz.so.1
ln -s libz.so.1.2.11 libz.so
ln -s libz.so.1.2.11 libz.so.1
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.2.11
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o -L. libz.so.1.2.11
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example64 example64.o -L. libz.a
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip64 minigzip64.o -L. libz.a
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/lib/zlib' 나감
cd lib/bamtools && make
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools' 들어감
cd api && make
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api' 들어감
g++ -Wall -std=c++11 -g -I .. -fPIC -c BamAlignment.cpp -o BamAlignment.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c BamMultiReader.cpp -o BamMultiReader.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c BamReader.cpp -o BamReader.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c BamWriter.cpp -o BamWriter.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c SamHeader.cpp -o SamHeader.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c SamProgramChain.cpp -o SamProgramChain.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c SamProgram.cpp -o SamProgram.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c SamReadGroup.cpp -o SamReadGroup.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c SamReadGroupDictionary.cpp -o SamReadGroupDictionary.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c SamSequence.cpp -o SamSequence.cpp.o
g++ -Wall -std=c++11 -g -I .. -fPIC -c SamSequenceDictionary.cpp -o SamSequenceDictionary.cpp.o
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api' 나감
cd api/internal/bam && make
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/bam' 들어감
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamHeader_p.cpp -o BamHeader_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamMultiReader_p.cpp -o BamMultiReader_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamRandomAccessController_p.cpp -o BamRandomAccessController_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamReader_p.cpp -o BamReader_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamWriter_p.cpp -o BamWriter_p.cpp.o
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/bam' 나감
cd api/internal/index && make
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/index' 들어감
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamIndexFactory_p.cpp -o BamIndexFactory_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamStandardIndex_p.cpp -o BamStandardIndex_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamToolsIndex_p.cpp -o BamToolsIndex_p.cpp.o
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/index' 나감
cd api/internal/io && make
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/io' 들어감
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamDeviceFactory_p.cpp -o BamDeviceFactory_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamFile_p.cpp -o BamFile_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamFtp_p.cpp -o BamFtp_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamHttp_p.cpp -o BamHttp_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamPipe_p.cpp -o BamPipe_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BgzfStream_p.cpp -o BgzfStream_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c ByteArray_p.cpp -o ByteArray_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c HostAddress_p.cpp -o HostAddress_p.cpp.o
HostAddress_p.cpp: In member function ‘std::__cxx11::string BamTools::Internal::HostAddress::GetIPString() const’:
HostAddress_p.cpp:325:13: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
             if ( i != 0 )
             ^~
HostAddress_p.cpp:327:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
                 ss << hex << ( (uint16_t(m_ip6Address[2*i]) << 8) |
                 ^~
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c HostInfo_p.cpp -o HostInfo_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c HttpHeader_p.cpp -o HttpHeader_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c ILocalIODevice_p.cpp -o ILocalIODevice_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c RollingBuffer_p.cpp -o RollingBuffer_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c TcpSocketEngine_p.cpp -o TcpSocketEngine_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c TcpSocketEngine_unix_p.cpp -o TcpSocketEngine_unix_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c TcpSocket_p.cpp -o TcpSocket_p.cpp.o
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/io' 나감
cd api/internal/sam && make
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/sam' 들어감
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c SamFormatParser_p.cpp -o SamFormatParser_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c SamFormatPrinter_p.cpp -o SamFormatPrinter_p.cpp.o
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c SamHeaderValidator_p.cpp -o SamHeaderValidator_p.cpp.o
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/sam' 나감
cd api/internal/utils && make
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/utils' 들어감
g++ -Wall -std=c++11 -g -I ../../.. -fPIC -c BamException_p.cpp -o BamException_p.cpp.o
make[2]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools/api/internal/utils' 나감
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/lib/bamtools' 나감
cd ETCHING && make
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/ETCHING' 들어감
chmod a+x etching
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/ETCHING' 나감
cd Filter && make
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/Filter' 들어감
g++ -Wall -g -std=c++11 -fPIC -c read_collector.cpp -o read_collector.lo -L../lib -letching_filter -I gzstream -pthread
g++ -Wall -g -std=c++11 ../lib/bamtools/api/internal/*/*o ../lib/bamtools/api/*o read_collector.lo ../lib/zlib/*.lo -L../lib -letching_filter -pthread -o read_collector
g++ -Wall -g -std=c++11 kmer_filter.cpp -o kmer_filter
g++ -Wall -g -std=c++11 -pthread -Igzstream fastq_check.cpp ../lib/zlib/*.lo -L../lib -letching_filter -o fastq_check
g++ -Wall -g -std=c++11 -pthread -Igzstream -I../lib/bamtools -L../lib -letching_filter ../lib/bamtools/api/internal/*/*o ../lib/bamtools/api/*o ../lib/zlib/*.lo read_length_calc.cpp -o read_length_calc
/tmp/ccG3GYRb.o: In function `fastq_gz_count(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)':
/data/asb/DNA/ETCHING/Filter/read_length_calc.cpp:46: undefined reference to `gzstreambase::close()'
/tmp/ccG3GYRb.o: In function `gzstreambuf::gzstreambuf()':
/data/asb/DNA/ETCHING/Filter/gzstream/gzstream.h:57: undefined reference to `vtable for gzstreambuf'
/tmp/ccG3GYRb.o: In function `gzstreambuf::~gzstreambuf()':
/data/asb/DNA/ETCHING/Filter/gzstream/gzstream.h:67: undefined reference to `vtable for gzstreambuf'
/data/asb/DNA/ETCHING/Filter/gzstream/gzstream.h:67: undefined reference to `gzstreambuf::close()'
/tmp/ccG3GYRb.o: In function `igzstream::igzstream()':
/data/asb/DNA/ETCHING/Filter/gzstream/gzstream.h:94: undefined reference to `gzstreambase::~gzstreambase()'
/tmp/ccG3GYRb.o: In function `igzstream::open(char const*, int)':
/data/asb/DNA/ETCHING/Filter/gzstream/gzstream.h:99: undefined reference to `gzstreambase::open(char const*, int)'
/tmp/ccG3GYRb.o:(.data.rel.ro._ZTC9igzstream0_12gzstreambase[_ZTV9igzstream]+0x10): undefined reference to `typeinfo for gzstreambase'
/tmp/ccG3GYRb.o:(.data.rel.ro._ZTC9igzstream0_12gzstreambase[_ZTV9igzstream]+0x38): undefined reference to `typeinfo for gzstreambase'
/tmp/ccG3GYRb.o: In function `igzstream::~igzstream()':
/data/asb/DNA/ETCHING/Filter/gzstream/gzstream.h:92: undefined reference to `gzstreambase::~gzstreambase()'
/tmp/ccG3GYRb.o:(.data.rel.ro._ZTI9igzstream[_ZTI9igzstream]+0x18): undefined reference to `typeinfo for gzstreambase'
collect2: error: ld returned 1 exit status
Makefile:13: recipe for target 'read_length_calc' failed
make[1]: *** [read_length_calc] Error 1
make[1]: 디렉터리 '/data/asb/DNA/ETCHING/Filter' 나감
Makefile:2: recipe for target 'default' failed
make: *** [default] Error 2

What do I need to do?

sohnjangil commented 3 years ago

I'm sorry for that error. We are checking about the error, and we will update as soon as possible.

Thank you

sohnjangil commented 3 years ago

We checked the problem. That was because of the difference of the library related with "make". As I checked, there was no problem in CentOS, but it happens in Ubuntu. When I re-ordered 13'th line in Filter/Makefile from

    g++ -Wall -g -std=c++11 -pthread -Igzstream -I../lib/bamtools -L../lib -letching_filter ../lib/bamtools/api/internal/*/*o ../lib/bamtools/api/*o ../lib/zlib/*.lo read_length_calc.cpp -o read_length_calc

to

    g++ -Wall -g -std=c++11 -pthread -Igzstream -I../lib/bamtools read_length_calc.cpp -L../lib -letching_filter ../lib/bamtools/api/internal/*/*o ../lib/bamtools/api/*o ../lib/zlib/*.lo -o read_length_calc

it was successfully complied. See the position of read_length_calc.cpp.

If you want, you can modify the code manually, or you can download again from our GitHub repository, because I fixed it a minute before

If you saw any other issues, please open an issue page or email me, freely.

Thank you for your contribution.

--- Jang-il Sohn