Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#61662 closed defect (fixed)

slrn @1.0.3: error: implicitly declaring library function 'exit'

Reported by: m-schmidt (Michael Schmidt) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: bigsur catalina Cc:
Port: slrn

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Building Slrn 1.0.3 fails with this log message:

:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_news_slrn/slrn/work/slrn-1.0.3/src/misc.c:376:4: error: implicit declaration of function 'VA_COPY' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
:info:build    VA_COPY(ap1, ap);
:info:build    ^

The reason seems to be that Slrn fails to build when it is configured as if the system has no support for va_copy(). However macOS Big Sur actually supports va_copy(). We seem to have two bugs here: one in Slrn itself for failing to build in this specific configuration and a further one in the configure script that fails to properly detect support for va_copy().

The reason for the latter problem is a bug in the configure script. The check uses exit() without properly including the necessary header file stdlib.h as indicated by configure in its config.log:

configure:8294: checking for an implementation of va_copy()
configure:8323: /usr/bin/clang -o conftest -pipe -Os -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -arch x86_64 -I/opt/local/include -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -arch x86_64 conftest.c  >&5
conftest.c:91:4: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
          exit (1);
          ^
conftest.c:91:4: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'

Change History (4)

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

Description: modified (diff)
Keywords: bigsur catalina added
Port: slrn added; Slrn removed
Summary: Building Slrn 1.0.3 fails on macOS Big Surslrn @1.0.3: procmail
Version: 2.6.4

The only bug we probably need to fix is that the configure script doesn't include the required headers. This is a well-known situation with Xcode 12.

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

Description: modified (diff)
Summary: slrn @1.0.3: procmailslrn @1.0.3: error: implicitly declaring library function 'exit'

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

Owner: set to ryandesign
Resolution: fixed
Status: newclosed

In 1b6683dae6f1d940b5f6c184f11b041e7888cf15/macports-ports (master):

slrn: Fix implicit declaration of function

Closes: #61662

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

Could not find bug tracker on slrn web site so reported to the developer by email.

Note: See TracTickets for help on using tickets.