You are not logged in.
I downloaded the pyvnc2swf PKGBUILD from AUR and installed the package; when I tried to run it, I got an error about 'unable to find libtk8.4.so', so I did the usual trick and symlinked libtk8.5.so in /usr/lib to that name.
Now I get the following error message, and I'm unsure how to resolve the problem:
dave@kaminoitte:/usr/lib$ pyvnc2swf
Using pygame 1.7.1release
Using pymedia 1.3.5
Traceback (most recent call last):
File "/usr/bin/pyvnc2swf", line 373, in ?
if __name__ == "__main__": main(sys.argv[1:])
File "/usr/bin/pyvnc2swf", line 371, in main
debug=debug).run()
File "/usr/bin/pyvnc2swf", line 108, in __init__
self.root = Tkinter.Tk()
File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1571, in __init__
self._loadtk()
File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1589, in _loadtk
raise RuntimeError,
RuntimeError: tk.h version (8.4) doesn't match libtk.a version (8.5)
Any help would be greatly appreciated
.oO Komodo Dave Oo.
Offline
I have libtk8.4.so on my system. Are you using a devel/cvs version of tcl/tk?
Offline
I have libtk8.4.so on my system. Are you using a devel/cvs version of tcl/tk?
Yes, cvs versions of both to allow me to use Exaile, the GTK+ Amarok clone.
Is there any way to get round the problem without uninstalling Exaile, Snowman?
.oO Komodo Dave Oo.
Offline
tk.h version (8.4) doesn't match libtk.a version (8.5)
seems to implies that you have both 8.4 and 8.5 installed or your tcl/tk is broken. :?
Offline
tk.h version (8.4) doesn't match libtk.a version (8.5)
seems to implies that you have both 8.4 and 8.5 installed or your tcl/tk is broken. :?
Agreed, but I can't find what's wrong... I've only got the cvs packages installed. Maybe there's something wrong with them? I dunno...
dave@kaminoitte:/home/dave/.fvwm$ pacman -Qs tcl
local/tcl-cvs 20060330-1
The Tcl scripting language
local/tk-cvs 20060330-1
A windowing toolkit for use with tcl
.oO Komodo Dave Oo.
Offline
You are using the tk.h for version 8.4. Do you have multiple tk.h headers installed? What does
$ grep TK_VERSION /usr/include/tk.h
gives you. If it's 8.4, you need the headers for 8.5. You could try to change the TK_VERSION and TK_PATCH_LEVEL in tk.h to make it beleive that it's the header of 8.5. It might not work though. Or get the correct headers for 8.5.
Offline
You are using the tk.h for version 8.4. Do you have multiple tk.h headers installed? What does
$ grep TK_VERSION /usr/include/tk.h
gives you. If it's 8.4, you need the headers for 8.5. You could try to change the TK_VERSION and TK_PATCH_LEVEL in tk.h to make it beleive that it's the header of 8.5. It might not work though. Or get the correct headers for 8.5.
dave@kaminoitte:/home/dave/.fvwm$ grep TK_VERSION /usr/include/tk.h
#define TK_VERSION "8.5"
They seem correct :shock:
*checks for multiple instances of tk.h*
dave@kaminoitte:/home/dave/.fvwm$ locate tk.h | grep /tk.h
/usr/include/tk.h
/usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h
hmm..
dave@kaminoitte:/home/dave/.fvwm$ grep TK_VERSION /usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h
#define TK_VERSION "8.4"
aha!
So... I symlinked /usr/include/tk.h to /usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h , meaning both are TK_VERSION "8.5"; still pyvnc2swf complains though, so there's obviously something I need to update. I don't know what that is (if you could tell me so I know for the future, that'd be great ^_^), so I'm going for a reboot now...
.oO Komodo Dave Oo.
Offline
Well, a reboot didn't sort things out sadly.
dave@kaminoitte:~$ grep TK_VERSION `locate tk.h | grep /tk.h`
/usr/include/tk.h:#define TK_VERSION "8.5"
/usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h:#define TK_VERSION "8.5"
-> that's all groovy, but still:
dave@kaminoitte:~$ pyvnc2swf
Using pygame 1.7.1release
Using pymedia 1.3.5
Traceback (most recent call last):
File "/usr/bin/pyvnc2swf", line 373, in ?
if __name__ == "__main__": main(sys.argv[1:])
File "/usr/bin/pyvnc2swf", line 371, in main
debug=debug).run()
File "/usr/bin/pyvnc2swf", line 108, in __init__
self.root = Tkinter.Tk()
File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1571, in __init__
self._loadtk()
File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1589, in _loadtk
raise RuntimeError,
RuntimeError: tk.h version (8.4) doesn't match libtk.a version (8.5)
Poo.
So there must be some other file I need to edit too?
EDIT: I admitted defeat in the end and uninstalled Exaile for the time being... I've been using mpd anyway, so no biggie. I wonder what could have been done to remedy the problem though?
.oO Komodo Dave Oo.
Offline
So... I symlinked /usr/include/tk.h to /usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h , meaning both are TK_VERSION "8.5"; still pyvnc2swf complains though, so there's obviously something I need to update.
I don't think the symlink is a good idea. I would remove it. /usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h belongs to perl-tk and it's different from the tk.h from the tk pkg. Maybe you need to update perl-tk.
Offline
Komodo wrote:So... I symlinked /usr/include/tk.h to /usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h , meaning both are TK_VERSION "8.5"; still pyvnc2swf complains though, so there's obviously something I need to update.
I don't think the symlink is a good idea. I would remove it. /usr/lib/perl5/site_perl/current/i686-linux-thread-multi/Tk/pTk/tk.h belongs to perl-tk and it's different from the tk.h from the tk pkg. Maybe you need to update perl-tk.
Okey dokey; I'll try that when I install Exaile again (I'll wait until it's got a stable release).
Cheers for your time Snowman, it's very much appreciated
/me buys Snowman a virtual pint
.oO Komodo Dave Oo.
Offline
Also, symlinking sonames is a very bad workaround that is likely to break things. If something requires symlinking that way and it doesn't work, rebuild the offended package instead of complaining that it doesn't work.
Offline
[deleted by self]
.oO Komodo Dave Oo.
Offline
JGC wrote:rebuild the offended package instead of complaining that it doesn't work.
I don't appreciate your tone JGC; you sound highly critical of my behaviour, and I feel such a condescending remark is undeserved. I've only ever posted once before about missing libraries, and was told by a member with a very large number of posts (from which I inferred they were an experienced linux user) that I should use symlinking.
and this time you're being told by a developer He doesnt mean to be condescending, but the internet does that, what might appear to the author as a clear unambiguous, and possibly blunt statement, appears to the reader as a critical and condescending remark. To me, what JGC said, didnt seem that bad, so I'm not sure of what the fuss is about.
Just ditch the rant, it only serves to turn this thread into a mudsling match.
Do what works for you.
James
Offline
Just ditch the rant, it only serves to turn this thread into a mudsling match.
Apologies, I was being a bit too defensive. I was reminded by JGC's remark of a tutor we have here who's unbelievably condescending when you don't know some piece of esoteric information he's aware of, and I guess it hit a raw nerve: there's nothing I can't stand more than belittling someone for a lack of knowledge.
Anyhoo, as James says, you probably weren't doing that JGC, so I apologise for suggesting your remark was offensive.
/me deletes earlier post
.oO Komodo Dave Oo.
Offline
BTW, why do you use tcl/tk? doesn't pygtk better?
I removed my sig, cause i select the flag, the flag often the target of enemy.
SAR brain-tumor
[img]http://img91.imageshack.us/img91/460/cellphonethumb0ff.jpg[/img]
Offline
BTW, why do you use tcl/tk? doesn't pygtk better?
Sadly I don't decide the dependencies
.oO Komodo Dave Oo.
Offline
Instead, you can make new software.
I removed my sig, cause i select the flag, the flag often the target of enemy.
SAR brain-tumor
[img]http://img91.imageshack.us/img91/460/cellphonethumb0ff.jpg[/img]
Offline
Instead, you can make new software.
Lol, I do already! I'm busy with other projects atm sadly
.oO Komodo Dave Oo.
Offline