Menu

Compilation error

Help
2010-07-08
2012-12-13
  • Victor Ivrii

    Victor Ivrii - 2010-07-08

    make results in

    >>> 2010-07-08 04:41:03 Compile prqdbe.c
    cc -DHAVE_CONFIG_H  -I. -I. -I/usr/local/include   -D_LARGEFILE64_SOURCE=1 -fPIC -D_REENTRANT -o prqdbe.o -c prqdbe.c
    prqdbe.ctr: In function 'prqdbe_bdb_open':
    prqdbe.ctr:72: error: 'DB_CREATE' undeclared (first use in this function)
    prqdbe.ctr:72: error: (Each undeclared identifier is reported only once
    prqdbe.ctr:72: error: for each function it appears in.)
    prqdbe.ctr:73: error: 'DB' has no member named 'open'
    prqdbe.ctr: In function 'prqdbe_bdb_store':
    prqdbe.ctr:237: warning: passing argument 4 of 'pj->dbbe.c.bdb.dbp->put' makes integer from pointer without a cast
    prqdbe.ctr:237: error: too many arguments to function 'pj->dbbe.c.bdb.dbp->put'
    prqdbe.ctr: In function 'prqdbe_bdb_fetch':
    prqdbe.ctr:386: warning: passing argument 4 of 'pj->dbbe.c.bdb.dbp->get' makes integer from pointer without a cast
    prqdbe.ctr:386: error: too many arguments to function 'pj->dbbe.c.bdb.dbp->get'
    prqdbe.ctr: In function 'prqdbe_bdb_close':
    prqdbe.ctr:548: error: too many arguments to function 'pj->dbbe.c.bdb.dbp->close'
    prqdbe.ctr: In function 'prqdbe_bdb_traverse':
    prqdbe.ctr:710: error: 'DBC' undeclared (first use in this function)
    prqdbe.ctr:710: error: 'cursorp' undeclared (first use in this function)
    prqdbe.ctr:719: error: 'DB' has no member named 'cursor'
    prqdbe.ctr:722: error: 'DB_FIRST' undeclared (first use in this function)
    prqdbe.ctr:749: error: 'DB_NEXT' undeclared (first use in this function)
    prqdbe.ctr: In function 'prqdbe_bdb_delete':
    prqdbe.ctr:991: warning: passing argument 3 of 'db->del' makes integer from pointer without a cast
    prqdbe.ctr:991: error: too many arguments to function 'db->del'
    make: ***  Error 1

    MacOSX 10.6.4, on x86_64-darwin , gcc 4.2.2 (latest from Apple)

    Victor

     
  • Dirk Krause

    Dirk Krause - 2010-07-09

    Hi Victor,
    looks like you have Berkeley DB but another version number. Unfortunately my configure script does not find that out.
    Can you please take  a look into the db.h file (most likely in one of the following directories: /usr/include, /usr/local/include
    /sw/include, /sw64/include) and tell me the numeric values after DB_VERSION_MAJOR, DB_VERSION_MINOR and
    DB_VERSION_PATCH, please?
    If you have one of the other databases (Gnu database manager, available on Gnu mirrors i.e.
    ftp://ftp.informatik.rwth-aachen.de/pub/gnu/gdbm/ ) you do not need Berkeley DB.
    After running ./configure you can correct the results to disable Berkeley DB:
    - in config.h change the definition of HAVE_DB_H from 1 to 0.
    - In Makefile remove the text -ldb from the PRQDLIBS= macro.
    Hope this helps at least temporarily.
    If it is a version problem I can attempt to update my prqd code to the current BDB version.
    Hope this helps.
    Regards,

    Dirk

     
  • Victor Ivrii

    Victor Ivrii - 2010-07-09

    I have only /usr/include/db.h (plus similar headers for specific s/w) and there is no such strings at all. Further no such strings anywhere in /usr/include/*h  /usr/local/include/*h  /usr/include/*/*h  /usr/local/include/*/*h

    If I change HAVE_DB_H from 1 to 0 in config.h but not  "- In Makefile remove the text -ldb from the PRQDLIBS= macro." (there is no string PRQDLIBS anywhere (I used case insensitive grep)

    cc -L. -L. -L/usr/local/lib  -o prqd prqd.o prqdbe.o prqdctrl.o prqdlog.o prqdconf.o prqdpj.o dksto.o dksf.o dkstrdc.o dkstr.o dkmem.o dksignal.o dkma.o   dksdbi.o dksdbdb.o dksdndbm.o dksdgdbm.o  -ldb -lm
    ld: library not found for -ldb
    collect2: ld returned 1 exit status
    make: ***  Error 1

    I am interested mainly in what used to be bmeps

    Victor

     
  • Dirk Krause

    Dirk Krause - 2010-07-09

    Sorry, it's not PRQDLIBS=, you must remove -ldb or so from DBLIB= in Makefile.
    Regards,

    Dirk

     
  • Victor Ivrii

    Victor Ivrii - 2010-07-09

    Now it stumbles upon crypt.h (not found). When I have time I will install it but I am mainly interested in graphics manipulation part of the bundle

     
  • Dirk Krause

    Dirk Krause - 2010-07-12

    If you are only interested in bmeps, run
      make bmeps
    and copy bmeps into the /usr/local/bin directory and the bmeps.1 file
    into the /usr/local/man/man1 directory.

    Is the crypt.h problem shown from the configure script or from make?
    Can you post the output of configure and make, please? Thanks.
    Regards,

    Dirk

     
  • Dirk Krause

    Dirk Krause - 2010-07-13

    Hi Victor,
    I have just released version 2.2.8.
    The configure script now attempts to compile some test code for Berkeley DB 4.5.x instead of simply checking for the presence of db.h. If crypt.h is not found the Makefile does not attempt to build that parts needing it, it builds all other programs.
    So
      ./configure
      make
      make install
    should work now.

    As I do not have access to mac computers, can you please test it and tell me the result? Thanks.

    Dirk

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.