Ticket UUID: | 554351 | |||
Title: | Sample Extension not 64-bit Aware | |||
Type: | Bug | Version: | obsolete: 8.5a0 | |
Submitter: | dgp | Created on: | 2002-05-10 02:25:29 | |
Subsystem: | 70. Sample Extension | Assigned To: | hobbs | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2003-12-09 01:28:34 | |
Resolution: | Fixed | Closed By: | hobbs | |
Closed on: | 2003-12-08 18:28:34 | |||
Description: |
OK, the main point of the sampleextension is the TEA config/build/install stuff, but the extension still ought to actually work. It does not work on 64-bit Linux/Alpha: $ make test TCL_LIBRARY=`echo /local/src/tcl/library` LD_LIBRARY_PATH=".:/local/src/tcl/unix:/home/dgp/alpha/linux/lib:/usr/local/lib:/usr/lib" LIBPATH=".:/local/src/tcl/unix:" SHLIB_PATH=".:/local/src/tcl/unix:" PATH=".:/local/src/tcl/unix:/home/dgp/alpha/linux/bin:/home/dgp/Tcl:/home/dgp/Perl:/home/dgp/bin:/home/dgp/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/X11:/usr/openwin/bin:/usr/games:." TCLLIBPATH="." "/local/src/tcl/unix/tclsh" `echo ./tests/all.tcl` Tests running in interp: /local/src/tcl/unix/tclsh Tests running with pwd: /local/src/sampleextension Tests running in working dir: /local/src/sampleextension/tests Only sourcing test files that match: *.test Tests began at Thu May 09 22:24:44 EDT 2002 sample.test ==== sha-1.1 Use of -string operand FAILED ==== Contents of test case: set result [sha1 -string foo] ---- Result was: b0b801b1bf5f29352b10094e72d6842b9676a1f8 ---- Result should have been (exact matching): 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 ==== sha-1.1 FAILED make: *** [test] Segmentation fault My guess is that there's an implicit assumption of 32-bit "registers". | |||
User Comments: |
hobbs added on 2003-12-09 01:28:34:
Logged In: YES user_id=72656 2nd patch applied for sample0.5. dgp added on 2003-12-08 23:27:11: File Added - 69939: 554351.patch Logged In: YES user_id=80530 With the recent changes (TEA 3) this slightly modified patch seems to be all we need for 64-bit support. Thanks, dkf. tclguy, please test and apply. dkf added on 2003-03-07 18:27:24: Logged In: YES user_id=79902 Status: I was busy (and still am, alas.) dgp added on 2003-03-05 13:43:57: Logged In: YES user_id=80530 status on this one? dgp added on 2002-08-01 03:32:29: Logged In: YES user_id=80530 After commenting out the assert(), I get a [load]-able shared library; thus a valid pkgIndex.tcl file, and after installing a `make test` runs successfully with 0 failures. So, good 64-bit fix (modulo assert-removal), but new build/install issues discovered. dgp added on 2002-08-01 03:26:53: Logged In: YES user_id=80530 Problem 1: The shared library produced with an --enable-symbols configuration will not [load]. This means that generation of pkgIndex.tcl also fails -- silently. Neither is good. % load libsample0.4g.so couldn't load file "libsample0.4g.so": /local/src/sampleextension/libsample0.4g.so: undefined symbol: assert Same problem without --enable-symbols actually: % load libsample0.4.so couldn't load file "libsample0.4.so": /local/src/sampleextension/libsample0.4.so: undefined symbol: assert dgp added on 2002-07-27 12:34:16: Logged In: YES user_id=80530 assigning to myself so I'll remember to test this when I get home dkf added on 2002-07-26 22:04:56: File Added - 27812: 64bit.patch Logged In: YES user_id=79902 Could someone try this possible fix? dkf added on 2002-06-25 21:27:01: Logged In: YES user_id=79902 Well, it's already scared *me* off for a while! ;^) Perhaps if I was to start by working from the tcllib version! dgp added on 2002-06-25 21:17:30: Logged In: YES user_id=80530 that's enough to scare me away. dkf added on 2002-06-25 16:10:36: Logged In: YES user_id=79902 Ooer! SHA1Transform (in sample.c) is absolutely not portable to 64-bit systems (it assumes that sizeof(long)==4*sizeof(char) and that sizeof(long[16])==sizeof(char[64]), neither of which is guaranteed to be true, and both of which could fail independently.) Maybe the rest of that file is better, but I somehow doubt it... Fixing this bug requires a hefty rewrite of that file, so I'm dropping the priority. dgp added on 2002-06-21 23:58:28: Logged In: YES user_id=80530 I'll try to look into this. mdejong added on 2002-05-22 01:20:54: Logged In: YES user_id=90858 I don't have access to a 64 bit system. Sending back to hobbs in the hope that he can find someone with a 64 bit system. |