[Bug 259177] lang/swi-pl update from 8.2.3 to 8.4.0-1

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 10 Nov 2021 07:00:11 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259177

--- Comment #5 from dewayne@heuristicsystems.com.au ---
(In reply to Wen Heping from comment #4)
Thank-you Wen Heping.  I had some challenges because I hadn't yet moved to git
and our portrevision was 1 not 3.  Regardless, on FreeBSD 12.2Stable and
building with gcc10 (gcc-10.2.0), I have 
# swipl -g version.
Welcome to SWI-Prolog (threaded, 32 bits, version 8.4.0)
and
# swipl -g version
Welcome to SWI-Prolog (threaded, 64 bits, version 8.4.0)

We build most of our ports using gcc, because that's what most developers use.

As an FYI, we take advantage of FreeBSD's implementation of ASLR on production
systems where SWI-PL 8.4.0 is now installed, we also build with O3 and LDFLAGS=
-Wl,--strip-debug -Wl,--build-id=md5 -Wl,--hash-style=sysv -pie -Wl,-z,notext
-z notext -z relro -z now -Wl,-rpath=/usr/local/lib/gcc10
-L/usr/local/lib/gcc10

swi-pl passed our tests which includes "extras" like threads, clpfd, external
tables, yaml and now redis :) 

-------------  As an FYI, ...
We attempted to build using clang, but retained the gcc CFLAGS, some of which
don't work with clang.  

On i386 with clang 10.0.1 fails with:

306/930] /usr/bin/cc  -Isrc
-I/var/ports/usr/ports/lang/swi-pl/work/swipl-8.4.0/src
...
-c /var/ports/usr/ports/lang/swi-pl/work/swipl-8.4.0/src/pl-thread.c
FAILED: src/CMakeFiles/swiplobjs.dir/pl-thread.c.o

/var/ports/usr/ports/lang/swi-pl/work/swipl-8.4.0/src/pl-thread.c:1740:31:
error: too few arguments to function call, expected 2, have 1
  if ( pthread_setname_np(name) == 0 )
       ~~~~~~~~~~~~~~~~~~     ^
/usr/include/pthread.h:306:1: note: 'pthread_setname_np' declared here
int             pthread_setname_np(pthread_t, const char *);
^
1 error generated.
ninja: build stopped: subcommand failed.
*** Error code 1

--------------
Back to amd64 build using clang 10.0.1
[105/930] /usr/bin/cc -Dplugin_time_EXPORTS -Ipackages/clib
-I/var/ports/usr/ports/lang/swi-pl/work/swipl-8.4.0/src/os
...
-c /var/ports/usr/ports/lang/swi-pl/work/swipl-8.4.0/packages/clib/time.c

/var/ports/usr/ports/lang/swi-pl/work/swipl-8.4.0/packages/clib/time.c:158:33:
error: void function 'print_trace' should not return a value [-Wreturn-type]
static void print_trace (void) {return(0);} /* Kludge: FreeBSD doesnt have
backtrace in glibc */
                                ^     ~~~
1 error generated.
ninja: build stopped: subcommand failed.
*** Error code 1

=========== The following were my initial build attempts where I had these
problems, which are probably of my own doing (because I hadn't moved to
portrevision=3

===>  Building package for swi-pl-8.4.0
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/chr-warnings-and-errors.html:No such file or
directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/debug-determinism.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/increval.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/portraytext.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/prologdebug.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/ssu.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/string.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/tabling-monotonic.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/Manual/terms.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/packages/mqi.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/packages/redis.html:No such file or directory
pkg-static: Unable to access file
/var/ports/usr/ports/lang/swi-pl/work/stage/us                    
r/local/lib/swipl/doc/packages/stomp.html:No such file or directory
*** Error code 1

After some minor changes, we're very happy and I'm glad that it works. 
Thank-you.

-- 
You are receiving this mail because:
You are the assignee for the bug.