Opened 4 months ago

Closed 4 months ago

#70093 closed defect (fixed)

apr-util cannot find db48 on Sonoma with XCode 15.4

Reported by: blair (Blair Zajac) Owned by: danielluke (Daniel J. Luke)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: apr-util

Description

I've built apr-util on Sonoma previously, but getting a new machine going and building from source gets this and doesn't seem to find db48 even though it's installed:

checking for Berkeley DB 4.8 in /opt/local/include and /opt/local/lib/db48... 
checking for db48/db.h... yes
checking for -ldb-4.8... no
checking for db4/db.h... no
checking for db.h... yes
checking for -ldb-4.8... no
checking for db48/db.h... yes
checking for -ldb4-4.8... no
checking for db4/db.h... no
checking for db.h... yes
checking for -ldb4-4.8... no
checking for db48/db.h... yes
checking for -ldb48... no
checking for db4/db.h... no
checking for db.h... yes
checking for -ldb48... no
checking for db48/db.h... yes
checking for -ldb-4... no
checking for db4/db.h... no
checking for db.h... yes
checking for -ldb-4... no
checking for db48/db.h... yes
checking for -ldb4... no
checking for db4/db.h... no
checking for db.h... yes
checking for -ldb4... no
checking for db48/db.h... yes
checking for -ldb... no
checking for db4/db.h... no
checking for db.h... yes
checking for -ldb... no
checking for Berkeley DB 4.7 in /opt/local/include and /opt/local/lib/db48... 
$ port contents db48 | grep -v /opt/local/share/doc
Port db48 contains:
  /opt/local/bin/db48_archive
  /opt/local/bin/db48_checkpoint
  /opt/local/bin/db48_deadlock
  /opt/local/bin/db48_dump
  /opt/local/bin/db48_hotbackup
  /opt/local/bin/db48_load
  /opt/local/bin/db48_printlog
  /opt/local/bin/db48_recover
  /opt/local/bin/db48_sql
  /opt/local/bin/db48_stat
  /opt/local/bin/db48_upgrade
  /opt/local/bin/db48_verify
  /opt/local/include/db48/db.h
  /opt/local/include/db48/db_cxx.h
  /opt/local/lib/db48/libdb-4.8.a
  /opt/local/lib/db48/libdb-4.8.dylib
  /opt/local/lib/db48/libdb-4.dylib
  /opt/local/lib/db48/libdb.a
  /opt/local/lib/db48/libdb.dylib
  /opt/local/lib/db48/libdb_cxx-4.8.a
  /opt/local/lib/db48/libdb_cxx-4.8.dylib
  /opt/local/lib/db48/libdb_cxx-4.dylib
  /opt/local/lib/db48/libdb_cxx.a
  /opt/local/lib/db48/libdb_cxx.dylib

Change History (6)

comment:1 Changed 4 months ago by danielluke (Daniel J. Luke)

Looks like it built fine on the build bot the last time it was updated (since there are binary packages for Sonoma). We just need to figure out if it’s something unique to your system or an update to Sonoma (or code) and then work up a patch for it.

comment:2 Changed 4 months ago by blair (Blair Zajac)

There's been a number of packages that have errors building and I've been address them (look for my recent commits). It could also be a XCode update, for example, procmail no longer compiles without a patch https://github.com/macports/macports-ports/commit/bd2c11b59e573ca95a1f80a229a08967d6db8733.

Version 0, edited 4 months ago by blair (Blair Zajac) (next)

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

Yes, implicit int is an error in Xcode 15.3 and later.

comment:4 Changed 4 months ago by jmroot (Joshua Root)

Probably need to see the config.log.

comment:5 Changed 4 months ago by danielluke (Daniel J. Luke)

configure:17425: checking for Berkeley DB 4.8 in /opt/local/include and /opt/local/lib/db48
configure:17427: result: 
configure:17439: checking for db48/db.h
configure:17439: /usr/bin/clang -c -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch x86_64 -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -I/opt/local/include conftest.c >&5
configure:17439: $? = 0 
configure:17439: result: yes
configure:17453: checking for -ldb-4.8
configure:17517: /usr/bin/clang -o conftest -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch x86_64 -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch x86_64 -L/opt/local/lib/db48 conftest.c  -ldb-4.8 >&5
conftest.c:23:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
main ()
^ 
int

The tiny change to build/dbm.m4 that you would expect fixes this, does indeed fix it.

I'll get a fixed port submitted shortly (we should probably also consider using newer bdb, but I've been avoiding thinking about the license change implications post-oracle acquisition).

comment:6 Changed 4 months ago by danielluke (Daniel J. Luke)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.