Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#61483 closed defect (fixed)

neon @0.30.2: configure failure due to implicit declaration of functions

Reported by: AP1010 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: catalina bigsur Cc: jungx098, ShadSterling (Shad Sterling), jboydon (John Boydon), michaellass (Michael Lass), hapaguy (Brian Kurt Fujikawa), cooljeanius (Eric Gallager), horasio (Samuel Hornus), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: neon

Description

configure stage fails with:

...
checking for library containing socket... not found
configure: error: could not find library containing socket
...

Attachments (2)

main.log (98.0 KB) - added by AP1010 3 years ago.
config.log (81.9 KB) - added by AP1010 3 years ago.

Download all attachments as: .zip

Change History (29)

comment:1 Changed 3 years ago by mf2k (Frank Schima)

Keywords: socket removed

comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Could be the ubiquitous implicit declaration of function error. Please attach the config.log.

Changed 3 years ago by AP1010

Attachment: main.log added

comment:3 Changed 3 years ago by AP1010

Logs added

Last edited 3 years ago by AP1010 (previous) (diff)

Changed 3 years ago by AP1010

Attachment: config.log added

comment:4 Changed 3 years ago by AP1010

Indeed, it does seem to be the "implicit declaration invalid in C99 issue". The port builds with configure.compiler=macports-clang-9.0

comment:5 in reply to:  4 Changed 3 years ago by Tatsh (Andrew Udvare)

Replying to AP1010:

Indeed, it does seem to be the "implicit declaration invalid in C99 issue". The port builds with configure.compiler=macports-clang-9.0

Also works with macports-clang-11.

comment:6 Changed 3 years ago by jungx098

Cc: jungx098 added

comment:7 Changed 3 years ago by ShadSterling (Shad Sterling)

Cc: ShadSterling added

comment:8 Changed 3 years ago by jungx098

The root cause is that clang 12 enables -Werror by default. Not sure if Apple will roll back this feature.

One workaround is to add -Wno-error=all to CFLAGS.

I made a quick patch: https://github.com/macports/macports-ports/compare/master...jungx098:neon

comment:9 in reply to:  8 Changed 3 years ago by kencu (Ken)

Replying to jungx098:

The root cause is that clang 12 enables -Werror by default. Not sure if Apple will roll back this feature.

I don't think it's a blanket -Werror, but they do generate an error on implicit function definitions, by default, as of Xcode12.

One workaround is to add -Wno-error=all to CFLAGS.

Turning off the error can be done more specifically for that error as well, or you can build with a non-Apple clang compiler like macports-clang-10, however apparently if you fix the build that way, it remains broken on all the new Apple Silicon machines, that require a proper header and a proper function definition for every function.

So MacPorts is not accepting the fix of turning off the error or building with a non-Apple clang compiler as a fix for this issue, as we'll all just have to come right back to this same issue again in a few months and fix it properly anyway.

As a fix for your own personal system, no problem of course -- it's your system, you can do anything you want with it!

comment:10 Changed 3 years ago by kencu (Ken)

comment:11 in reply to:  10 Changed 3 years ago by jungx098

Replying to kencu:

See this message for many gory details <https://lists.macports.org/pipermail/macports-dev/2020-November/042648.html>

Thanks for the details. It feels like non-trivial.

comment:12 Changed 3 years ago by mf2k (Frank Schima)

Cc: jboydon added

Has duplicate #62076.

comment:13 Changed 3 years ago by jboydon (John Boydon)

I am struggling with neon installation. Can someone tell me the proper way to specify CFLAGS=-Wno-error=all in the command line?

I have tried with the following without success:

sudo port -v install configure.cflags="-Wno-error=all"
sudo port -v install configure.cflags-append="-Wno-error=all"

Thanks

john

comment:14 Changed 3 years ago by sdguip

Compiled with success:

sudo port install neon configure.cflags=-Wno-error=all

comment:15 Changed 3 years ago by michaellass (Michael Lass)

Cc: michaellass added

comment:16 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: catalina bigsur added
Owner: set to ryandesign
Status: newaccepted
Summary: neon @0.30.2 does not build on Big Sur (11.0.1)neon @0.30.2: configure failure due to implicit declaration of functions

After an unsuccessful initial attempt to fix it myself, I've reported the problem to the developers.

comment:17 Changed 3 years ago by hapaguy (Brian Kurt Fujikawa)

Cc: hapaguy added

comment:18 Changed 3 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:19 Changed 3 years ago by cooljeanius (Eric Gallager)

Note that this blocks installation of a bunch gnome, xfce, and gimp-related ports. On my system port echo rdepends:neon | wc -l returns 175 ports.

comment:20 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Sure. Upstream should fix it. Then we can update to a fixed version.

comment:21 Changed 3 years ago by horasio (Samuel Hornus)

Cc: horasio added

comment:22 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:23 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

There is a pull request that attempts to fix this problem.

comment:24 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: acceptedclosed

In 8ebca005e621996adadb5af3f99f4d4081820982/macports-ports (master):

neon: update version 0.30.2->0.31.2

Update webpage.
Fix livecheck.
Use muniversal PG for universal builds.
Attempt to avoid implicit declarations in configure script.

Fixes #61483

comment:25 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

I've submitted a PR to neon that should fix this properly:

https://github.com/notroj/neon/pull/57

It won't apply to 0.31.2 unless this commit is applied first:

https://github.com/notroj/neon/commit/43a9b7e0d72ee97dcdbc102254ada20278eac80b

comment:26 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

In 09ad005b23334856812ada84927884edc6fb7bf8/macports-ports (master):

litmus: Allow using MacPorts neon 0.31.x

Update patch to allow using MacPorts neon 0.31.x. Add configure flag to
ensure that we never try to use the bundled older neon.

Closes: #61483

comment:27 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Whoops, wrong URL on the clipboard. That commit should have referenced #63227.

Note: See TracTickets for help on using tickets.