Opened 4 years ago

Closed 4 years ago

Last modified 3 years ago

#61409 closed defect (fixed)

db53 fails to configure on macOS 10.15 with XCode 12.1

Reported by: tgyurci (Teubel György) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version:
Keywords: catalina bigsur Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), jmroot (Joshua Root), Gregory-Gelfond (Gregory Gelfond), sudheerhebbale (Sudheer Hebbale)
Port: db53

Description

The command port -v build db53 fails during configure with the following error:

...
checking for mutexes... UNIX/fcntl
configure: error: Support for FCNTL mutexes was removed in BDB 4.8.
...

Operating environment info:

DEBUG: macOS 10.15 (darwin/19.6.0) arch i386
DEBUG: MacPorts 2.6.3
DEBUG: Xcode 12.1
DEBUG: SDK 10.15
DEBUG: MACOSX_DEPLOYMENT_TARGET: 10.15

Attachments (1)

config.log (160.4 KB) - added by raw-bin (Robin Randhawa) 4 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 4 years ago by jmroot (Joshua Root)

Please attach the config.log.

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

Cc: MarcusCalhoun-Lopez jmroot added

As usual with Xcode 12 these days, this project has configure tests that fail to include the required headers, for example:

conftest.c:51:3: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
                exit(0);
                ^
conftest.c:51:3: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
1 error generated.

Unfortunately we have many different versions of BerkeleyDB in MacPorts so it will be some work to see if upstream has a fix and then backport it to all of the previous versions that we have.

Most of our db ports have no maintainer. db47 and db48 do. Those ports' configure phases don't fail, though some of the configure tests still fail for the above reason and so may be returning incorrect results with Xcode 12 and should be fixed.

Until the ports are fixed, you can avoid the problem by downgrading to Xcode 11 and the Xcode 11 version of the command line tools.

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

Cc: Gregory-Gelfond added
Keywords: catalina bigsur added

Has duplicate #61506.

comment:4 Changed 4 years ago by sudheerhebbale (Sudheer Hebbale)

Cc: sudheerhebbale added

Changed 4 years ago by raw-bin (Robin Randhawa)

Attachment: config.log added

comment:5 Changed 4 years ago by raw-bin (Robin Randhawa)

I wasn't sure if this was known/recorded but note that the problem exists with Big Sur (x86_64) as well. Config.log attached above and some further information here:

> ls -la /Library/Developer/CommandLineTools/SDKs
total 0
drwxr-xr-x 5 root wheel 160 Nov 16 20:11 ./
drwxr-xr-x 5 root wheel 160 Nov 16 20:10 ../
lrwxr-xr-x 1 root wheel  14 Nov 16 20:11 MacOSX.sdk -> MacOSX11.0.sdk/
drwxr-xr-x 8 root wheel 256 Jul  9 17:33 MacOSX10.15.sdk/
drwxr-xr-x 7 root wheel 224 Oct 19 21:39 MacOSX11.0.sdk/
[13:41:19] robin@C02ZX0GPLVDN /Users/robin/Work/repos/mutt-wizard

> uname -a
Darwin 20.1.0 Darwin Kernel Version 20.1.0: Sat Oct 31 00:07:11 PDT 2020; root:xnu-7195.50.7~2/RELEASE_X86_64 x86_64 i386 Darwin

comment:6 in reply to:  5 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to raw-bin:

I wasn't sure if this was known/recorded but note that the problem exists with Big Sur (x86_64) as well.

Yes, it is known, since it affects all systems that use Xcode 12 or later.

comment:7 Changed 4 years ago by jmroot (Joshua Root)

Owner: set to jmroot
Resolution: fixed
Status: newclosed

In b661c0e483b08cd4d19a1d50dfc8ebbe93966631/macports-ports (master):

db53: fix implicit declarations in configure

Closes: #61409

comment:8 Changed 4 years ago by jmroot (Joshua Root)

Note that this still fails on Apple Silicon.

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

Which as been filed as #62216.

comment:10 in reply to:  2 Changed 3 years ago by dmkallan

Replying to ryandesign:

Until the ports are fixed, you can avoid the problem by downgrading to Xcode 11 and the Xcode 11 version of the command line tools.

As an alternative to downgrading, you can always edit the db53 Portfile and use configure.cflags-append to tell gcc not to error out on implicit functions (no-error=implicit-function-declaration):

1) Open the Portfile in a text editor, such as, for example:

sudo port edit db53
or
sudo vi `port dir db53`/Portfile

2) Add the following line at the top level (maybe after configure.args):

configure.cflags-append -Wno-error=implicit-function-declaration

Not really a fix, but for many packages that fail config on Xcode 12 and Silicon, this may at least get you around the issue until the port is updated.

Last edited 3 years ago by dmkallan (previous) (diff)
Note: See TracTickets for help on using tickets.