[Debian-med-packaging] Bug#948926: Help for linking library needed (Was: Bug#948926: blasr ftbfs with libpbbam1.0.6)

Andreas Tille andreas at an3as.eu
Wed Jan 15 16:50:03 GMT 2020


Control: tags -1 help

On Tue, Jan 14, 2020 at 09:48:10PM +0100, Paul Gevers wrote:
> Did not find CMake 'cmake'
> Found CMake: NO
> Run-time dependency pbbam found: NO
> 
> meson.build:54:0: ERROR: Could not generate cargs for pbbam:
> Package pbcopper was not found in the pkg-config search path.
> Perhaps you should add the directory containing `pbcopper.pc'
> to the PKG_CONFIG_PATH environment variable
> Package 'pbcopper', required by 'pbbam', not found

I've fixed this specific issue (and others) in Git[1] but I'm running
into trouble I have no idea to fix.


...
[22/25] c++  -o toAfg 'toAfg at exe/utils_ToAfg.cpp.o' -I/usr/include/pbseq -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/hdf5/serial -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wdate-time -             D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/blasr-5.3.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DHAVE_HDF5_1_10_1 -std=c++14 -Wl,--start-group -lhdf5_cpp -lhdf5 libblasr_impl. a -pthread -lblasr /usr/lib/x86_64-linux-gnu/libz.so -lpbdata -lpbihdf -lblasr -lpbdata -lpbihdf -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/build/blasr-5.3.3+dfsg/build/
FAILED: toAfg
c++  -o toAfg 'toAfg at exe/utils_ToAfg.cpp.o' -I/usr/include/pbseq -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/hdf5/serial -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wdate-time -D_FORTIFY_SOURCE=2 - g -O2 -fdebug-prefix-map=/build/blasr-5.3.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DHAVE_HDF5_1_10_1 -std=c++14 -Wl,--start-group -lhdf5_cpp -lhdf5 libblasr_impl.a -pthread -lblasr / usr/lib/x86_64-linux-gnu/libz.so -lpbdata -lpbihdf -lblasr -lpbdata -lpbihdf -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/build/blasr-5.3.3+dfsg/build/
/usr/bin/ld: toAfg at exe/utils_ToAfg.cpp.o: undefined reference to symbol '_ZN6PacBio3BAM9BamRecordD1Ev'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu//libpbbam.so.0.23.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status


In the pbuilder chroot I tried to simplify the linker call and
reduced it to

root at sputnik:/build/blasr-5.3.3+dfsg/build# c++  -o toAfg 'toAfg at exe/utils_ToAfg.cpp.o' -I/usr/include/pbseq -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/hdf5/serial -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -DHAVE_HDF5_1_10_1 -std=c++14 -lhdf5_cpp -lhdf5 ./libblasr_impl.a -pthread -lz -lpbdata -lpbihdf -lpbihdf -lblasr
/usr/bin/ld: toAfg at exe/utils_ToAfg.cpp.o: undefined reference to symbol '_ZN6PacBio3BAM9BamRecordD1Ev'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libpbbam.so.0.23.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status


I've checked that the symbol which is not found exists in the linked
libraries:

root at sputnik:/build/blasr-5.3.3+dfsg/build# grep _ZN6PacBio3BAM9BamRecordD1Ev /usr/lib/x86_64-linux-gnu/*libpb*
Binary file /usr/lib/x86_64-linux-gnu/libpbbam.so matches
Binary file /usr/lib/x86_64-linux-gnu/libpbbam.so.0.23.0 matches
Binary file /usr/lib/x86_64-linux-gnu/libpbbam.so.1.0.6 matches
Binary file /usr/lib/x86_64-linux-gnu/libpbdata.a matches
Binary file /usr/lib/x86_64-linux-gnu/libpbdata.so matches


I wonder whether the issue might be connected to the fact that there is
only a shared lib but no libpbbam.a (the build system of libpbbam-dev
would need to be tweaked - but I'd assume a shared lib should be
sufficient for linking, right?)


Any hint to fix the build would be welcome.

Kind regards

       Andreas.


[1] https://salsa.debian.org/med-team/blasr

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list