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