[Python-bugs-list] [Bug #132606] 2.1a2 _tkinter build may pick up wrong Tcl/Tk versions

noreply@sourceforge.net noreply@sourceforge.net
Fri, 23 Feb 2001 08:45:18 -0800


Bug #132606, was updated on 2001-Feb-15 13:21
Here is a current snapshot of the bug.

Project: Python
Category: Build
Status: Open
Resolution: None
Bug Group: None
Priority: 5
Submitted by: mfavas
Assigned to : akuchling
Summary: 2.1a2 _tkinter build may pick up wrong Tcl/Tk versions

Details: Platform: Compaq Tru64 Unix, Version 4.0F, Compaq C V6.3-129 (dtk)
on Digital UNIX V4.0F  (Rev. 1229), Compiler Driver V6.3-126 (dtk) cc
Driver

setup.py generates the following compile and link lines for _tkinter.c:

cc -O -Olimit 1500 -DWITH_APPINIT=1 -I/usr/X11/include -I.
-I/home/gonzo1/mark/groucho1/mark/src/python/CVS/python/dist/src/./Include
-IInclude/ -I/usr/local/include -c
/home/gonzo1/mark/groucho1/mark/src/python/CVS/python/dist/src/Modules/
_tkinter.c -o build/temp.osf1-V4.0-alpha-2.1/_tkinter.o
cc -O -Olimit 1500 -DWITH_APPINIT=1 -I/usr/X11/include -I.
-I/home/gonzo1/mark/groucho1/mark/src/python/CVS/python/dist/src/./Include
-IInclude/ -I/usr/local/include -c
/home/gonzo1/mark/groucho1/mark/src/python/CVS/python/dist/src/Modules/
tkappinit.c -o build/temp.osf1-V4.0-alpha-2.1/tkappinit.o
ld -shared -expect_unresolved * build/temp.osf1-V4.0-alpha-2.1/_tkinter.o
build/
temp.osf1-V4.0-alpha-2.1/tkappinit.o -L/usr/X11/lib -L/usr/local/lib
-ltk8.0 -lt
cl8.0 -lX11 -o build/lib.osf1-V4.0-alpha-2.1/_tkinter.so

/usr/X11/include precedes /usr/local/include and /usr/X11/lib precedes
/usr/local/lib and will be searched first.  /usr/X11/{include,lib} are,
according to the comment in setup.py, the default location for X11. If a
system comes with Tcl/Tk installed, and the user installs a later version
in /usr/local, setup.py will use the earlier version's include files and
(probably) the later versions library files, assuming the version number is
part of the library filename and "-l{tcl,tk}" string. This mismatch will
not be good... This is the case with Tru64, which comes with an old (7.6)
version of Tcl/Tk. The only reason I didn't fall foul of this gotcha was
that Tru64 doesn't have a /usr/X11 directory - it has the standard (but
probably pre-Linux standard!) /usr/include/X11 and /usr/lib/X11 structure.
I'd suggest that for both the includes and libs /usr/local should appear
before the "default" system X11 directories.


Follow-Ups:

Date: 2001-Feb-23 08:45
By: akuchling

Comment:
The handling of include and lib directories has changed a bit; does it
still pick up the wrong versions?
-------------------------------------------------------

For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=132606&group_id=5470