This question about Using an extension: Answered

Upgrading ToolTip Plugin - needs Berkeley DB

I have ToolTipPlugin installed; apparently, there is a more recent version. This version wants me to install BerkeleyDB from cpan.

I can't.

ANy suggestions? I'm running on Mac OS X 10.11.6

cpan[7]> install BerkeleyDB                                                     
Running install for module 'BerkeleyDB'
Checksum for /Users/us/vlb/.cpan/sources/authors/id/P/PM/PMQS/BerkeleyDB-0.55.tar.gz ok
Configuring P/PM/PMQS/BerkeleyDB-0.55.tar.gz with Makefile.PL
Parsing config.in...
Looks Good.
Checking if your kit is complete...
Looks good
Warning (mostly harmless): No library found for -ldb
Generating a Unix-style Makefile
Writing Makefile for BerkeleyDB
Writing MYMETA.yml and MYMETA.json
  PMQS/BerkeleyDB-0.55.tar.gz
  /opt/local/bin/perl5.22 Makefile.PL -- OK
Running make for P/PM/PMQS/BerkeleyDB-0.55.tar.gz
cp BerkeleyDB.pod blib/lib/BerkeleyDB.pod
cp BerkeleyDB.pm blib/lib/BerkeleyDB.pm
cp mkconsts.pl blib/lib/mkconsts.pl
cp BerkeleyDB/Hash.pm blib/lib/BerkeleyDB/Hash.pm
cp scan.pl blib/lib/scan.pl
cp BerkeleyDB/Btree.pm blib/lib/BerkeleyDB/Btree.pm
Running Mkbootstrap for BerkeleyDB ()
chmod 644 "BerkeleyDB.bs"
"/opt/local/bin/perl5.22" -MExtUtils::Command::MM -e 'cp_nonempty' -- BerkeleyDB.bs blib/arch/auto/BerkeleyDB/BerkeleyDB.bs 644
"/opt/local/bin/perl5.22" "/opt/local/lib/perl5/5.22/ExtUtils/xsubpp" -noprototypes -typemap '/opt/local/lib/perl5/5.22/ExtUtils/typemap' -typemap '/Volumes/Datastore/Local/Users/us/vlb/.cpan/build/BerkeleyDB-0.55-0/typemap'  BerkeleyDB.xs > BerkeleyDB.xsc
Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT' section. in BerkeleyDB.xs, line 5856
Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT' section. in BerkeleyDB.xs, line 5884
mv BerkeleyDB.xsc BerkeleyDB.c
/usr/bin/clang -c  -I/usr/local/BerkeleyDB/include -pipe -Os -fno-common -DPERL_DARWIN -I/opt/local/include -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -O3   -DVERSION=\"0.55\" -DXS_VERSION=\"0.55\"  "-I/opt/local/lib/perl5/5.22/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:266:2: error: unknown type name 'DB_ENV'
        DB_ENV *        Env ;
        ^
BerkeleyDB.xs:301:9: error: unknown type name 'DB_INFO'
        DB_INFO *       info ;
        ^
BerkeleyDB.xs:302:9: error: unknown type name 'DBC'
        DBC *           cursor ;
        ^
BerkeleyDB.xs:303:2: error: type name requires a specifier or qualifier
        DB_TXN *        txn ;
        ^
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
BerkeleyDB.xs:303:2: error: expected member name or ';' after declaration
      specifiers
        DB_TXN *        txn ;
        ^
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
BerkeleyDB.xs:302:26: error: expected ';' at end of declaration list
        DBC *           cursor ;
                                ^
                                ;
BerkeleyDB.xs:344:9: error: unknown type name 'DB_INFO'
        DB_INFO *       info ;
        ^
BerkeleyDB.xs:345:9: error: unknown type name 'DBC'
        DBC *           cursor ;
        ^
BerkeleyDB.xs:346:2: error: type name requires a specifier or qualifier
        DB_TXN *        txn ;
        ^
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
BerkeleyDB.xs:346:2: error: expected member name or ';' after declaration
      specifiers
        DB_TXN *        txn ;
        ^
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
BerkeleyDB.xs:345:26: error: expected ';' at end of declaration list
        DBC *           cursor ;
                                ^
                                ;
BerkeleyDB.xs:390:2: error: type name requires a specifier or qualifier
        DB_TXN *        txn ;
        ^
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
BerkeleyDB.xs:390:2: error: expected member name or ';' after declaration
      specifiers
        DB_TXN *        txn ;
        ^
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
BerkeleyDB.xs:389:15: error: expected ';' at end of declaration list
        int             Status ;
                                ^
                                ;
BerkeleyDB.xs:732:5: error: unknown type name 'db_recno_t'; did you mean
      'recno_t'?
    db_recno_t  x_Value; 
    ^~~~~~~~~~
    recno_t
/usr/include/db.h:54:19: note: 'recno_t' declared here
typedef u_int32_t       recno_t;
                        ^
BerkeleyDB.xs:733:5: error: unknown type name 'db_recno_t'; did you mean
      'recno_t'?
    db_recno_t  x_zero;
    ^~~~~~~~~~
    recno_t
/usr/include/db.h:54:19: note: 'recno_t' declared here
typedef u_int32_t       recno_t;
                        ^
BerkeleyDB.xs:873:10: warning: implicit declaration of function 'txn_abort' is
      invalid in C99 [-Wimplicit-function-declaration]
                txn_abort(tid->txn);
                ^
BerkeleyDB.xs:873:25: error: no member named 'txn' in 'BerkeleyDB_Txn_type'
                txn_abort(tid->txn);
                          ~~~  ^
BerkeleyDB.xs:945: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
  PMQS/BerkeleyDB-0.55.tar.gz
  /usr/bin/make -- NOT OK
Failed during this command:
 PMQS/BerkeleyDB-0.55.tar.gz                  : make NO

-- VickiBrown - 18 Jun 2018

Did you have a look at the tooltip solution already shipped with Foswiki?

-- MichaelDaum - 18 Jun 2018

Are you sure the ToolTipPlugin needs BerkeleyDB? I don't see where this extension uses it. It's not listed in the DEPENDENCIES file and I can't find any code references. It doesn't do any local storage.

-- GeorgeClark - 19 Jun 2018

Hoorah. I upgraded to Foswiki 2.1.6 today and the issue is gone. It was yelling about optional dependencies and now it's not.

We'll call this a win.

-- VickiBrown - 22 Jun 2018
 

QuestionForm edit

Subject Using an extension
Extension ToolTipPlugin
Version Foswiki 2.1.4
Status Answered
Related Topics
Topic revision: r4 - 22 Jun 2018, VickiBrown
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy