To really make your day, here are the two problems I encountered when trying to
upgrade to openpkg-20031006-20031006 on
RedHat 9 from 1.3.1 (which I had previously upgraded from 1.3.0).
1) Problem building if beecrypt-devel-2.2.0-8 package is installed on RedHat 9: If
this package (which is distributed
with RedHat 9) is installed on a system where openpkg-20031006-20031006 is to be
built, the rpm configure script detects
its presence:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
checking beecrypt/beecrypt.h usability... yes
checking beecrypt/beecrypt.h presence... yes
checking for beecrypt/beecrypt.h... yes
checking for mpfprintln in -lbeecrypt... yes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This causes it to set "WITH_BEECRYPT_INCLUDE = /usr/include/beecrypt" and this in turn
causes the rpmio Makefile to
create the following command line:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
/usr/psr.oit/redhat9/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I..
-I/usr/include/beecrypt -I../popt -I/usr/psr.oit/redh
at9/include -DOPENPKG -I/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/zlib-1.1.4
-I/usr/psr.oit/redhat9/RPM/TMP/openpkg-
20031006/bzip2-1.0.2 -I/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/beecrypt-3.1.0
-DOPENPKG -I/usr/psr.oit/redhat9/RPM
/TMP/openpkg-20031006/zlib-1.1.4
-I/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/bzip2-1.0.2 -I/usr/psr.oit/redhat9/RPM/
TMP/openpkg-20031006/beecrypt-3.1.0 -O2 -D_GNU_SOURCE -D_REENTRANT -MT digest.lo -MD
-MP -MF .deps/digest.Tpo -c
digest.c -o digest.o
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Note that the /usr/include/beecrypt (v2.2.0) is ahead of the within-package beecrypt
(v3.1.0) which causes the following
problems:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
In file included from /usr/include/beecrypt/beecrypt.h:29,
from rpmio_internal.h:16,
from digest.c:6:
/usr/include/beecrypt/types.h:44: error: redefinition of `byte'
/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/beecrypt-3.1.0/beecrypt.api.h:51: error:
`byte' previously declared here
/usr/include/beecrypt/types.h:61: error: conflicting types for `javabyte'
/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/beecrypt-3.1.0/beecrypt.api.h:53: error:
previous declaration of
`javabyte'
/usr/include/beecrypt/types.h:62: error: redefinition of `javashort'
/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/beecrypt-3.1.0/beecrypt.api.h:54: error:
`javashort' previously declared
here
/usr/include/beecrypt/types.h:63: error: redefinition of `javaint'
/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/beecrypt-3.1.0/beecrypt.api.h:55: error:
`javaint' previously declared
here
/usr/include/beecrypt/types.h:64: error: redefinition of `javalong'
/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/beecrypt-3.1.0/beecrypt.api.h:56: error:
`javalong' previously declared
here
/usr/include/beecrypt/types.h:66: error: redefinition of `javachar'
/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/beecrypt-3.1.0/beecrypt.api.h:58: error:
`javachar' previously declared
here
In file included from digest.c:6:
rpmio_internal.h:80: error: parse error before "mpbarrett"
rpmio_internal.h:80: warning: no semicolon at end of struct or union
rpmio_internal.h:81: warning: data definition has no type or storage class
rpmio_internal.h:82: error: parse error before "g"
rpmio_internal.h:82: warning: data definition has no type or storage class
rpmio_internal.h:83: error: parse error before "y"
rpmio_internal.h:83: warning: data definition has no type or storage class
rpmio_internal.h:84: error: parse error before "hm"
rpmio_internal.h:84: warning: data definition has no type or storage class
rpmio_internal.h:85: error: parse error before "r"
rpmio_internal.h:85: warning: data definition has no type or storage class
rpmio_internal.h:86: error: parse error before "s"
rpmio_internal.h:86: warning: data definition has no type or storage class
rpmio_internal.h:90: error: parse error before "m"
rpmio_internal.h:90: warning: data definition has no type or storage class
rpmio_internal.h:91: error: parse error before "c"
rpmio_internal.h:91: warning: data definition has no type or storage class
rpmio_internal.h:92: error: parse error before "rsahm"
rpmio_internal.h:92: warning: data definition has no type or storage class
make[2]: *** [digest.lo] Error 1
make[2]: Leaving directory
`/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/rpm-4.2.1/rpmio'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/psr.oit/redhat9/RPM/TMP/openpkg-20031006/rpm-4.2.1'
make: *** [all] Error 2
+ exit 2
error: Bad exit status from /usr/psr.oit/redhat9/RPM/TMP/rpm-tmp.20053 (%build)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This problem does not occur if the beecrypt-devel-2.2.0-8 package is not installed on
the build system. In that case, I
was able to build the openpkg to a successful completion.
But shouldn't openpkg-20031006-20031006 be able to be built successfully in the
presence of other packages that are part
of the standard RedHat 9 distribution?
2) Problem running OpenPKG rpm v4.2.1 on RedHat 9: Once I got past the above build
problem, I tried running it on two
RedHat 9 machines and got the same problem on both:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
> rpm --version
OpenPKG RPM 4.2.1
> rpm --db-rebuild
rpmdb: REBUILDING NEW FROM OLD RPM DATABASE (/usr/psr.oit/redhat9/RPM/DB)
rpmdb: cleaning up RPM database DB region files
rpmdb: making sure RPM database contains all possible DB files
rpmdb: dumping and reloading RPM database DB file contents
rpmdb: rebuilding RPM database (built-in RPM procedure)
rpmdb: /usr/psr.oit/redhat9/RPM/DB/__db.001: unable to acquire environment lock: No
locks available
error: db4 error(37) from dbenv->open: No locks available
error: cannot open Packages index
rpmdb: performing read/write operation on RPM database
rpmdb: /usr/psr.oit/redhat9/RPM/DB/__db.001: unable to acquire environment lock: No
locks available
error: db4 error(37) from dbenv->open: No locks available
error: cannot open Packages index using db3 - No locks available (37)
error: cannot open Packages database in /usr/psr.oit/redhat9/RPM/DB
rpmdb: /usr/psr.oit/redhat9/RPM/DB/__db.001: unable to acquire environment lock: No
locks available
error: db4 error(37) from dbenv->open: No locks available
error: cannot open Packages index using db3 - No locks available (37)
error: cannot open Packages database in /usr/psr.oit/redhat9/RPM/DB
rpmdb: /usr/psr.oit/redhat9/RPM/DB/__db.001: unable to acquire environment lock: No
locks available
error: db4 error(37) from dbenv->open: No locks available
error: cannot open Packages index using db3 - No locks available (37)
error: cannot open Packages database in /usr/psr.oit/redhat9/RPM/DB
error: /usr/psr.oit/redhat9/etc/openpkg/openpkg.pgp: import failed.
rpmdb: making sure RPM database files have consistent attributes
sinux.Princeton.EDU:/usr/psr.oit/redhat9/RPM/PKG> rpm -qa
rpmdb: /usr/psr.oit/redhat9/RPM/DB/__db.001: unable to acquire environment lock: No
locks available
error: db4 error(37) from dbenv->open: No locks available
error: cannot open Packages index using db3 - No locks available (37)
error: cannot open Packages database in /usr/psr.oit/redhat9/RPM/DB
no packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Running strace -f yielded errors such as the following:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
25899 stat64("/usr/psr.oit/redhat9/RPM/DB/__db.001", {st_mode=S_IFREG|0664, st_size=0,
...}) = 0
25899 open("/usr/psr.oit/redhat9/RPM/DB/__db.001", O_RDWR|O_CREAT|O_EXCL, 0644) = -1
EEXIST (File exists)
25899 open("/usr/psr.oit/redhat9/RPM/DB/__db.001", O_RDWR) = 3
25899 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
25899 fstat64(3, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
25899 open("/usr/psr.oit/redhat9/RPM/DB/__db.001", O_RDWR|O_CREAT, 0644) = 4
25899 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
25899 lseek(4, 0, SEEK_END) = 0
25899 lseek(4, 0, SEEK_CUR) = 0
25899 write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) =
8192
25899 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0x40038000
25899 close(4) = 0
25899 fcntl64(3, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = -1
ENOLCK (No locks available)
25899 write(2, "rpmdb: ", 7) = 7
25899 write(2, "/usr/psr.oit/redhat9/RPM/DB/__db"..., 92) = 92
25899 write(2, "\n", 1) = 1
25899 close(3) = 0
25899 munmap(0x40038000, 8192) = 0
25899 unlink("/usr/psr.oit/redhat9/RPM/DB/__db.001") = 0
25899 brk(0) = 0x818e000
25899 brk(0x8190000) = 0x8190000
25899 write(2, "error: ", 7) = 7
25899 write(2, "db4 error(37) from dbenv->open: "..., 51) = 51
25899 write(2, "error: ", 7) = 7
25899 write(2, "cannot open Packages index\n", 27) = 27
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Here again, $prefix is on an NFS-mounted file system.
Any thoughts as to what might be going wrong?
Thanks,
Dennis
______________________________________________________________________
The OpenPKG Project www.openpkg.org
User Communication List [EMAIL PROTECTED]