[Bug 281238] lang/gforth: Fails to build with GCC 14: prim:2157:5: error: implicit declaration of function 'ecvt' [-Wimplicit-function-declaration]

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 15 Nov 2024 12:44:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281238

--- Comment #5 from Lorenzo Salvadore <salvadore@freebsd.org> ---
Created attachment 255192
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=255192&action=edit
gforth poudriere log

I get a new error:

gcc14  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc14
-L/usr/local/lib/gcc14  engine-fast-ll.o engine-fast2-ll.o main-fast-ll.o io.o
signals.o support-ll.o  pow10.o ecvt.o  -lavcall -lffi -lltdl -lm
-L/usr/local/lib  -o gforth-fast-ll
gmake[3]: Leaving directory
'/wrkdirs/usr/ports/lang/gforth/work/gforth-0.7.3/engine'
gmake[2]: Leaving directory '/wrkdirs/usr/ports/lang/gforth/work/gforth-0.7.3'
gmake[1]: Leaving directory '/wrkdirs/usr/ports/lang/gforth/work/gforth-0.7.3'
rm -rf lib/gforth/0.7.3/libcc-named/
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/local/lib/gforth/0.7.3/libcc-named/\" ; is replace-rpath" ./$i -e bye;
done
/wrkdirs/usr/ports/lang/gforth/work/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/libffi.c:
In function 'libffi_LTX_gforth_c_ffi_prep_closure1_aaa_n':
/wrkdirs/usr/ports/lang/gforth/work/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
/wrkdirs/usr/ports/lang/gforth/work/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/libffi.c:3:
/usr/local/include/ffi.h:356:1: note: declared here
  356 | ffi_prep_closure (ffi_closure*,
      | ^~~~~~~~~~~~~~~~

file not found
in file included from *OS command line*:-1
libffi.fs:159: open-lib failed
>>>end-c-library<<<
Backtrace:
$D3E2C04990 throw 
$D3E2C40B68 c(abort") 
$D3E2C41418 compile-wrapper-function1 
/wrkdirs/usr/ports/lang/gforth/work/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/fflib.c:
In function 'fflib_LTX_gforth_c_alloc_callback1_a_a':
/wrkdirs/usr/ports/lang/gforth/work/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 *)
/wrkdirs/usr/ports/lang/gforth/work/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
/wrkdirs/usr/ports/lang/gforth/work/gforth-0.7.3/lib/gforth/0.7.3/libcc-named/fflib.c:3:
/usr/local/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:
$3AC710804990 throw 
$3AC7108407E8 c(abort") 
$3AC710841418 compile-wrapper-function1 

file not found
in file included from *OS command line*:-1
cstr.fs:23: open-lib failed
>>>end-c-library<<<
Backtrace:
$2DCBEAC04990 throw 
$2DCBEAC40B68 c(abort") 
$2DCBEAC41418 compile-wrapper-function1 

file not found
in file included from *OS command line*:-1
unix/socket.fs:48: open-lib failed
>>>end-c-library<<<
Backtrace:
$2D68D3E04990 throw 
$2D68D3E40B68 c(abort") 
$2D68D3E41418 compile-wrapper-function1 
gmake: *** [Makefile:653: build-libcc-named] Error 1
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/gforth
build of lang/gforth | gforth-0.7.3_15 ended at Fri Nov 15 13:29:45 CET 2024
build time: 00:01:11
!!! build failure encountered !!!



Please see attachment for the full log.

I have tried adding CFLAGS+=-fpermissive as it is working with many other
ports: the build completes successfully, however I then get issues with missing
files in pkg-plist.

-- 
You are receiving this mail because:
You are on the CC list for the bug.