You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BerkeleyDB.xs:82:2: error: db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4 #error db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4
(see below for full make output)
However, I have BerkleyDB v5.3.28_1 installed via homebrew. (see below for brew info)
It seems that this version of BerkeleyDB is too new for the module.
brew suggests setting LDFLAGS and CPPFLAGS like this:
Skip blib/lib/BerkeleyDB/Hash.pm (unchanged)
Skip blib/lib/BerkeleyDB/Btree.pm (unchanged)
Skip blib/lib/mkconsts.pl (unchanged)
Skip blib/lib/scan.pl (unchanged)
Skip blib/lib/BerkeleyDB.pm (unchanged)
Skip blib/lib/BerkeleyDB.pod (unchanged)
Running Mkbootstrap for BerkeleyDB ()
chmod 644 "BerkeleyDB.bs"
"/opt/homebrew/Cellar/perl/5.38.2_1/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- BerkeleyDB.bs blib/arch/auto/BerkeleyDB/BerkeleyDB.bs 644
cc -c -I/usr/local/BerkeleyDB/include -fno-common -DPERL_DARWIN -mmacosx-version-min=14.2 -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -Wno-error=implicit-function-declaration -O3 -DVERSION=\"0.65\" -DXS_VERSION=\"0.65\" "-I/opt/homebrew/opt/perl/lib/perl5/5.38/darwin-thread-multi-2level/CORE" BerkeleyDB.c
BerkeleyDB.xs:82:2: error: db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4
#error db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4
^
BerkeleyDB.xs:270:2: error: unknown type name 'DB_ENV'
DB_ENV * Env ;
^
BerkeleyDB.xs:305:9: error: unknown type name 'DB_INFO'
DB_INFO * info ;
^
BerkeleyDB.xs:306:9: error: unknown type name 'DBC'
DBC * cursor ;
^
BerkeleyDB.xs:307:2: error: type name requires a specifier or qualifier
DB_TXN * txn ;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN 0x80000000 /* Do transactions. */
^
BerkeleyDB.xs:307:2: error: expected member name or ';' after declaration specifiers
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN 0x80000000 /* Do transactions. */
^
BerkeleyDB.xs:306:26: error: expected ';' at end of declaration list
DBC * cursor ;
^
;
BerkeleyDB.xs:348:9: error: unknown type name 'DB_INFO'
DB_INFO * info ;
^
BerkeleyDB.xs:349:9: error: unknown type name 'DBC'
DBC * cursor ;
^
BerkeleyDB.xs:350:2: error: type name requires a specifier or qualifier
DB_TXN * txn ;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN 0x80000000 /* Do transactions. */
^
BerkeleyDB.xs:350:2: error: expected member name or ';' after declaration specifiers
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN 0x80000000 /* Do transactions. */
^
BerkeleyDB.xs:349:26: error: expected ';' at end of declaration list
DBC * cursor ;
^
;
BerkeleyDB.xs:394:2: error: type name requires a specifier or qualifier
DB_TXN * txn ;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN 0x80000000 /* Do transactions. */
^
BerkeleyDB.xs:394:2: error: expected member name or ';' after declaration specifiers
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN 0x80000000 /* Do transactions. */
^
BerkeleyDB.xs:393:15: error: expected ';' at end of declaration list
int Status ;
^
;
BerkeleyDB.xs:733:5: error: unknown type name 'db_recno_t'; did you mean 'recno_t'?
db_recno_t x_Value;
^~~~~~~~~~
recno_t
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:54:19: note: 'recno_t' declared here
typedef u_int32_t recno_t;
^
BerkeleyDB.xs:734:5: error: unknown type name 'db_recno_t'; did you mean 'recno_t'?
db_recno_t x_zero;
^~~~~~~~~~
recno_t
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/db.h:54:19: note: 'recno_t' declared here
typedef u_int32_t recno_t;
^
BerkeleyDB.xs:877:10: warning: call to undeclared function 'txn_abort'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
txn_abort(tid->txn);
^
BerkeleyDB.xs:877:25: error: no member named 'txn' in 'struct (unnamed at BerkeleyDB.xs:392:9)'
txn_abort(tid->txn);
~~~ ^
BerkeleyDB.xs:949:36: error: too many arguments to function call, expected 1, have 2
(db->dbp->close)(db->dbp, 0) ;
~~~~~~~~~~~~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [BerkeleyDB.o] Error 1
brew info berkeley-db@5:
==> berkeley-db@5: stable 5.3.28 (bottled) [keg-only]
High performance key/value database
https://www.oracle.com/database/technologies/related/berkeleydb.html
Installed
/opt/homebrew/Cellar/berkeley-db@5/5.3.28_1 (5,271 files, 86.4MB)
Poured from bottle using the formulae.brew.sh API on 2023-12-31 at 11:39:34
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/b/berkeley-db@5.rb
License: Sleepycat
==> Caveats
berkeley-db@5 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.
If you need to have berkeley-db@5 first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/berkeley-db@5/bin:$PATH"' >> /Users/martini/.bash_profile
For compilers to find berkeley-db@5 you may need to set:
export LDFLAGS="-L/opt/homebrew/opt/berkeley-db@5/lib"
export CPPFLAGS="-I/opt/homebrew/opt/berkeley-db@5/include"
This is related to #9. which was initially requested over a decade ago and is relatively easy to implement. If the author ever responded, somebody probably would have even submitted a patch...
make
fails with this error:BerkeleyDB.xs:82:2: error: db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4
#error db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4
(see below for full
make
output)However, I have
BerkleyDB v5.3.28_1
installed viahomebrew
. (see below forbrew info
)It seems that this version of BerkeleyDB is too new for the module.
brew
suggests settingLDFLAGS
andCPPFLAGS
like this:export LDFLAGS="-L/opt/homebrew/opt/berkeley-db@5/lib"
export CPPFLAGS="-I/opt/homebrew/opt/berkeley-db@5/include"
Setting these do not change the error message.
Additionally,
brew
suggests changing$PATH
to put the berkeley-db bin first as:export PATH="/opt/homebrew/opt/berkeley-db@5/bin:$PATH"
This also had no effect on the
make
.make
output:brew info berkeley-db@5
:perl -V
:uname -a
:The text was updated successfully, but these errors were encountered: