Package: libtokyocabinet9
Version: 1.4.47-1
Severity: important

TokyoCabinet under Debian unconditionally uses --enable-swab option, which has
the following two effects:

- It forces tcucodec conf to say that the machine is big-endian (wrong).
- It enforces the *non-native* data endianness in DB format.

As a result, under Debian on little-endian machines Tokyo Cabinet uses
big-endian format for database, and on big-endian machines Tokyo Cabinet uses
little-endian format for database, which is

- Incompatible with any other build of Tokyo Cabinet on any other operating
  system/Linux distribution for the same endianness.

- Does not achieve database portability, which is declared as a goal for
  --enable-swab in debian/changelog

- Unnecessary slow on all architectures.

Exhibit 1 (little-endian machine):

$ uname -a && tchmgr create foobar.tcdb && hexdump -C foobar.tcdb
Linux leibnitz 3.3.0-rc6-amd64 #1 SMP Mon Mar 5 20:53:11 UTC 2012 x86_64 
GNU/Linux
00000000  54 6f 4b 79 4f 20 43 61  42 69 4e 65 54 0a 31 2e  |ToKyO CaBiNeT.1.|
00000010  30 3a 39 31 30 0a 00 00  00 00 00 00 00 00 00 00  |0:910...........|
00000020  00 00 04 0a 00 00 00 00  00 00 00 00 00 01 ff ff  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 08 11 40  |...............@|
00000040  00 00 00 00 00 08 11 40  00 00 00 00 00 00 00 00  |.......@........|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00081140
$

See the offsets 28-2f, 38-3f -- big-endian

Exhibit 2 (big-endian machine):

$ uname -a && tchmgr create foobar.tchdb && hexdump -C foobar.tcdb 
Linux smetana 2.6.32-5-sparc64-smp #1 SMP Thu Mar 22 18:46:12 UTC 2012 sparc64 
GNU/Linux
00000000  54 6f 4b 79 4f 20 43 61  42 69 4e 65 54 0a 31 2e  |ToKyO CaBiNeT.1.|
00000010  30 3a 39 31 30 0a 00 00  00 00 00 00 00 00 00 00  |0:910...........|
00000020  00 00 04 0a 00 00 00 00  ff ff 01 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  40 11 08 00 00 00 00 00  |........@.......|
00000040  40 11 08 00 00 00 00 00  00 00 00 00 00 00 00 00  |@...............|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00081140
$

Same offsets, little-endian encoding.

Due to the really unfortunate consequences of --enable-swab, priority is set to
"Important".

-- System Information:
Debian Release: wheezy/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'testing'), (50, 'experimental'), 
(50, 'unstable'), (50, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.3.0-rc6-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libtokyocabinet9 depends on:
ii  libbz2-1.0  1.0.6-1
ii  libc6       2.13-27
ii  zlib1g      1:1.2.6.dfsg-2

libtokyocabinet9 recommends no packages.

libtokyocabinet9 suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to