On Nov 25, 2007, at 1:54 PM, David Halik wrote:
>
>> So you're compiling without Berkeley DB?
>> From rpmdb/rpmdb.h:
>> #if defined(WITH_DB)
>> #include "db.h"
>> #else
>> #include "db_emu.h"
>> #endif
>> If you build with BDB, then db_txn will not be an empty structure.
>> Note: The "optional" in the INSTALL document is what the Berkeley
>> DB haters wish
>> to see; "mandatory" is far closer to reality because rpm -BDB has
>> hardly ever been used,
>> particularly on non-linux with non-gcc compilers.
>> From INSTALL
>> Berkeley-DB [1] optional 4.5 4.6.21 http://www.oracle.com/
>> database/berkeley-db.html
>> ...
>> [1] db/sqlite: Modified Berkeley-DB copy bundled with RPM.
>> Building RPM against stock external Berkeley-DB not
>> officially supported.
>> Building RPM against SQLite-only not officially
>> supported.
>> Building RPM against at least one of Berkeley-DB or
>> SQLite required.
>> Use modified bundled Berkeley-DB copy, please!
>
> That's the thing... it is compiling with BDB, the internal one at
> that:
>
> checking whether to build with Berkeley-DB library... yes
> (internal: sub-directory db3)
>
> So let's check out the Makefile in rpm-5.0a3/perl:
>
> rpm-5.0a3/perl$ grep -n WITH_DB Makefile
> Makefile:165:WITH_DB = yes
>
> It looks like it's completely ignoring the ifdef for some reason. I
> threw a quick patch together that just explicitly defines db.h and
> it moved past it.
>
Hmmm, perhaps the Makefile WITH_DB is not added as -DWITH_DB for some
obscure make(1) reason.
> Of course now I'm having other problems in the perl directory:
>
> cc -c -I../. -I../build -I../lib -I../popt -I../rpmdb -I../rpmio -
> I../rpmconstant -I/usr/local/include -I/usr/local/include/python2.4
> -I/usr/local/include/beecrypt -I/usr/local/ssl/include -
> DRPM_OS_SOLARIS=020900 -I/usr/local/include/neon -g -xs -
> D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DNE_LFS -g -
> DVERSION=\"5.0a3\" -DXS_VERSION=\"5.0a3\" -KPIC "-I/usr/perl5/5.6.1/
> lib/sun4-solaris-64int/CORE" RPM_Dependencies.c
> "../rpmdb/rpmtag.h", line 104: warning: enumerator value overflows
> INT_MAX (2147483647)
Hmm, this is likely
RPM_MASK_RETURN_TYPE = 0xffff0000
A simpler
#define RPM_MASK_RETURN_TYPE 0xffff0000
outside of the enum likely fixes.
> "../lib/rpmcli.h", line 157: warning: integer overflow detected: op
> "<<"
Hmmm, this one is a bit harder, I'm out of bits.
RPMVERIFY_LGETFILECONFAIL = (1 << 31) /*!< lgetfilecon
failed */
You can simply nuke for the moment, its a SELinux peculier failure bit.
> "RPM_Spec.xs", line 69: warning: implicit function declaration:
> _newspec
> "RPM_Spec.xs", line 182: warning: implicit function declaration:
> _specbuild
> "../config.h", line 706: warning: macro redefined: _FILE_OFFSET_BITS
Hmmm, I'm not sure what this is. Smells like config.h included twice,
likely in RPM_Files.xs.
> "/usr/local/include/beecrypt/gnu.h", line 39: warning: no explicit
> type given
> "/usr/local/include/beecrypt/gnu.h", line 39: syntax error before
> or at: bc_thread_t
> "/usr/local/include/beecrypt/gnu.h", line 39: warning: old-style
> declaration or incorrect type for: bc_thread_t
> "/usr/local/include/beecrypt/api.h", line 59: warning: macro
> redefined: assert
> "../rpmio/rpmio_internal.h", line 288: syntax error before or at: :
> "../rpmio/rpmio_internal.h", line 291: cannot recover from previous
> errors
> cc: acomp failed for RPM_Files.c
>
Yah, RPM_Files.xs is the problem.
There's likely a few messy defines that RPM_Files.xs is awkwardly
trying to
identify from config.h because rpmio_internal.h. needs.
I added these lines in the past couple of days
/* XXX artifacts needed to include "rpmio_internal.h" w/o "system.h" */
void * vmefail(size_t size);
#define xstrdup(_str) (strcpy((malloc(strlen(_str)+1) ? : vmefail
(strlen(_str)+1)), (_str)))
mostly because I was too lazy to wrestle with rpmio_internal.h right
then.
Likely all that is needed by RPM_File.xs from config.h is this:
#ifdef HAVE_BEECRYPT_API_H
#include <beecrypt/api.h>
#endif
73 de Jeff
> *sigh* I can't see how beecrypt is failing since I've been using
> 4.1.2 to build since 4.4.9 without a problem. Talk about a
> frustrating directory, I'm wondering if I should just build it
> without perl bindings. ;)
>
> --
> ================================
> David Halik
> Student Programmer
> OSS/NBCS - OIT Rutgers
> dhalik@jla.rutgers.edu
> ================================
> ______________________________________________________________________
> RPM Package Manager http://rpm5.org
> Developer Communication List rpm-devel@rpm5.org
Received on Sun Nov 25 20:13:58 2007