Opened 4 years ago

Closed 4 years ago

#61068 closed defect (fixed)

lynx on Big Sur cannot find ncurses headers due to implicit declaration not allowed in C99

Reported by: snowflake (Dave Evans) Owned by: larryv (Lawrence Velázquez)
Priority: Normal Milestone:
Component: ports Version: 2.6.99
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), hnarayanan (Harish Narayanan), fracai, balanco, teh-maxh (Max Harmony)
Port: lynx

Description

lynx on Big Sur fails in the configure phase.

Config.log shows

configure:18958: /usr/bin/clang -c -pipe -Os -isysroot/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -arch x86_64 -I/opt/local/include -isysroot/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -D_DARWIN_C_SOURCE -I/opt/local/include/openssl conftest.c >&5
configure:18947:10: fatal error: 'ncurses/curses.h' file not found
#include <ncurses/curses.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
configure:18961: $? = 1
configure: failed program was:
#line 18946 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
int
main (void)
{
initscr(); tgoto("?", 0,0)
  ;
  return 0;
}
configure:18978: result: none
configure:18982: error: No curses header-files found

Earlier in config.log, it was complaining that implicit declaration of tgoto was not allowed in C99

configure:18934: checking if we have identified curses headers
configure:18958: /usr/bin/clang -c -pipe -Os -isysroot/Applications/Xcode-beta.app/Contents/Deve
loper/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -arch x86_64 -I/opt/local/include 
-isysroot/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDK
s/MacOSX11.0.sdk -D_DARWIN_C_SOURCE -I/opt/local/include/openssl conftest.c >&5
configure:18951:12: error: implicit declaration of function 'tgoto' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
initscr(); tgoto("?", 0,0)
           ^
1 error generated.
configure:18961: $? = 1
configure: failed program was:
#line 18946 "configure"
#include "confdefs.h"
#include <ncurses.h>
int
main (void)
{
initscr(); tgoto("?", 0,0)
  ;
  return 0;
}

Change History (8)

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign added

I reported the problem to the developers of lynx: https://lists.nongnu.org/archive/html/lynx-dev/2020-08/msg00035.html

comment:2 in reply to:  1 Changed 4 years ago by snowflake (Dave Evans)

Replying to ryandesign:

I reported the problem to the developers of lynx: https://lists.nongnu.org/archive/html/lynx-dev/2020-08/msg00035.html

This is horrendous. I just did a quick grep of all my logs for invalid in C99 and found around 1700 lines. This is after a mass install of around 2000 ports.

This is on Big Sur, Xcode 12 beta 5.

Here's a list of the failing ports.

TeXShop4
aalib
chmlib
clisp
cloog
convertlit
daemontools
db46
detex
esound
gnome-vfs
graphviz
gstreamer010
kermit
libdv
libiodbc
net-snmp
nghttp2
nsping
openmotif
pinentry-mac
pulseaudio
python34
rb-rdiscount
stfl
tclxml
ucspi-tcp
virtuoso-7
w3m

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

I can't speak to whether each instance of 'invalid in C99' represents an actual problem. Each build failure or problem will need to be investigated separately, and we can't properly track such work if everything is bunched together in one ticket. This ticket will be about the lynx problem. The graphviz problem was fixed yesterday.

comment:4 Changed 4 years ago by hnarayanan (Harish Narayanan)

Cc: hnarayanan added

comment:5 Changed 4 years ago by fracai

Cc: fracai added

comment:6 Changed 4 years ago by balanco

Cc: balanco added

comment:7 Changed 4 years ago by teh-maxh (Max Harmony)

Cc: teh-maxh added

comment:8 Changed 4 years ago by ryanakca (Ryan Kavanagh)

Resolution: fixed
Status: assignedclosed

In b5238f4b0af5f9137b3b8e39604763fd8e5a07ca/macports-ports (master):

lynx: fix build failure due to implicit declaration

  • patch configure script to not implicitly declare tgoto, patch-no-implicit-tgoto.diff
  • set the size for lynx distfile
  • ensure patches follow the patch-*.diff naming scheme
  • fix build under trace mode by specifying that we need perl

Closes: #61068

Note: See TracTickets for help on using tickets.