473,378 Members | 1,541 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

homebrew 2.3 install on RedHat9 not playing nice with Tkinter

I'm on a Red Hat 9 system, which has Python 2.2.2 installed, and I installed
2.3 separately into /home/rob/Python-2.3/ (creating the symbolic link
"py23" to point to my 2.3 installation). Now I'm trying to work out the
kinks in the process.

Unable to run Idle using 2.3 the way I've got things set up, I created a
super simple Tkinter test program that just pops up a Label widget. I
pasted below an example of how the RH-provided 2.2 runs the script without
incident, but running the script with 2.3 produces a traceback. If someone
can help me see the error of my ways, I'll be most appreciative.

[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python -V
Python 2.2.2
[Wed Aug 27][03:04 PM] ~/Python-2.3/test $ py23 -V
Python 2.3
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ py23 test2.py
Traceback (most recent call last):
File "test2.py", line 1, in ?
from Tkinter import Label
File "/home/rob/Python-2.3/Lib/lib-tk/Tkinter.py", line 38, in ?
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python test2.py

-Rob
(mediocre with Python, incompetent with linux)
Jul 18 '05 #1
3 4048
On Wednesday 27 August 2003 9:12 pm, Rob Andrews wrote:
I'm on a Red Hat 9 system, which has Python 2.2.2 installed, and I
installed 2.3 separately into /home/rob/Python-2.3/ (creating the symbolic
link "py23" to point to my 2.3 installation). Now I'm trying to work out
the kinks in the process.

Unable to run Idle using 2.3 the way I've got things set up, I created a
super simple Tkinter test program that just pops up a Label widget. I
pasted below an example of how the RH-provided 2.2 runs the script without
incident, but running the script with 2.3 produces a traceback. If someone
can help me see the error of my ways, I'll be most appreciative.

[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python -V
Python 2.2.2
[Wed Aug 27][03:04 PM] ~/Python-2.3/test $ py23 -V
Python 2.3
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ py23 test2.py
Traceback (most recent call last):
File "test2.py", line 1, in ?
from Tkinter import Label
File "/home/rob/Python-2.3/Lib/lib-tk/Tkinter.py", line 38, in ?
import _tkinter # If this fails your Python may not be configured for
Tk ImportError: No module named _tkinter
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python test2.py

-Rob
(mediocre with Python, incompetent with linux)


Rob,

I just finished building python 2.3 on my redhat 9 laptop... the first time I
did the make it failed (near the end) because it couldn't find the Tk/Tcl
libs.

On my system they are in /usr/local/lib (because I built them myself)
on your's I guess they would be in /usr/lib. So to fix the build I set
LD_RUN_PATH to /usr/local/lib and them ran make again.
HTH
Martin


Jul 18 '05 #2
On Thursday 28 August 2003 8:42 am, Martin Franklin wrote:
On Wednesday 27 August 2003 9:12 pm, Rob Andrews wrote:
I'm on a Red Hat 9 system, which has Python 2.2.2 installed, and I
installed 2.3 separately into /home/rob/Python-2.3/ (creating the
symbolic link "py23" to point to my 2.3 installation). Now I'm trying to
work out the kinks in the process.

Unable to run Idle using 2.3 the way I've got things set up, I created a
super simple Tkinter test program that just pops up a Label widget. I
pasted below an example of how the RH-provided 2.2 runs the script
without incident, but running the script with 2.3 produces a traceback.
If someone can help me see the error of my ways, I'll be most
appreciative.

[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python -V
Python 2.2.2
[Wed Aug 27][03:04 PM] ~/Python-2.3/test $ py23 -V
Python 2.3
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ py23 test2.py
Traceback (most recent call last):
File "test2.py", line 1, in ?
from Tkinter import Label
File "/home/rob/Python-2.3/Lib/lib-tk/Tkinter.py", line 38, in ?
import _tkinter # If this fails your Python may not be configured for
Tk ImportError: No module named _tkinter
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python test2.py

-Rob
(mediocre with Python, incompetent with linux)


Rob,

I just finished building python 2.3 on my redhat 9 laptop... the first
time I did the make it failed (near the end) because it couldn't find the
Tk/Tcl libs.

On my system they are in /usr/local/lib (because I built them myself)
on your's I guess they would be in /usr/lib. So to fix the build I set
LD_RUN_PATH to /usr/local/lib and them ran make again.
HTH
Martin


OK so just to check what I did I did it again...:

The error I got when I did make for the first time was:-
gcc -pthread -shared build/temp.linux-i686-2.3/_tkinter.o
build/temp.linux-i686-2.3/tkappinit.o -L/usr/X11R6/lib -L/usr/local/lib
-ltk8.4 -ltcl8.4 -lX11 -o build/lib.linux-i686-2.3/_tkinter.so
*** WARNING: renaming "_tkinter" since importing it failed: libtk8.4.so:
cannot open shared object file: No such file or directory
So it looks like _tkinter got compiled OK but when it was imported (as a test
I presume) it failed to find the tk library.. so:-
[mfranklin1@m-franklin Python-2.3]$ export LD_RUN_PATH=/usr/local/lib

[mfranklin1@m-franklin Python-2.3]$ make

gcc -pthread -shared build/temp.linux-i686-2.3/_tkinter.o
build/temp.linux-i686-2.3/tkappinit.o -L/usr/X11R6/lib -L/usr/local/lib
-ltk8.4 -ltcl8.4 -lX11 -o build/lib.linux-i686-2.3/_tkinter.so
running build_scripts

This time it continues. without error/warning...
What is LD_RUN_PATH???
man ld

<snip>

-rpath dir
Add a directory to the runtime library search path. This is used
when linking an ELF executable with shared objects. All -rpath
arguments are concatenated and passed to the runtime linker, which
uses them to locate shared objects at runtime. The -rpath option
is also used when locating shared objects which are needed by
shared objects explicitly included in the link; see the description
of the -rpath-link option. If -rpath is not used when linking an
ELF executable, the contents of the environment variable
"LD_RUN_PATH" will be used if it is defined.

The -rpath option may also be used on SunOS. By default, on SunOS,
the linker will form a runtime search patch out of all the -L
options it is given. If a -rpath option is used, the runtime
search path will be formed exclusively using the -rpath options,
ignoring the -L options. This can be useful when using gcc, which
adds many -L options which may be on NFS mounted filesystems.

For compatibility with other ELF linkers, if the -R option is fol-
lowed by a directory name, rather than a file name, it is treated
Cheers
Martin





Jul 18 '05 #3
On Wednesday 27 August 2003 9:12 pm, Rob Andrews wrote:
I'm on a Red Hat 9 system, which has Python 2.2.2 installed, and I
installed 2.3 separately into /home/rob/Python-2.3/ (creating the symbolic
link "py23" to point to my 2.3 installation). Now I'm trying to work out
the kinks in the process.

Unable to run Idle using 2.3 the way I've got things set up, I created a
super simple Tkinter test program that just pops up a Label widget. I
pasted below an example of how the RH-provided 2.2 runs the script without
incident, but running the script with 2.3 produces a traceback. If someone
can help me see the error of my ways, I'll be most appreciative.

[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python -V
Python 2.2.2
[Wed Aug 27][03:04 PM] ~/Python-2.3/test $ py23 -V
Python 2.3
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ py23 test2.py
Traceback (most recent call last):
File "test2.py", line 1, in ?
from Tkinter import Label
File "/home/rob/Python-2.3/Lib/lib-tk/Tkinter.py", line 38, in ?
import _tkinter # If this fails your Python may not be configured for
Tk ImportError: No module named _tkinter
[Wed Aug 27][03:01 PM] ~/Python-2.3/test $ python test2.py

-Rob
(mediocre with Python, incompetent with linux)


Rob,

I had another look and I think I see your problem... basically I removed the
/usr/local build of Tcl/Tk so that python 2.3 would 'find' the redhat 9 build
of Tcl/Tk....

so I ran configure then make and right at the end of the make:-

building '_tkinter' extension
gcc -pthread -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC
-fno-strict-aliasing -DWITH_APPINIT=1 -I/usr/X11R6/include -I.
-I/usr/python/Python23/TEST111/Python-2.3/./Include
-I/usr/python/Python23/TEST111/Python-2.3/Include
-I/usr/python/Python23/TEST111/Python-2.3 -c
/usr/python/Python23/TEST111/Python-2.3/Modules/_tkinter.c -o
build/temp.linux-i686-2.3/_tkinter.o
/usr/python/Python23/TEST111/Python-2.3/Modules/_tkinter.c:96:2: #error
"unsupported Tcl configuration"
/usr/python/Python23/TEST111/Python-2.3/Modules/_tkinter.c: In function
`AsObj':
/usr/python/Python23/TEST111/Python-2.3/Modules/_tkinter.c:947: warning:
passing arg 1 of `Tcl_NewUnicodeObj' from incompatible pointer type
/usr/python/Python23/TEST111/Python-2.3/Modules/_tkinter.c: In function
`FromObj':
/usr/python/Python23/TEST111/Python-2.3/Modules/_tkinter.c:1073: warning:
passing arg 1 of `PyUnicodeUCS2_FromUnicode' from incompatible pointer type


So it looks like the Tcl/Tk version that comes with RedHat 9 (it apears to be
Tk 8.3.5 accordfing to the tk.h file in /usr/include) is not compatible with
the Tkinter in Python 2.3. This means _tkinter.so is not built and Tkinter
will not work!

On way round this little problem would be to build your own Tcl/Tk
(thats what I did) Not only will you get a working Python 2.3 but you get the
new options in Tk 8.4 too all for an extra couple of downloads and about 30
mins of 'work'.
Cheers
Martin


Jul 18 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Greg | last post by:
I'm trying to create a megawidget for file selection that contains a Label, EntryField, and Browse Button (that will open a tkFileDialog). The label positioning won't cooperate however, could...
14
by: Lou | last post by:
When I did my RedHat9 install, I choose Workstation and customized the packages I wanted install. As a part of that customization, I chose mySQL DB; however, I can't seem to find any RedHat...
1
by: Steve | last post by:
I've installed the ActiveState binary distribution for Solaris in my home directory, but I'm having problems with Tk. I think I did everything right -- I used gtar rather than Solaris tar, and...
2
by: Ken Shaffer | last post by:
I am trying to install DB2 UDB 8.1 on linux. I get the segmentation fault on line 130 of db2jinst that others have mentioned. I tried: install on RH Fedora Core 2. got the seg fault error,...
0
by: Croteam | last post by:
Hello, I using py2exe for my script installing,and I have one problem about it,actually the real problem is tkinter window iconbitmap: import Tkinter root=Tkinter.Tk()...
1
by: Sorin Schwimmer | last post by:
Hi All, After a disaster in which I lost my whole harddrive, I decided to install the newest everything that I use. I put the latest Gentoo Linux, with gcc 4.1.1, installed tcl/tk 8.4.14 and...
4
by: Mudcat | last post by:
So I haven't programmed much in Python the past couple of years and have been catching up the last few days by reading the boards. I'll be making commercial Python applications again and wanted to...
1
kudos
by: kudos | last post by:
There is alot of GUI packages for Python, but as far as I know the only one that "comes with python" is Tkinter. Here is a toy program that draws a funny shape ...
3
by: Eric Brunel | last post by:
Hello all, I'm trying out Python 2.6 and I found what might be a bug in the Tkinter module. How can I report it? The possible bug is a traceback when trying to delete a menu item in a menu...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.