Re: [review] Re: [PyKDE] PyKDE and KDE 3.4.0
On Apr 8, 2005 1:19 AM, Jim Bublitz <[EMAIL PROTECTED]> wrote: > On Thursday 07 April 2005 14:25, Karsten Vieth wrote: > > Trying to install PyKDE with KDE 3.4.0 > > > kdesu > > Traceback (most recent call last): > > File "importTest.py", line 19, in ? > > exec ("import " + mod) > > File "", line 1, in ? > > ImportError: /usr/lib/python2.3/site-packages/kdesu.so: undefined > > symbol: _ZN7KCookie16setDcopTransportERK8QCString > > > 2. You can use c++filt to identify the missing symbol: > > [EMAIL PROTECTED]:~> c++filt _ZN7KCookie16setDcopTransportERK8QCString > KCookie::setDcopTransport(QCString const&) > > Find the .sip file in PyKDE/sip/kdesu that holds the KCookie class and comment > out the setDcopTransport(QCString const&) method (// or /* ... */). > I found "setDcopTransport(QCString const&)" in ./sip/kdesu/kcookie.sip Comment it out //void setDcopTransport (const QCString&); configured and compiled but nothing changes: kdesu Traceback (most recent call last): File "importTest.py", line 19, in ? exec ("import " + mod) File "", line 1, in ? ImportError: /usr/lib/python2.3/site-packages/kdesu.so: undefined symbol: _ZN7KCookie16setDcopTransportERK8QCString ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
Trying to install PyKDE with KDE 3.4.0 * PyKDE-snapshot20050316]# python configure.py PyKDE version 4.0.0 --- Python include directory is /usr/include/python2.3 Python version is 2.3.4 sip version is 4.2.1 (4.2.1) Qt directory is /usr/lib/qt-3.3 Qt version is 3.3.4 PyQt directory is /usr/share/sip PyQt version is snapshot-20050311 (3.14.1) KDE base directory is /usr KDE include directory is /usr/include/kde KDE lib directory is /usr/lib lib directory is lib KDE version is 3.4.0 (0x30400) PyKDE modules will be installed in /usr/lib/python2.3/site-packages PyKDE .sip files will be installed in /usr/share/sip PyKDE modules to be built: dcop kdecore kdesu kdefx kdeui kio kutils kfile kparts khtml kspell kdeprint kmdi Generating the C++ source for the dcop module... Creating the Makefile for the dcop module... Generating the C++ source for the kdecore module... Creating the Makefile for the kdecore module... Generating the C++ source for the kdesu module... Creating the Makefile for the kdesu module... Generating the C++ source for the kdefx module... Creating the Makefile for the kdefx module... Generating the C++ source for the kdeui module... Creating the Makefile for the kdeui module... Generating the C++ source for the kio module... Creating the Makefile for the kio module... Generating the C++ source for the kutils module... Creating the Makefile for the kutils module... Generating the C++ source for the kfile module... Creating the Makefile for the kfile module... Generating the C++ source for the kparts module... Creating the Makefile for the kparts module... Generating the C++ source for the khtml module... Creating the Makefile for the khtml module... Generating the C++ source for the kspell module... Creating the Makefile for the kspell module... Generating the C++ source for the kdeprint module... Creating the Makefile for the kdeprint module... Generating the C++ source for the kmdi module... Creating the Makefile for the kmdi module... Creating top level Makefile... Creating pykdeconfig.py... * Finished without errors. make && make install work without errors, but when i test import, the script fails: * PyKDE-snapshot20050316]# python importTest.py Testing PyKDE module imports Modules built: dcop kdecore kdesu kdefx kdeui kio kutils kfile kparts khtml kspell kdeprint kmdi Importing: dcop kdecore kdesu Traceback (most recent call last): File "importTest.py", line 19, in ? exec ("import " + mod) File "", line 1, in ? ImportError: /usr/lib/python2.3/site-packages/kdesu.so: undefined symbol: _ZN7KCookie16setDcopTransportERK8QCString * Don't know what to change to get it working. ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Thursday 03 March 2005 21:37, Arash Abedinzadeh wrote: > Great, it seems to work, thanks. I just compiled the kdesu module and > imported it without any problems. I'll compile the whole package right now > to be sure that everything is fine. $ py importTest.py Testing PyKDE module imports Modules built: dcop kdecore kdesu kdefx kdeui kio kutils kfile kparts khtml kspell kdeprint kmdi Importing: dcop kdecore kdesu kdefx kdeui kio kutils kfile kparts khtml kspell kdeprint kmdi Everything seems to be fine. Is there anything else I can do or test? Regards, -- Arash Abedinzadeh ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Thursday 03 March 2005 17:18, Sebastian Kügler wrote: > Hi Simon, > > On Thursday 03 March 2005 07:58, Simon Edwards wrote: > > On Thursday 03 March 2005 07:18, Jim Bublitz wrote: > > > I just compiled the latest PyKDE snapshot (20050301) against KDE > > > 3.4.0rc1 and it compiles without a hitch and seems to work fine (didn't > > > test much though). > > > > In KDE CVS there have been problems w.r.t. the coming gcc symbol > > visibility feature. gentoo appears to be the only distro that supports > > this feature. They have a patched version of gcc 3.4 available. > > > > http://bugs.kde.org/show_bug.cgi?id=100101 > > > > If there are any bleeding edge gentoo users here, it would be nice if you > > tried out the current KDE 3.4rc1 and the bindings there, and reported any > > problems before the final 3.4 comes out. > > I asked thunfisch to give the bindings a shot with the recent gcc Gentoo, > and he confirmed the problem. However, I don't exactly know further > details, hence the CC:. > > > cheers, > > sebas Hi there, I guess I'm one of those bleeding edge Gentoo users and unfortunetaly I have some "undefined symbol" errors, too: Importing: dcop imported kdecore imported Unable to import kdesu: /usr/lib/python2.3/site-packages/kdesu.so: undefined symbol: _ZN7KCookie16setDcopTransportERK8QCString kdefx imported kdeui imported Unable to import kio: /usr/lib/python2.3/site-packages/kio.so: undefined symbol: _ZN17KFileSharePrivate5_selfE Unable to import kutils: /usr/lib/python2.3/site-packages/kio.so: undefined symbol: _ZN17KFileSharePrivate5_selfE Unable to import kfile: /usr/lib/python2.3/site-packages/kio.so: undefined symbol: _ZN17KFileSharePrivate5_selfE Unable to import kparts: /usr/lib/python2.3/site-packages/kio.so: undefined symbol: _ZN17KFileSharePrivate5_selfE Unable to import khtml: /usr/lib/python2.3/site-packages/kio.so: undefined symbol: _ZN17KFileSharePrivate5_selfE Unable to import kspell: /usr/lib/python2.3/site-packages/kio.so: undefined symbol: _ZN17KFileSharePrivate5_selfE kdeprint imported Unable to import kmdi: /usr/lib/python2.3/site-packages/kio.so: undefined symbol: _ZN17KFileSharePrivate5_selfE I compiled Python-2.3.5, Qt-3.3.4, kdelibs (3.4-beta2!), sip-4.1.1 from kdebindings-3.4-rc1, PyQt-3.13 from kdebindings-3.4-rc1 and PyKDE-3.11.3 from kdebindings-3.4-rc1. gcc Version: gcc (GCC) 3.4.3 20050110 (Gentoo Linux 3.4.3.20050110, ssp-3.4.3.20050110-0, pie-8.7.7) The changelog of Gentoo's gcc eBuild Script says that the visibility patch is used since Jul 2004. So I'm pretty sure that all of above mentioned programs are compiled with a patched gcc. Here some more specific informations about my system: Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20050125-r0, 2.6.10-cko1 i686) = System uname: 2.6.10-cko1 i686 AMD Athlon(tm) XP 1600+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.2.3-r1,dev-lang/python-2.3.5 [2.3.5 (#1, Feb 21 2005, 15:08:10)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] dev-lang/python: 2.2.3-r1, 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r4 sys-devel/libtool: 1.5.10-r5 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/glftpd/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distcc distlocks keeptemp keepwork noclean sandbox sfperms usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"; LANG="[EMAIL PROTECTED]" LC_ALL="[EMAIL PROTECTED]" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X
Re: [PyKDE] PyKDE and KDE 3.4.0
Great, it seems to work, thanks. I just compiled the kdesu module and imported it without any problems. I'll compile the whole package right now to be sure that everything is fine. On Thursday 03 March 2005 20:47, Simon Edwards wrote: > On Thursday 03 March 2005 18:06, Arash Abedinzadeh wrote: > > If there's anything I can do, let me know. > > These problems are hopefully fixed in KDE CVS. > > I've grabbed the rc1 tar ball and replaced the right files with the ones > from CVS. Could you grab the fixed tar ball and try it out. That would be > great, thanks. > > http://www.simonzone.com/software/kdebindings-3.4.0-rc1-cvs.tar.bz2 > > cheers, -- Arash Abedinzadeh pgp43xns8qq7y.pgp Description: PGP signature ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Thursday 03 March 2005 22:32, Arash Abedinzadeh wrote: > On Thursday 03 March 2005 21:37, Arash Abedinzadeh wrote: > > Great, it seems to work, thanks. I just compiled the kdesu module and > > imported it without any problems. I'll compile the whole package right now > > to be sure that everything is fine. > > $ py importTest.py > > Testing PyKDE module imports > > Modules built: > dcop kdecore kdesu kdefx kdeui kio kutils kfile kparts khtml kspell kdeprint > kmdi > > Importing: > > dcop > kdecore > kdesu > kdefx > kdeui > kio > kutils > kfile > kparts > khtml > kspell > kdeprint > kmdi > > Everything seems to be fine. Is there anything else I can do or test? That looks excellent. thanks very much. I can't think of anything else right now. cheers, -- Simon Edwards | Guarddog Firewall [EMAIL PROTECTED] | http://www.simonzone.com/software/ Nijmegen, The Netherlands | "ZooTV? You made the right choice." ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Thursday 03 March 2005 10:25, Simon Edwards wrote: > On Thursday 03 March 2005 17:15, Jim Bublitz wrote: > > I guess I'm not up to speed on this issue. Is this the __attribute__ > > stuff? > > maybe, symbol visibility means you can hide C++ symbols in shared > libraries. i.e. private symbols are hidden from users of the library. Yeah - they seem to be using *_NOEXPORT [__attribute__ (visibility ("hidden"))] and *_EXPORT [__attribute__ (visibility ("default"))] macros. > > What's the change between gcc 3.3.4 (which is what I used) and 3.4? > > nothing interesting for us. There is a visibility patch for 3.4 and gentoo > has it. Visibility is being properly included in 3.5. > > > What kinds of problems are occurring? > > PyKDE wanting symbols that kdelibs doesn't export anymore. Some of them > were things that had to be fixed in kdelibs (i.e. bugs), others are cases > where PyKDE binds private classes etc. I'm hoping that I've fixed all of > them now, but it is hard to tell... I'm no expert on this by any means, but my guess is it will be impossible to tell. I haven't looked real closely, but from a quick check, they're not using *_NOEXPORT but *_EXPORT instead and somehow setting "default" to indicate hidden or exported. I might be wrong, but otherwise I don't see how they're hiding anything, since *_NOEXPORT appears to be used in about 1 place (from grepping kdelibs source). If that's the case, the "somehow" will be the real problem. It means that presip would have to be able to accomplish out the same "somehow", and while it does some rudimentary preprocessing, it isn't a full-blown compiler front-end. My concern is that "somehow" is in the Makefiles. Even if it's not, it opens the door for all kinds of variations between distributions, similar to things Mandrake and SuSE have done in the past. Assuming the best case, it'll take a fair amount of work to modify presip and the process I use to take this into account. Right now I just do the equivalent of #define KDE_EXPORT when generating PyKDE. The other alternative is to do what you're asking some users to do: try to compile and link and find out what's not exported. That's one compile/link/load per symbol. That's also a "best case" proposition, where "best case" means all distributions are the same. Initially there was a lot of that to get PyKDE working because KDE has always defined symbols in h files that don't exist in the .so libs, and it's varied by distribution. That used to be just about the most time consuming part of developing PyKDE - easily a 50 hours or more just to find missing symbols. Another alternative is to manually go through the source code (3 or 4 times a year) - I wouldn't even consider that. I hate to be a downer, but it looks like a long time before I'll be releasing gcc 3.4 compatible versions of PyKDE. Doesn't look encouraging. Outside of the Mandrake-specific stuff, I could release a PyKDE for KDE 3.4.0 within a day or two - IIRC there's one new method and some extended enums. I plan to get the %Feature stuff that Mandrake needs working in presip first and fix some other versioning problems, so it'll probably be more like a few weeks or more depending on how much time I can devote to it. Jim ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Thursday 03 March 2005 18:06, Arash Abedinzadeh wrote: > If there's anything I can do, let me know. These problems are hopefully fixed in KDE CVS. I've grabbed the rc1 tar ball and replaced the right files with the ones from CVS. Could you grab the fixed tar ball and try it out. That would be great, thanks. http://www.simonzone.com/software/kdebindings-3.4.0-rc1-cvs.tar.bz2 cheers, -- Simon Edwards | Guarddog Firewall [EMAIL PROTECTED] | http://www.simonzone.com/software/ Nijmegen, The Netherlands | "ZooTV? You made the right choice." ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Thursday 03 March 2005 17:15, Jim Bublitz wrote: > I guess I'm not up to speed on this issue. Is this the __attribute__ stuff? maybe, symbol visibility means you can hide C++ symbols in shared libraries. i.e. private symbols are hidden from users of the library. > What's the change between gcc 3.3.4 (which is what I used) and 3.4? nothing interesting for us. There is a visibility patch for 3.4 and gentoo has it. Visibility is being properly included in 3.5. > What kinds of problems are occurring? PyKDE wanting symbols that kdelibs doesn't export anymore. Some of them were things that had to be fixed in kdelibs (i.e. bugs), others are cases where PyKDE binds private classes etc. I'm hoping that I've fixed all of them now, but it is hard to tell... cheers, -- Simon Edwards | Guarddog Firewall [EMAIL PROTECTED] | http://www.simonzone.com/software/ Nijmegen, The Netherlands | "ZooTV? You made the right choice." ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Wednesday 02 March 2005 22:58, Simon Edwards wrote: > On Thursday 03 March 2005 07:18, Jim Bublitz wrote: > > I just compiled the latest PyKDE snapshot (20050301) against KDE 3.4.0rc1 > > and > > > it compiles without a hitch and seems to work fine (didn't test much > > though). > > In KDE CVS there have been problems w.r.t. the coming gcc symbol visibility > feature. gentoo appears to be the only distro that supports this feature. > They have a patched version of gcc 3.4 available. > > http://bugs.kde.org/show_bug.cgi?id=100101 > > If there are any bleeding edge gentoo users here, it would be nice if you > tried out the current KDE 3.4rc1 and the bindings there, and reported any > problems before the final 3.4 comes out. I guess I'm not up to speed on this issue. Is this the __attribute__ stuff? What's the change between gcc 3.3.4 (which is what I used) and 3.4? What kinds of problems are occurring? Jim ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
Hi Simon, On Thursday 03 March 2005 07:58, Simon Edwards wrote: > On Thursday 03 March 2005 07:18, Jim Bublitz wrote: > > I just compiled the latest PyKDE snapshot (20050301) against KDE 3.4.0rc1 > > and it compiles without a hitch and seems to work fine (didn't test much > > though). > > In KDE CVS there have been problems w.r.t. the coming gcc symbol visibility > feature. gentoo appears to be the only distro that supports this feature. > They have a patched version of gcc 3.4 available. > > http://bugs.kde.org/show_bug.cgi?id=100101 > > If there are any bleeding edge gentoo users here, it would be nice if you > tried out the current KDE 3.4rc1 and the bindings there, and reported any > problems before the final 3.4 comes out. I asked thunfisch to give the bindings a shot with the recent gcc Gentoo, and he confirmed the problem. However, I don't exactly know further details, hence the CC:. > cheers, sebas -- http://vizZzion.org | GPG Key ID: 9119 0EF9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Next the statesmen will invent cheap lies, putting the blame upon the nation that is attacked, and every man will be glad of those conscience-soothing falsities, and will diligently study them, and refuse to examine any refutations of them; and thus he will by and by convince himself that the war is just, and will thank God for the better sleep he enjoys after this process of grotesque self-deception. - Mark Twain pgpIQwgK3ncxB.pgp Description: PGP signature ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
Re: [PyKDE] PyKDE and KDE 3.4.0
On Thursday 03 March 2005 07:18, Jim Bublitz wrote: > I just compiled the latest PyKDE snapshot (20050301) against KDE 3.4.0rc1 and > it compiles without a hitch and seems to work fine (didn't test much though). In KDE CVS there have been problems w.r.t. the coming gcc symbol visibility feature. gentoo appears to be the only distro that supports this feature. They have a patched version of gcc 3.4 available. http://bugs.kde.org/show_bug.cgi?id=100101 If there are any bleeding edge gentoo users here, it would be nice if you tried out the current KDE 3.4rc1 and the bindings there, and reported any problems before the final 3.4 comes out. cheers, -- Simon Edwards | Guarddog Firewall [EMAIL PROTECTED] | http://www.simonzone.com/software/ Nijmegen, The Netherlands | "ZooTV? You made the right choice." ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
[PyKDE] PyKDE and KDE 3.4.0
I just compiled the latest PyKDE snapshot (20050301) against KDE 3.4.0rc1 and it compiles without a hitch and seems to work fine (didn't test much though). There's one other patch that I didn't apply to PyKDE - Bryan O'Sullivan's "-L" patch for 64 bit AMD compatibility. I'll try to get that into the next snapshot. Otherwise, I need to do a little work on presip to handle %Features (for the Mandrake related fixes in the latest snapshot), which it doesn't know how to do at the moment. That might be a fairly extensive set of changes. :( Needs to be done anyway though. Jim ___ PyKDE mailing listPyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde