gdbm compatibility between linux and freebsd
here's a problem
A is redhatlinux and B is freebsd
Linux xxxxxxxxx 2.4.7-10 #1 Thu Sep 6 17:27:27 EDT 2001 i686 unknown
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x4000a000)
libc.so.6 => /lib/i686/libc.so.6 (0x40011000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
FreeBSD xxx.xxx.xxx 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Mon Aug 18
11:34:38 KST 2003 xxxxxxxxxxxxxxxxxxxxxx i386
libc_r.so.5 => /usr/lib/libkse.so.1 (0x2815e000)
libgdbm.so.3 => /usr/local/lib/libgdbm.so.3 (0x28180000)
and the problem is gdbm db file is not compatible between two system
in system A)
>>f = gdbm.open("test.db", "c")
>>f["1"] = "first"
and copy this file to freebsd system and try to open this file then it
in system B)
>>f = gdbm.open("test.db", "r")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
gdbm.error: File read error
and reverse case is also fails. more precisely say in this case python
occurs gdbm FATAL error :(
anyone know what is the casuse of this problem?
Re: gdbm compatibility between linux and freebsd
email@example.com (bucket79) writes:
> here's a problem
> and the problem is gdbm db file is not compatible between two system
> for example
> anyone know what is the casuse of this problem?
Yes and No ;-)
I do not think that gdbm-files could be considered 'portable'
(gdbm surely is, the files are (sometimes) not)
on freebsd systems `off_t` is (sometimes) 8 bytes, while on most
others it's just 4 bytes.
try changing off_t" to "loff_t" in gdbmdefs.h and recompile libgdmb
(breaking existing databases on the system !!!! )
or use some other format for interchanging information.
some people say bdb is not that problematic but I don't know...
(I'll treat all *db databases non-portable)
bdb databases can be be dumped to some interchangeable format.
|All times are GMT. The time now is 09:16 PM.|
Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.