On Fri, Apr 26, 2024 at 07:04:22AM +0200, Sebastien Marie wrote: > Dima Pasechnik <[email protected]> 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
