Illumina / ExpansionHunter

A tool for estimating repeat sizes
Other
177 stars 51 forks source link

EHv4 link error on CentOS7: "undefined reference to boost::system::detail::generic_category_ncx()" #107

Closed bw2 closed 3 years ago

bw2 commented 3 years ago

Trying to build master on Centos7, but running into a link error with boost:

analysis-node:~/p1/bin/ExpansionHunter-repo/build 4956 2 $ cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/disks/data-disk/project1/bin/ExpansionHunter-repo/build/googletest-download
[ 11%] Performing update step for 'googletest'
[ 22%] No configure step for 'googletest'
[ 33%] No build step for 'googletest'
[ 44%] No install step for 'googletest'
[ 55%] No test step for 'googletest'
[ 66%] Completed 'googletest'
[100%] Built target googletest
-- Found Boost: /usr/local/include (found suitable version "1.68.0", minimum required is "1.4") found components:  program_options filesystem regex date_time system
-- Found Boost: /usr/local/include (found suitable version "1.68.0", minimum required is "1.5") found components:  program_options filesystem system
-- Configuring done
-- Generating done
-- Build files have been written to: ~/p1/bin/ExpansionHunter-repo/build
analysis-node:~/p1/bin/ExpansionHunter-repo/build 4957 0 $ make
[ 16%] Built target graphtools
[ 21%] Built target zlib
[ 25%] Built target htslib
[ 27%] Built target region_spec
[ 32%] Built target common
[ 33%] Built target filtering
[ 35%] Built target stats
[ 39%] Built target input
[ 46%] Built target genotyping
[ 48%] Built target reads
[ 49%] Built target classification
[ 53%] Built target alignment
[ 57%] Built target region_analysis
[ 62%] Built target sample_analysis
[ 65%] Built target output
[ 65%] Linking CXX executable ExpansionHunter
input/libinput.a(ParameterLoading.cpp.o): In function `boost::system::generic_category()':
ParameterLoading.cpp:(.text._ZN5boost6system16generic_categoryEv[_ZN5boost6system16generic_categoryEv]+0x5): undefined reference to `boost::system::detail::generic_category_ncx()'
collect2: error: ld returned 1 exit status
make[2]: *** [ExpansionHunter] Error 1
make[1]: *** [CMakeFiles/ExpansionHunter.dir/all] Error 2
make: *** [all] Error 2
egor-dolzhenko commented 3 years ago

Thank you for reporting the error! Have you built boost yourself?

Also, until this error is fixed, you could use a pre-build Linux binary available in the "Assets" section here: https://github.com/Illumina/ExpansionHunter/releases/tag/v4.0.1

bw2 commented 3 years ago

I think so.. from my logs I used

 wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
./bootstrap.sh --prefix=/usr/local/
 ./b2 -j$(nproc) -d0 install --with=all

Thanks, didn't see the Assets earlier. I can just use the binaries.

egor-dolzhenko commented 3 years ago

Sounds good!

I just confirmed that ExpansionHunter compiles on CentOS release 7.8.2003 with GCC 7.3.1 and Boost 1.66.0 configured like so

./bootstrap.sh --prefix=/home/projects/boost/boost --with-libraries=program_options,filesystem,regex,date_time,system

We can check if the differences in compiler/boost version/configuration are causing problem. Or, if you are happy with using the provided binary, we can close the issue for now.

bw2 commented 3 years ago

Thanks, I'll try recompiling bootstrap. Binaries are working great.