pkg/60510: lang/gforth fails to build on NetBSD/sparc64

"[email protected] via gnats" <[email protected]> Mon, 27 Jul 2026 13:45:00 +0000 (UTC)
Newsgroups gmane.os.netbsd.devel.pkgsrc.bugs
Message-ID <[email protected]>
>Number:         60510
>Category:       pkg
>Synopsis:       lang/gforth fails to build on NetBSD/sparc64
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 27 13:45:00 +0000 2026
>Originator:     Valery Ushakov
>Release:        pkgsrc-2026Q2
>Organization:
>Environment:
NetBSD aurinko 11.99.7 NetBSD 11.99.7 (ULTRA1) #0: Thu Jul 23 00:59:41 MSK 2026  uwe@supi:/home/uwe/work/netbsd/cvs/src/sys/arch/sparc64/compile/ULTRA1 sparc64

>Description:
lang/gforth fails to build on NetBSD current on sparc64
>How-To-Repeat:
for i in libffi.fs fflib.fs cstr.fs unix/socket.fs; do ./gforth -e "s\" `pwd`/lib/gforth/0.7.3/libcc-named/\" libcc-named-dir-v 2! libcc-path clear-path libcc-named-dir libcc-path also-path
:noname 2drop s\" /usr/pkg/lib/gforth/0.7.3/libcc-named/\" ; is replace-rpath" ./$i -e bye; done
/home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/libffi.c: In function 'libffi_LTX_gforth_c_ffi_prep_closure1_aaa_n':
/home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/libffi.c:95:3: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations]
   95 |   sp[2]=ffi_prep_closure1((void *)(sp[2]),(void *)(sp[1]),(void *)(sp[0]));
      |   ^~
In file included from /home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/libffi.c:3:
/home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/.buildlink/include/ffi.h:374:1: note: declared here
  374 | ffi_prep_closure (ffi_closure*,
      | ^~~~~~~~~~~~~~~~

*** Warning: linker path does not have real file for library -lffi.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libffi but no candidates were found. (...for regex pattern test)

*** Warning: libtool could not satisfy all declared inter-library
*** dependencies of module libffi.  Therefore, libtool will create
*** a static module, that should work as long as the dlopening
*** application is linked with the -dlopen flag.

file not found
in file included from *OS command line*:-1
libffi.fs:159: open-lib failed
>>>end-c-library<<<
Backtrace:
$41E04990 throw 
$41E40A98 c(abort") 
$41E41348 compile-wrapper-function1 
/home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/fflib.c: In function 'fflib_LTX_gforth_c_alloc_callback1_a_a':
/home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/fflib.c:177:46: error: passing argument 1 of 'alloc_callback' from incompatible pointer type [-Wincompatible-pointer-types]
  177 | #define alloc_callback1(a_ip) alloc_callback(gforth_callback_ffcall, (Xt *)a_ip)
      |                                              ^~~~~~~~~~~~~~~~~~~~~~
      |                                              |
      |                                              void (*)(void ***, void *)
/home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/fflib.c:182:15: note: in expansion of macro 'alloc_callback1'
  182 |   sp[0]=(Cell)alloc_callback1((void *)(sp[0]));
      |               ^~~~~~~~~~~~~~~
In file included from /home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/fflib.c:3:
/home/uwe/work/netbsd/cvs/pkgsrc-quarterly/lang/gforth/work.sparc64/.buildlink/include/callback.h:58:35: note: expected 'callback_function_t' {aka 'void (*)(void *, struct vacall_alist *)'} but argument is of type 'void (*)(void ***, void *)'
   58 | extern callback_t alloc_callback (callback_function_t /* ADDRESS */, void* /* DATA */);
      |                                   ^~~~~~~~~~~~~~~~~~~

in file included from *OS command line*:-1
fflib.fs:136: libtool compile failed
>>>end-c-library<<<
Backtrace:
$41E04990 throw 
$41E40740 c(abort") 
$41E41348 compile-wrapper-function1 

>Fix: