TK Script Fehler

F

flammenflitzer

Routinier
dev-tcltk/tix bug

Ich wollte mit dem Installer Call to Power installieren unter Gentoo
Code:
./ctp-install
Traceback (most recent call last):
  File "./ctp-install", line 16, in ?
    root = Tk()
  File "/usr/lib/python2.4/lib-tk/Tix.py", line 210, in __init__
    self.tk.eval('package require Tix')
_tkinter.TclError: couldn't load file "/usr/lib64/libtix8.2.so": /usr/lib64/libtix8.2.so: undefined symbol: XLowerWindow
Kann mir jemand weiterhelfen?

/usr/lib64/libtix8.2.so existiert.

Ich habe den Bug gefunden, werde aber nicht so recht schlau, was ich machen muß.
Code:
http://bugs.gentoo.org/show_bug.cgi?id=88513
Code:
After adding dev-tcltk/tix I should be able to use the Tix widgets from python, but instead I get an error when trying to import:

_tkinter.TclError: couldn't load file "/usr/lib/libtix8.2.so": /usr/lib/libtix8.2.so: undefined symbol: XLowerWindow

Reproducible: Always
Steps to Reproduce:
1. build dev-lang/python
2. build dev-tcltk/tix
3. Try to use Tix from python

python
import Tix
r = Tix.Tk()
Actual Results:  
_tkinter.TclError: couldn't load file 
"/usr/lib/libtix8.2.so": /usr/lib/libtix8.2.so: undefined symbol: XLowerWindow 
 

Expected Results:  
No error. 

I got this to work by manually relinking _tkinter.so.  
  
_tkinter.so needs to link in libtix.  
  
I did...  
  
emerge unpack  
emerge compile  
  
then switched in to the work directory and did ...  
i686-pc-linux-gnu-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 -ltix8.2 -o build/lib.linux-i686-2.3/_tkinter.so  
  
(adding -ltix8.2 which was not there in the original compile)  
  
Now tix works from python...


------- Additional Comment #1 From T. Koehler 2005-07-12 07:33 PDT -------

Although the solution presented by the parent may work, it is only a workaround,
because it would mean that any extension to Tk would need a recompile of python
to work. The real problem lies within /usr/lib/tkConfig.sh, which contains two
types of errors:

1) The paths to the headers and libraries ("TK_SRC_DIR", several others) contain
the tmp-directory used by portage for compilation. This needs to be changed to
"/usr/lib/tk8.4/include"

2) The variables for the stub-libraries do not contain -lX11.

Error 1) causes Tix to fail to compile on my machine (amd64). After fixing this,
the error described by the parent occurs.

Error 2) causes the "undefined symbol"-error from within python. Fixing it makes
Tix work from python without having to recompile python.

Code:
ls -la /usr/lib64/libtix8.2.so
-r-xr-xr-x  1 root root 312112 26. Aug 09:07 /usr/lib64/libtix8.2.so
 
Zuletzt bearbeitet:

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Samba4 AD DC

X startet nichtmehr

JBidWatcher: Problem bei loading Auctions in Verbindung mit mySQL

Autostart von X mit google-chrome durch systemd

Zurück
Oben