On 10/07/2024 15.58, Nilesh Patra wrote:
On Wed, Jul 10, 2024 at 12:14:05PM +0200, Michael R. Crusoe wrote:I upgraded r-bioc-rhdf5lib from 1.24.2 to 1.26.0 in the "debian/experimental" branch on salsa. https://salsa.debian.org/r-pkg-team/r-bioc-rhdf5lib/-/tree/debian/experimental?ref_type=heads However when I try to build other packages using the resulting "r-bioc-rhd5lib" binary package, I get the following build errors: # From r-bioc-alabaster.base https://salsa.debian.org/r-pkg-team/r-bioc-alabaster.base g++ -std=gnu++17 -shared -L/usr/lib/R/lib -Wl,-z,relro -o alabaster.base.so RcppExports.o check_csv.o check_list.o choose_numeric_missing_placeholder.o is_rfc3339.o load_csv.o load_list.o validate.o /usr/lib/R/site-library/Rhdf5lib/libs/libhdf5_cpp.a /usr/lib/R/site-library/Rhdf5lib/libs/libhdf5.a -lcrypto -lcurl -lpthread -lsz -lz -ldl -lm -lz -L/usr/lib/R/lib -lR /usr/bin/ld: cannot find /usr/lib/R/site-library/Rhdf5lib/libs/libhdf5_cpp.a: No such file or directory /usr/bin/ld: cannot find /usr/lib/R/site-library/Rhdf5lib/libs/libhdf5.a: No such file or directory collect2: error: ld returned 1 exit status Can I get some help with this? Please push any fixes directly to the "debian/experimental" branch on Salsa and let me know, thank you!I don't have the time to write a patch/hack around this right now, but I understood what the issue is and it should be relatively easy to fix. alabaster.base used Rhdf5lib::pkgconfig("PKG_CXX_LIBS") to get the linker flags for Rhdf5 lib as can be see here[1] This has been set to an incorrect value as per the debian installed package[2]. It points to a path that does not exist since we are using hdf5 packaged in debian instead of building and using embedded copies. Patching the code to point to the correct path should fix the issue for you.
Thank you, Nilesh, that got me further! With https://salsa.debian.org/r-pkg-team/r-bioc-rhdf5lib/-/commit/13333ce8837d34d244f60b4a26469ba378babcb0 I get g++ -std=gnu++17 -shared -L/usr/lib/R/lib -Wl,-z,relro -o alabaster.base.so RcppExports.o check_csv.o check_list.o choose_numeric_missing_placeholder.o is_rfc3339.o load_csv.o load_list.o validate.o /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.a /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a -lcrypto -lcurl -lpthread -lsz -lz -ldl -lm -lz -L/usr/lib/R/lib -lR /usr/bin/ld: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.a(H5Exception.o): warning: relocation against `_ZTVN2H518DataTypeIExceptionE' in read-only section `.text' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.a(H5Exception.o): relocation R_X86_64_PC32 against symbol `_ZTVN2H59ExceptionE' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: bad value collect2: error: ld returned 1 exit status make[1]: *** [/usr/share/R/share/make/shlib.mk:10: alabaster.base.so] Error 1
For building r-bioc-alabaster.base, feel free to use the bioc-3.19 test packages I've been making: https://people.debian.org/~crusoe/bioc/ -- Michael R. Crusoe[1]: https://salsa.debian.org/r-pkg-team/r-bioc-alabaster.base/-/blob/master/src/Makevars?ref_type=heads#L1 [2]: https://salsa.debian.org/r-pkg-team/r-bioc-rhdf5lib/-/blob/debian/experimental/R/zzz.R?ref_type=heads#L73 Best, Nilesh
OpenPGP_signature.asc
Description: OpenPGP digital signature