On Tue, Feb 1, 2022 at 11:20 AM Mathieu Malaterre <ma...@debian.org> wrote: > > On Tue, Feb 1, 2022 at 11:16 AM Andreas Tille <andr...@an3as.eu> wrote: > > > > Hi again in this iterative build process, ;-) > > > > Am Tue, Feb 01, 2022 at 10:10:56AM +0100 schrieb Mathieu Malaterre: > > > > > > > > Thanks to your patch I was able to make some progress and added > > > > further patches. Now I'm struck again since the build system injects > > > > some `-static` option. I checked > > > > > > I can see your patch `no_static_linking.patch` which seems to be > > > missing the PORTABLE option. This one needs to be set to "OFF" > > > > This is done now[1] ... but this build issue is not done yet: > > > > > > ... > > [100%] Linking CXX executable sortmerna > > cd /build/sortmerna-4.3.4/obj-x86_64-linux-gnu/src/sortmerna && > > /usr/bin/cmake -E cmake_link_script CMakeFiles/sortmerna.dir/link.txt > > --verbose=1 > > /usr/bin/c++ -g -O2 -ffile-prefix-map=/build/sortmerna-4.3.4=. > > -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time > > -D_FORTIFY_SOURCE=2 -W -Wextra -Wall -Xlinker -v -Wl,-z,relro -Wl,-z,now > > CMakeFiles/sortmerna.dir/main.cpp.o > > ../../CMakeFiles/build_version.dir/build_version.cpp.o > > CMakeFiles/smr_objs.dir/alignment.cpp.o > > CMakeFiles/smr_objs.dir/bitvector.cpp.o CMakeFiles/smr_objs.dir/cmd.cpp.o > > CMakeFiles/smr_objs.dir/izlib.cpp.o CMakeFiles/smr_objs.dir/index.cpp.o > > CMakeFiles/smr_objs.dir/indexdb.cpp.o > > CMakeFiles/smr_objs.dir/kseq_load.cpp.o CMakeFiles/smr_objs.dir/kvdb.cpp.o > > CMakeFiles/smr_objs.dir/options.cpp.o CMakeFiles/smr_objs.dir/output.cpp.o > > CMakeFiles/smr_objs.dir/summary.cpp.o > > CMakeFiles/smr_objs.dir/paralleltraversal.cpp.o > > CMakeFiles/smr_objs.dir/processor.cpp.o CMakeFiles/smr_objs.dir/read.cpp.o > > CMakeFiles/smr_objs.dir/readfeed.cpp.o > > CMakeFiles/smr_objs.dir/readstats.cpp.o > > CMakeFiles/smr_objs.dir/references.cpp.o > > CMakeFiles/smr_objs.dir/refstats.cpp.o CMakeFiles/smr_objs.dir/ssw.c.o > > CMakeFiles/smr_objs.dir/traverse_bursttrie.cpp.o > > CMakeFiles/smr_objs.dir/util.cpp.o CMakeFiles/smr_objs.dir/otumap.cpp.o > > CMakeFiles/smr_objs.dir/report.cpp.o > > CMakeFiles/smr_objs.dir/report_fx_base.cpp.o > > CMakeFiles/smr_objs.dir/report_fastx.cpp.o > > CMakeFiles/smr_objs.dir/report_fx_other.cpp.o > > CMakeFiles/smr_objs.dir/report_blast.cpp.o > > CMakeFiles/smr_objs.dir/report_denovo.cpp.o > > CMakeFiles/smr_objs.dir/report_biom.cpp.o > > CMakeFiles/smr_objs.dir/report_sam.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_dynprogprob.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_dynprogproblim.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_dynprogprobproto.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_ioutil.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_localmaxstat.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_localmaxstatmatrix.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_localmaxstatutil.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_random.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alignment_evaluer.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp_data.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp_regression.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp_sim.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_basic.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_pvalues.cpp.o -o sortmerna > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bdz.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bdz_ph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bmz.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bmz8.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/brz.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/buffer_entry.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/buffer_manager.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/chd.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/chd_ph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/chm.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/cmph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/cmph_structs.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/compressed_rank.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/compressed_seq.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/fch.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/fch_buckets.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/graph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/hash.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/jenkins_hash.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/miller_rabin.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/select.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/vqueue.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/vstack.c.o > > /usr/lib/x86_64-linux-gnu/librocksdb.so.6.25.3 -ldl > > /usr/lib/x86_64-linux-gnu/libz.so > > collect2 version 11.2.0 > > /usr/bin/ld -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so > > -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper > > -plugin-opt=-fresolution=/tmp/cc9qLSGi.res > > -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc > > -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s > > -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 > > --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 > > -pie -o sortmerna > > /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o > > /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o > > /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o > > -L/usr/lib/gcc/x86_64-linux-gnu/11 > > -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu > > -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu > > -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib > > -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. -v -z relro -z now > > CMakeFiles/sortmerna.dir/main.cpp.o > > ../../CMakeFiles/build_version.dir/build_version.cpp.o > > CMakeFiles/smr_objs.dir/alignment.cpp.o > > CMakeFiles/smr_objs.dir/bitvector.cpp.o CMakeFiles/smr_objs.dir/cmd.cpp.o > > CMakeFiles/smr_objs.dir/izlib.cpp.o CMakeFiles/smr_objs.dir/index.cpp.o > > CMakeFiles/smr_objs.dir/indexdb.cpp.o > > CMakeFiles/smr_objs.dir/kseq_load.cpp.o CMakeFiles/smr_objs.dir/kvdb.cpp.o > > CMakeFiles/smr_objs.dir/options.cpp.o CMakeFiles/smr_objs.dir/output.cpp.o > > CMakeFiles/smr_objs.dir/summary.cpp.o > > CMakeFiles/smr_objs.dir/paralleltraversal.cpp.o > > CMakeFiles/smr_objs.dir/processor.cpp.o CMakeFiles/smr_objs.dir/read.cpp.o > > CMakeFiles/smr_objs.dir/readfeed.cpp.o > > CMakeFiles/smr_objs.dir/readstats.cpp.o > > CMakeFiles/smr_objs.dir/references.cpp.o > > CMakeFiles/smr_objs.dir/refstats.cpp.o CMakeFiles/smr_objs.dir/ssw.c.o > > CMakeFiles/smr_objs.dir/traverse_bursttrie.cpp.o > > CMakeFiles/smr_objs.dir/util.cpp.o CMakeFiles/smr_objs.dir/otumap.cpp.o > > CMakeFiles/smr_objs.dir/report.cpp.o > > CMakeFiles/smr_objs.dir/report_fx_base.cpp.o > > CMakeFiles/smr_objs.dir/report_fastx.cpp.o > > CMakeFiles/smr_objs.dir/report_fx_other.cpp.o > > CMakeFiles/smr_objs.dir/report_blast.cpp.o > > CMakeFiles/smr_objs.dir/report_denovo.cpp.o > > CMakeFiles/smr_objs.dir/report_biom.cpp.o > > CMakeFiles/smr_objs.dir/report_sam.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_dynprogprob.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_dynprogproblim.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_dynprogprobproto.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_ioutil.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_localmaxstat.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_localmaxstatmatrix.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_localmaxstatutil.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/njn_random.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alignment_evaluer.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp_data.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp_regression.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_alp_sim.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_basic.cpp.o > > ../../3rdparty/alp/CMakeFiles/alp.dir/sls_pvalues.cpp.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bdz.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bdz_ph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bmz.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/bmz8.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/brz.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/buffer_entry.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/buffer_manager.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/chd.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/chd_ph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/chm.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/cmph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/cmph_structs.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/compressed_rank.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/compressed_seq.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/fch.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/fch_buckets.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/graph.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/hash.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/jenkins_hash.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/miller_rabin.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/select.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/vqueue.c.o > > ../../3rdparty/cmph/CMakeFiles/cmph.dir/vstack.c.o > > /usr/lib/x86_64-linux-gnu/librocksdb.so.6.25.3 -ldl > > /usr/lib/x86_64-linux-gnu/libz.so -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s > > -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o > > /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o > > GNU ld (GNU Binutils for Debian) 2.37.90.20220130 > > /usr/bin/ld: CMakeFiles/smr_objs.dir/output.cpp.o: undefined reference to > > symbol 'pthread_create@@GLIBC_2.2.5' > > /usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: > > DSO missing from command line > > collect2: error: ld returned 1 exit status > > > > > > Any further hint? > > > > Kind regards and thanks a lot for your patience > > Odd. > > Here is what I see: > > % cat src/sortmerna/CMakeLists.txt > [...] > # the following are all transitive dependencies of > smr_objs i.e. no need to link: > # RapidJSON::RapidJSON ZLIB::ZLIB Threads::Threads (rockdb > deps) > > So there may be an issue in the RocksDbConfig file... in any case I > suspect this is acceptable to simply add it manually back: > > # RapidJSON::RapidJSON ZLIB::ZLIB (rockdb deps) > Threads::Threads
Very odd. pthread transitive dep should have been pulled: % grep -2 thread /usr/lib/x86_64-linux-gnu/cmake/rocksdb/RocksDBTargets.cmake set_target_properties(RocksDB::rocksdb PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:gflags::gflags_shared>;\$<LINK_ONLY:Snappy::snappy>;\$<LINK_ONLY:ZLIB::ZLIB>;/usr/lib/x86_64-linux-gnu/libbz2.so;\$<LINK_ONLY:zstd::zstd>;\$<LINK_ONLY:-lpthread>" ) that goes a bit too far in my understanding of cmake at this point. > > Andreas. > > > > > > [1] > > https://salsa.debian.org/med-team/sortmerna/-/blob/master/debian/patches/no_static_linking.patch > > > > -- > > http://fam-tille.de > >