| Newsgroups |
gmane.network.up2date.current.devel |
| Message-ID |
<[email protected]> |
I came across current last week, happily set up on RedHat 7.2 for my own
munged distribution. Worked perfectly :)
Another week and another job later ...
Have downloaded current on a RedHat 6.2 box + updates which is the
distro for my new employers.
Set up current as before, cadmin happy generating databases.
However when I initialise current it dies. I think it is a db issue, or
maybe it just doesn't work on RedHat 6.2 as the server ...
I'm thinking maybe rebuild python from src.rpm against the libc and db3
libraries but it seems dynamically linked, any ideas. Lots of data
follows...
[root@fred lib-dynload]# ldd bsddbmodule.so
libdb.so.3 => /lib/libdb.so.3 (0x40009000)
libdb.so.2 => /lib/libdb.so.2 (0x40043000)
libc.so.6 => /lib/libc.so.6 (0x40051000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
I added an extra logException() line in to locate what was going on:
Mar 03 17:25:45 Current server v1.0.2 starting, released under the GPL
Mar 03 17:25:45 Attempting to fork() into the background...
Mar 03 17:25:45 Sucessfully fork()ed
Mar 03 17:25:45 Starting up Backend
Mar 03 17:25:45 Error opening channel 'redhat-i386-6.2'
Mar 03 17:25:45 Error opening db_dir
'/usr/local/redhat/linux/6.2/current'
Mar 03 17:25:45 Shutting down because we could not start the server
Mar 03 17:2545 : EXCEPTION in /usr/sbin/current, main(), 124
[logException()]
Traceback (innermost last):
File "/usr/sbin/current", line 119, in main
packagedb.db.addChannel(db_dir)
File "/usr/share/current/packagedb.py", line 50, in addChannel
tmp.open(db_dir)
File "/usr/share/current/channel.py", line 357, in open
'rpm_index.wdb'), mode)
error: (22, 'Invalid argument')
I played about and it's the bsddb.btopen returning this, I get it when I
try and open the files just using the module.
Which is where the index gets opened up.
[root@fred i386]# file /usr/local/redhat/linux/6.2/current/rpm_index.wdb
/usr/local/redhat/linux/6.2/current/rpm_index.wdb: Berkeley DB 2.X
Btree/Little Endian (Version 6, Logical sequence number: file - 0,
A strace reveals:
24899 open("/usr/local/redhat/linux/6.2/current/rpm_index.wdb",
O_RDONLY) = 6
24899 fcntl(6, F_SETFD, FD_CLOEXEC) = 0
24899 fstat(6, {st_mode=S_IFREG|0644, st_size=131072, ...}) = 0
24899 read(6, "\0\0\0\0\0\0\0\0\0\0\0\0b1\5\0\6\0\0\0\0\20\0\0", 24) =
24
24899 close(6) = 0
24899 gettimeofday({1016558608, 830949}, NULL) = 0
24899 write(5, "Mar 03 17:23:28 Error opening channel
\'redhat-i386-6.2\'\n", 56) = 56
[root@fred RPMS]# rpm -qf /lib/libdb-2.1.3.so
glibc-2.1.3-23
[root@fred RPMS]# rpm -q glibc
glibc-2.1.3-23
[root@fred RPMS]# rpm -qf /lib/libdb1-2.1.3.so
glibc-2.1.3-23
[root@fred RPMS]# rpm -qf /lib/libdb
libdb-2.1.3.so libdb.so.2 libdb1-2.1.3.so
libdb-3.1.so libdb.so.3 libdb1.so.2
[root@fred RPMS]# rpm -qf /lib/libdb-3.1.so
db3-3.1.17-4.6x
Paul