[Bug 270886] lang/swi-pl update to 9.0.4 requires -lstdthreads
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 270886] lang/swi-pl update to 9.0.4 requires -lstdthreads"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 17 Apr 2023 11:56:55 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270886
--- Comment #2 from dewayne@heuristicsystems.com.au ---
(In reply to Wen Heping from comment #1)
Hi Wen. I raised this with the developers, though it seems that this is a
FreeBSD issue, you can find the discussion here
https://swi-prolog.discourse.group/t/freebsd-installation/6467
I have a very custom swi-pl/Makefile so providing a patch will only make life
complicated. For 9.0.4 I have added to my Makefile
DISTVERSION= 9.0.4
LDFLAGS+= -lstdthreads
And to pkg-plist
diff --git a/local/swi-pl/pkg-plist b/local/swi-pl/pkg-plist
index 28f65c168e..b5c04bf765 100644
--- a/local/swi-pl/pkg-plist
+++ b/local/swi-pl/pkg-plist
@@ -96,8 +96,8 @@ lib/swipl/lib/%%ARCH%%-%%OS%%/isub.so
lib/swipl/lib/%%ARCH%%-%%OS%%/json.so
lib/swipl/lib/%%ARCH%%-%%OS%%/libedit4pl.so
lib/swipl/lib/%%ARCH%%-%%OS%%/libswipl.so
-lib/swipl/lib/%%ARCH%%-%%OS%%/libswipl.so.8
-lib/swipl/lib/%%ARCH%%-%%OS%%/libswipl.so.8.4.3
+lib/swipl/lib/%%ARCH%%-%%OS%%/libswipl.so.9
+lib/swipl/lib/%%ARCH%%-%%OS%%/libswipl.so.9.0.4
lib/swipl/lib/%%ARCH%%-%%OS%%/md54pl.so
lib/swipl/lib/%%ARCH%%-%%OS%%/memfile.so
lib/swipl/lib/%%ARCH%%-%%OS%%/ntriples.so
and of course a: make makesum
This should get a basic build working.
I've found that swi-pl is sensitive to some of the *FLAGS that I use, so I have
also modified the Makefile to force use of a two argument pthread_setname_np in
src/pl-thread.c by adding to
post-patch:
@${REINPLACE_CMD} -e '/HAVE_PTHREAD_SETNAME_NP_WITH_TID/s/ifdef
HAVE_PTHREAD_SETNAME_NP_WITH_TID/if 1/g'\
${WRKSRC}/src/pl-thread.c
I'd spent a lot of time trying to find the cause but to no avail.
You may wish to also use lto and O3 to build swipl, so I have added
WITH_LTO= yes
C_CFLAGS= -O3
and to post-patch:
@${REINPLACE_CMD} -e '/CMAKE_C_FLAGS_RELEASE/s|O2|O3|1'\
${WRKSRC}/cmake/BuildType.cmake
That's the straight forward changes which should help with the update from
8.4.1 to 9.0.4. I only use the cli version of swipl and without any GPL
additions.
I trust that this is useful? :)
--
You are receiving this mail because:
You are the assignee for the bug.