|
2009-01-07
| ||
| 23:41 | • Closed ticket [874745ffff]: Tk accesses Tcl_*StartupScript*() which is private to Tcl plus 7 other changes artifact: 70500ce3de user: dgp | |
|
2005-09-01
| ||
| 23:19 | • Ticket [874745ffff]: 1 change artifact: 6e5e0b3df4 user: vincentdarley | |
|
2004-06-03
| ||
| 20:15 | • Ticket [874745ffff]: 1 change artifact: 435e799290 user: dgp | |
| 16:19 | • Ticket [874745ffff]: 5 changes artifact: 08e4ad12b8 user: vincentdarley | |
|
2004-02-28
| ||
| 23:06 | • Ticket [874745ffff]: 5 changes artifact: 2edb3f220d user: vincentdarley | |
|
2004-02-02
| ||
| 05:21 | • Ticket [874745ffff]: 4 changes artifact: 895ca59d7c user: dgp | |
|
2004-02-01
| ||
| 04:03 | • Ticket [874745ffff]: 4 changes artifact: 14e234d67b user: jenglish | |
| 03:29 | • Ticket [874745ffff]: 4 changes artifact: d3448b25be user: jenglish | |
|
2004-01-29
| ||
| 08:38 | • Ticket [874745ffff]: 4 changes artifact: 9fbdc3f133 user: dgp | |
| 08:30 | • Ticket [874745ffff]: 4 changes artifact: 29118d2531 user: das | |
| 08:24 | • Open ticket [874745ffff]. artifact: c54519fa0b user: dgp | |
|
2004-01-27
| ||
| 17:11 | • Closed ticket [874745ffff]. artifact: c1570a38ac user: das | |
|
2004-01-11
| ||
| 03:41 | • New ticket [874745ffff]. artifact: 82f2fd7430 user: espectro | |
| Ticket UUID: | 874745 | |||
| Title: | Tk accesses Tcl_*StartupScript*() which is private to Tcl | |||
| Type: | Bug | Version: | obsolete: 8.5a0 | |
| Submitter: | espectro | Created on: | 2004-01-11 03:41:56 | |
| Subsystem: | 75. wish | Assigned To: | dgp | |
| Priority: | 7 High | Severity: | ||
| Status: | Closed | Last Modified: | 2009-01-07 23:41:34 | |
| Resolution: | Accepted | Closed By: | dgp | |
| Closed on: | 2009-01-07 16:41:34 | |||
| Description: |
DynamicLibrary /Users/espectro/tk/macosx/../../build/tk/
Tk.framework/Versions/8.5/Tk
DynamicLibrary.LinkUsingFileList /Users/espectro/tk/macosx/
../../build/tk/Tk.framework/Versions/8.5/Tk
/usr/bin/gcc-3.3 -o /Users/espectro/tk/macosx/../../
build/tk/Tk.framework/Versions/8.5/Tk "-L/Users/espectro/
tk/macosx/../../build/tk" "-F/Users/espectro/tk/macosx/../
../build/tk" "-F/Users/espectro/tk/macosx/../../build/tcl"
-filelist /Users/espectro/tk/macosx/../../build/tk/
Development.build/Wish.build/TkLibrary.build/Objects-
normal/LinkFileList "-framework" "Tcl" "-framework"
"Carbon" "-framework" "ApplicationServices" "-arch" "ppc"
"-prebind" "-Wl,-single_module" "-dynamiclib" "-
compatibility_version" "8.5" "-current_version" "8.5" "-
seg1addr" "0xb000000" "-prebind" -install_name "`echo "/
Library/Frameworks/Tk.framework/Versions/8.5/Tk" | /usr/
bin/sed 's!//*!/!g'`"
ld: warning prebinding disabled because of undefined
symbols
ld: Undefined symbols:
_TclUtfToUniChar
/usr/bin/libtool: internal link edit command failed
...failed DynamicLibrary.LinkUsingFileList /Users/espectro/tk/
macosx/../../build/tk/Tk.framework/Versions/8.5/Tk ...
** BUILD FAILED **
make: *** [develop] Error 1
8.4.5 compiles fine
Using OSX Panther
BTW, pbxbuild doesn't exist anymore. It's xcodebuild now
| |||
| User Comments: |
dgp added on 2009-01-07 23:41:34:
TIP 338 solved this. vincentdarley added on 2004-06-03 16:19:26: Logged In: YES user_id=32170 Changing summary line to reflect only remaining issues here. vincentdarley added on 2004-02-28 23:06:27: Logged In: YES user_id=32170 Fixed tkTextIndex.c issue. Only remaining one is Tcl_*StartupScript*() according to information below. dgp added on 2004-02-02 05:21:20: Logged In: YES user_id=80530 FWIW, the Tcl_*StartupScript*() routines have public-looking names (even through they are private currently) because I expect to propose their addition to Tcl's public interface for 8.5. jenglish added on 2004-02-01 04:03:52: Logged In: YES user_id=68433 In generic/tkTextIndex.c, TclUtfToUniChar() can be replaced with the public interface Tcl_UtfToUniChar(). The only remaining tclInt.h dependency (on Unix at least) is the use of Tcl_GetStartupScript() and Tcl_SetStartupScript() in generic/tkMain.c(Tk_MainEx). Those probably aren't even necessary -- at the first call to Tcl_GetStartupScript(), nothing has happened that could have set the startup script *except* when called from macosx/tkMacOSXAppInit.c (or when called from a user app that's previously called Tcl_SetStartupScript, but that's an internal API so those apps get what they deserve). The second time it's called, it will either return the same thing as before or the value that Tk_MainEx just passed to Tcl_SetStartupScript() itself. So if we can disentangle tkMacOSXAppInit, these can probably go away too. jenglish added on 2004-02-01 03:29:46: Logged In: YES user_id=68433 Just removed "#include <tclInt.h>" from tkUnixPort.h and only got the following warnings: tkUnixEvent.c: In function `TkUnixDoOneXEvent': tkUnixEvent.c:473: warning: implicit declaration of function `TclpGetTime' tkUnixWm.c: In function `WaitForEvent': tkUnixWm.c:4428: warning: implicit declaration of function `TclpGetTime' These can be replaced with Tcl_GetTime() added by TIP #73 (done) dgp added on 2004-01-29 08:38:56: Logged In: YES user_id=80530 I don't mind this as a temp fix in the HEAD. The HEAD should compile after all. :) Just didn't want to see this closed, and accept this as our "final answer". Yes, moving the #include of tclInt.h out of the tcl*Port.h files and into just those tcl*.c files that have internal access needs might give us a clearer picture of how much weaning is left to do. das added on 2004-01-29 08:30:36: Logged In: YES user_id=90580 Donald, makes sense, should have looked into that, this was just the quickest fix to gets things linking again. To prevent such unilateral platform breakage in the future, maybe tclInt.h should be removed from tkUnixPort.h/ tkWinPort.h then ? dgp added on 2004-01-29 08:24:25: Logged In: YES user_id=80530 Would be better to fix the broken code. We should be weaning Tk off of Tcl internals, not adding more uses of them. Re-open. das added on 2004-01-27 17:11:53: Logged In: YES user_id=90580 This error is due to a missing '#include <tclInt.h>' in tk/generic/ tkTextIndex.c, as that file uses the TclUtfToUniChar macro from tclInt.h. The reason this works on other platforms is that they include tclInt.h in their tk*Port.h, but tkMacOSXPort.h doesn't (maybe it should?). Fix checked into HEAD & core-8-4-branch, c.f. diff below. As far as the missing pbxbuild on Panther goes, you can workaround this by saying 'make PBXBUILD=xcodebuild'; a fix to the Makefile that works on both Jaguar & Panther has been checked in. Index: generic/tkTextIndex.c ========================================= ========================== RCS file: /cvsroot/tktoolkit/tk/generic/tkTextIndex.c,v retrieving revision 1.15 diff -u -p -r1.15 tkTextIndex.c --- generic/tkTextIndex.c13 Jan 2004 02:06:01 -00001.15 +++ generic/tkTextIndex.c27 Jan 2004 10:06:33 -0000 @@ -17,6 +17,7 @@ #include "tkPort.h" #include "tkInt.h" #include "tkText.h" +#include <tclInt.h> /* * Index to use to select last character in line (very large integer): | |||