Opened 3 years ago

Closed 3 years ago

#56561 closed defect (fixed)

p5-berkeleydb incompatible with installed version of berkeleydb

Reported by: adamcrussell (Adam Russell) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.4.2
Keywords: Cc:
Port: p5-berkeleydb

Description (last modified by ryandesign (Ryan Schmidt))

$ sudo port install p5-berkeleydb
Password:
--->  Computing dependencies for p5-berkeleydb
The following dependencies will be installed: 
 db53
 p5.26-berkeleydb
Continue? [Y/n]: Y
--->  Fetching archive for db53
--->  Attempting to fetch db53-5.3.28_0+sql.darwin_15.x86_64.tbz2 from https://packages.macports.org/db53
--->  Attempting to fetch db53-5.3.28_0+sql.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/db53
--->  Installing db53 @5.3.28_0+sql
--->  Activating db53 @5.3.28_0+sql
--->  Cleaning db53
--->  Fetching archive for p5.26-berkeleydb
--->  Attempting to fetch p5.26-berkeleydb-0.550.0_0+db53.darwin_15.x86_64.tbz2 from https://packages.macports.org/p5.26-berkeleydb
--->  Attempting to fetch p5.26-berkeleydb-0.550.0_0+db53.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/p5.26-berkeleydb
--->  Installing p5.26-berkeleydb @0.550.0_0+db53
--->  Activating p5.26-berkeleydb @0.550.0_0+db53
--->  Cleaning p5.26-berkeleydb
--->  Fetching archive for p5-berkeleydb
--->  Attempting to fetch p5-berkeleydb-0.550.0_0+db53.darwin_15.noarch.tbz2 from https://packages.macports.org/p5-berkeleydb
--->  Attempting to fetch p5-berkeleydb-0.550.0_0+db53.darwin_15.noarch.tbz2.rmd160 from https://packages.macports.org/p5-berkeleydb
--->  Installing p5-berkeleydb @0.550.0_0+db53
--->  Activating p5-berkeleydb @0.550.0_0+db53
--->  Cleaning p5-berkeleydb
--->  Updating database of binaries
--->  Scanning binaries for linking errors               
--->  No broken files found.                             
LAMU02N32PAFD59:amex_ticker arussel7$ which perl
/opt/local/bin/perl
LAMU02N32PAFD59:amex_ticker arussel7$ perl -v

This is perl 5, version 26, subversion 2 (v5.26.2) built for darwin-thread-multi-2level

Copyright 1987-2018, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

LAMU02N32PAFD59:amex_ticker arussel7$ perl -MBerkeleyDB -e 0

BerkeleyDB needs compatible versions of libdb & db.h
	you have db.h version 5.3.21 and libdb version 5.3.28
Compilation failed in require.
BEGIN failed--compilation aborted.

Change History (5)

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

Description: modified (diff)
Keywords: perl berkeleydb removed
Owner: set to ryandesign
Status: newaccepted

Hmm. The error message you have db.h version 5.3.21 and libdb version 5.3.28 seems unlikely to be correct. The MacPorts db53 port @5.3.28_0 is obviously going to provide version 5.3.28 of both db.h and the libdb library.

However, the version of the db53 port was 5.3.21 back in June 2017 when our binary of p5.26-berkeleydb was compiled for El Capitan. I would guess that the build system of p5-berkeleydb stored that version number at that time.

The solution is that we need to increase the revision of p5-berkeleydb to rebuild it, any time the version of db53 is increased. This seems stupid to me, but is apparently what the developers of p5-berkeleydb want us to do.

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

Well it's worse than that, because p5-berkeleydb provides db48, db51, db52 and db53 variants. So the revision of p5-berkeleydb needs to be increased anytime the version of db48, db51, db52, or db53 changes

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

Well, the db51 and db52 ports were deleted in [088abf21d2c9a401f4589cf5c0f397df872bdf58/macports-ports]; db51 and db52 variants should have been removed from all ports at that time.

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

In 2347788e92acfd8387a9f7c5622530bfddb44c9d/macports-ports (master):

p5-berkeleydb: Remove db51 and db52 variants

The db51 and db52 ports were already removed in
088abf21d2c9a401f4589cf5c0f397df872bdf58.

See: #56561

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

Resolution: fixed
Status: acceptedclosed

In 3ffdb59362a83f6e77f885f64cb06b4344e485b3/macports-ports (master):

p5-berkeleydb: Rebuild with db53 @5.3.28

Closes: #56561

Note: See TracTickets for help on using tickets.