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 - This page was cached on 14 Nov 2018 - 13:14.

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