[MacPorts] #71913: db48 build error with gcc: implicit declaration of function 'atomic_compare_exchange'

MacPorts noreply at macports.org
Wed Jan 22 21:28:54 UTC 2025


#71913: db48 build error with gcc: implicit declaration of function
'atomic_compare_exchange'
--------------------------+--------------------
 Reporter:  barracuda156  |      Owner:  (none)
     Type:  defect        |     Status:  new
 Priority:  Normal        |  Milestone:
Component:  ports         |    Version:  2.10.5
 Keywords:                |       Port:  db48
--------------------------+--------------------
 {{{
 --->  Building db48
 Executing:  cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_db48/db48/work/db-4.8.30/build_unix"
 && /usr/bin/make -j4 -w all
 make: Entering directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_db48/db48/work/db-4.8.30/build_unix'
 ./libtool --mode=compile /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc  ../dist/../mutex/mut_tas.c
 ./libtool --mode=compile /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc  ../dist/../btree/bt_compare.c
 ./libtool --mode=compile /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc  ../dist/../btree/bt_compress.c
 ./libtool --mode=compile /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc  ../dist/../btree/bt_conv.c
 libtool: compile:  /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc ../dist/../mutex/mut_tas.c  -fno-
 common -DPIC -o .libs/mut_tas.o
 libtool: compile:  /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc ../dist/../btree/bt_conv.c  -fno-
 common -DPIC -o .libs/bt_conv.o
 libtool: compile:  /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc ../dist/../btree/bt_compress.c
 -fno-common -DPIC -o .libs/bt_compress.o
 libtool: compile:  /opt/local/bin/gcc-mp-14 -c -I. -I../dist/..
 -I/opt/local/include -pipe -Os -arch ppc ../dist/../btree/bt_compare.c
 -fno-common -DPIC -o .libs/bt_compare.o
 In file included from ../dist/../dbinc/mutex.h:15,
                  from ./db_int.h:884,
                  from ../dist/../mutex/mut_tas.c:11:
 ../dist/../mutex/mut_tas.c: In function '__db_tas_mutex_lock_int':
 ../dist/../dbinc/mutex_int.h:1056:9: error: implicit declaration of
 function 'atomic_compare_exchange' [-Wimplicit-function-declaration]
  1056 |         atomic_compare_exchange(env,                            \
       |         ^~~~~~~~~~~~~~~~~~~~~~~
 ../dist/../mutex/mut_tas.c:140:48: note: in expansion of macro
 'MUTEXP_ACQUIRE'
   140 |                 if (MUTEXP_IS_BUSY(mutexp) ||
 !MUTEXP_ACQUIRE(mutexp)) {
       |                                                ^~~~~~~~~~~~~~
 make: *** [mut_tas.lo] Error 1
 make: *** Waiting for unfinished jobs....
 }}}

 I am pretty sure someone will object that building this port with gcc14 is
 not a default, but the point here is implicit declaration, not
 specifically fixing it for gcc14.

-- 
Ticket URL: <https://trac.macports.org/ticket/71913>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list