#61207 closed defect (fixed)
clisp @2.49: error: implicit declaration of function 'strverscmp' is invalid in C99
Reported by: | wlharvey4 (Wesley Harvey) | Owned by: | easye |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.3 |
Keywords: | Cc: | ||
Port: | clisp |
Description
Error: Failed to build clisp: command execution failed
Attachments (1)
Change History (9)
Changed 4 years ago by wlharvey4 (Wesley Harvey)
comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to easye |
---|---|
Port: | @2.49_5 removed |
Status: | new → assigned |
Summary: | Processing of port clisp failed → clisp @2.49: error: implicit declaration of function 'strverscmp' is invalid in C99 |
comment:2 Changed 4 years ago by easye
clisp is not really actively developed as far as I know, so it may be hard to get in touch with a developer. But I will see what I can do.
Submitted an issue upstream with CLISP as <https://gitlab.com/gnu-clisp/clisp/-/issues/26>.
Unfortunately, I don't currently have access to XCode 12, so I don't think I can be of much help.
comment:3 Changed 4 years ago by jmroot (Joshua Root)
The warning will still be printed with older Xcode versions, it just won't be fatal.
comment:4 follow-up: 5 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
strverscmp()
is originally a Linux syscall; where do ports normally get it from? One way might be to get it from libiberty in GCC, but historically this port was able to build with clang. (For some time FreeBSD has forced clisp to build with GCC rather than clang.)
comment:5 Changed 4 years ago by easye
Replying to chrstphrchvz:
strverscmp()
is originally a Linux syscall; where do ports normally get it from? One way might be to get it from libiberty in GCC, but historically this port was able to build with clang. (For some time FreeBSD has forced clisp to build with GCC rather than clang.)
I have just gotten a note from the maintainer of clisp who pointed out there is a newer version of clisp available. I am in the process of bringing that version of the Port into MacPorts to see if it makes things work under XCode 12. The newer version of clisp is compiling with XCode 11.7 for me locally: hopefully the CI builds can show us what happens under XCode 12 when I open a merge request.
<https://gitlab.com/gnu-clisp/clisp/-/issues/26#note_417034241>
comment:6 Changed 4 years ago by easye
The newer version of clisp has been merged with <https://github.com/macports/macports-ports/pull/8504>.
I don't have XCode 12 locally to test, but what I can understand of the CI the XCode 12 build succeeds.
Could somebody please verify that the port runs under XCode 12 so we can possibly close this ticket?
comment:7 Changed 4 years ago by easye
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
wlharvey4 (Wesley Harvey) has verified this port as building under XCode 12. Thanks!
comment:8 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
It builds for me with Xcode 12 command line tools.
I notice that the build output used to contain:
checking whether strverscmp is declared without a macro... no … -e 's|@''GNULIB_STRVERSCMP''@|0|g' \ … -e 's|@''HAVE_STRVERSCMP''@|1|g' \
but now instead contains:
checking whether strverscmp is declared without a macro... no … checking for strverscmp... no … -e 's|@''GNULIB_STRVERSCMP''@|1|g' \ … -e 's|@''HAVE_STRVERSCMP''@|0|g' \
So it looks like it previously wasn't getting strverscmp()
from the correct place.
The log shows the problem is:
Implicit declaration of function errors are new in Xcode 12 and the matching command line tools. We should work with the developers to fix them, but if you want to avoid them, downgrade to the Xcode 11.5 command line tools.