Opened 13 months ago

Last modified 12 months ago

#66733 assigned defect

mpich-default @4.0.3: Configuration logfiles contain indications of -Wimplicit-function-declaration

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: eborisch (Eric A. Borisch)
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: monterey Cc: mascguy (Christopher Nielsen), ogourgue (Olivier Gourgue)
Port: mpich-default

Description

Configuration logfiles contain indications of -Wimplicit-function-declaration:

--->  Configuring mpich-default
Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled:
  VALGRIND_DESTROY_MEMPOOL: found in mpich-4.0.3/src/mpl/config.log
  VALGRIND_MEMPOOL_FREE: found in mpich-4.0.3/src/mpl/config.log
  VALGRIND_PRINTF_BACKTRACE: found in mpich-4.0.3/src/mpl/config.log
  VALGRIND_CREATE_BLOCK: found in mpich-4.0.3/src/mpl/config.log
  VALGRIND_MEMPOOL_ALLOC: found in mpich-4.0.3/src/mpl/config.log
  __atomic_load_8: found in mpich-4.0.3/modules/libfabric/config.log
  VALGRIND_CREATE_MEMPOOL: found in mpich-4.0.3/src/mpl/config.log
  exit: found in mpich-4.0.3/modules/json-c/config.log

I don't know about the others but certainly the implicit declaration of exit is a mistake. From main.log:

:info:configure checking for __thread support... no

From config.log:

configure:5566: checking for __thread support
configure:5583: /usr/bin/clang -o conftest  -pipe -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64 -fvisibility=hidden  -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64 conftest.c  >&5
conftest.c:37:1: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
exit (foo (0));
^
conftest.c:37:1: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
1 error generated.
configure:5583: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "json-c"
| #define PACKAGE_TARNAME "json-c"
| #define PACKAGE_VERSION "0.13.99"
| #define PACKAGE_STRING "json-c 0.13.99"
| #define PACKAGE_BUGREPORT "json-c@googlegroups.com"
| #define PACKAGE_URL ""
| #define PACKAGE "json-c"
| #define VERSION "0.13.99"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_CDEFS_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_XLOCALE_H 1
| #define JSON_C_HAVE_INTTYPES_H 1
| /* end confdefs.h.  */
| #undef __thread
| static __thread int a; int foo (int b) { return a + b; }
| int
| main ()
| {
| exit (foo (0));
|   ;
|   return 0;
| }
configure:5592: result: no

Change History (3)

comment:1 Changed 12 months ago by ogourgue (Olivier Gourgue)

I have the same message after a fresh install of MacPorts on Monterey 12.6.3. Is that disrupting use of mpich?

comment:2 Changed 12 months ago by ogourgue (Olivier Gourgue)

Cc: ogourgue added

comment:3 Changed 12 months ago by ogourgue (Olivier Gourgue)

FYI, I also have similar message with openmpi-default:

Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled:
  CPU_ALLOC_SIZE: found in build/config.log
  process_vm_writev: found in build/config.log
  CPU_FREE: found in build/config.log
  CPU_SET_S: found in build/config.log
  CPU_ZERO_S: found in build/config.log
  process_vm_readv: found in build/config.log
  CPU_ALLOC: found in build/config.log
  CPU_SET: found in build/config.log
  CPU_ZERO: found in build/config.log

In both cases, it prevents me to install the port py311-mpi4py (with mpich or openmpi variant).

Note: See TracTickets for help on using tickets.