On Fri, Apr 26, 2024 at 07:04:22AM +0200, Sebastien Marie wrote: > Dima Pasechnik <d...@sagemath.org> writes: > > Only one thing isn't properly addressed: the SONAME of the library is > still `libsbcl.so`. This information is used by the linker at compile > time when the library is used. > > $ readelf -d libsbcl.so | grep SONAME > > Having SOFLAGS defined to -Wl,-soname,libsbcl.so.${LIBsbcl_VERSION} > should be enough (I have done that in > src/runtime/Config.generic-openbsd, but I did the things a bit > differently).
Indeed, --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -93,7 +93,8 @@ MAKE_ENV += CFLAGS="${CFLAGS} -I${LOCALBASE}/include" \ MAN_DIR="${PREFIX}/man/" \ INFO_DIR="${PREFIX}/info/" \ SBCL_MAKE_JOBS="-j${MAKE_JOBS}" \ - LIBsbcl_VERSION="${LIBsbcl_VERSION}" + LIBsbcl_VERSION="${LIBsbcl_VERSION}" \ + SOFLAGS="-Wl,-soname,libsbcl.so.${LIBsbcl_VERSION}" USE_GMAKE = Yes adds the correct SONAME to libsbcl.so: $ readelf -d /usr/ports/pobj/sbcl-2.4.3/fake-amd64/usr/local/lib/libsbcl.so.0.0 | grep SO 0x000000000000000e (SONAME) Library soname: [libsbcl.so.0.0] Best, Dima > > Thanks. > -- > Sebastien Marie >
signature.asc
Description: PGP signature