Spec URL: http://kwizart.fedorapeople.org/SPECS/Pivy.spec SRPM URL: http://kwizart.fedorapeople.org/SRPMS/Pivy-0.5.0-0.1.20080718.fc8.kwizart.src.rpm Description: Coin binding for Python
This package BuildRequires SoQt-qt4-devel which isn't available as a Review Request yet.
I don't really understand the point of opening a review ticket for something that nobody can build. Marking this as not being ready for review; please clear the whiteboard when the situation changes.
(In reply to comment #1) > This package BuildRequires SoQt-qt4-devel which isn't available as a Review > Request yet. FYI: I (SoQt, Coin, SIMvoleon maintainer) do not plan to ship an SoQt-qt4 package for Fedora, but intend to build and ship SoQt only against "nominal version of qt". Unfortunately, due to all the problems qt4/KDE4 had on FC9, this plan had failed for FC9, so SoQt is built against qt3 on FC9. I.e. I plan to switch SoQt for FC10 to qt4 soon, but plan to stay with qt3 for older Fedoras.
Any timeline for updating SoQt to the Qt4 version or is the review still stalled?
(In reply to comment #4) > Any timeline for updating SoQt to the Qt4 version I could recompile SoQt against Qt4 at any time, however ... ... whenever I have been trying to do so (c.f. comment #3, I intended to do so for FC10) or when somebody asks, something is broken with Fedora's infrastructure (such as now: ATM, rawhide is mash, mass rebuilt ...) ... > is the review still stalled? I am having doubts building SoQt against Qt4 will bring this review much further, because the submitted package seems to be relying on unpublished works.
FYI: I just rebuilt SoQt against Qt4 for FC12 (SoQt >= 1.4.1-12.fc12). So far, I do not plan to build SoQt against Qt4 for Fedora < 12.
I've seen ! I'm refreshing the package , but it fails at: --------------- gcc -pthread -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC -I/usr/include/python2.6 -c pivy/gui/soqt_wrap.cpp -o build/temp.linux-x86_64-2.6/pivy/gui/soqt_wrap.o -Iinterfaces -I/usr/include/Coin2 -I/usr/include/Qt -I/usr/include/Coin2/Inventor/annex -D_REENTRANT -I/usr/lib64/qt4/include pivy/gui/soqt_wrap.cpp: In function 'void initialize_pyqt_module_import_name()': pivy/gui/soqt_wrap.cpp:3489: warning: deprecated conversion from string constant to 'char*' pivy/gui/soqt_wrap.cpp:3491: error: 'getVersionToolkitString' is not a member of 'SoQt' pivy/gui/soqt_wrap.cpp:3492: error: 'getVersionToolkitString' is not a member of 'SoQt' pivy/gui/soqt_wrap.cpp:3493: warning: deprecated conversion from string constant to 'char*' --------------- quoting soqt_wrap.cpp --------------- static void initialize_pyqt_module_import_name() { /* determine the Qt version SoQt has been compiled with for correct * PyQt module import */ if (!PYQT_MODULE_IMPORT_NAME) { PYQT_MODULE_IMPORT_NAME = "qt"; if (strlen(SoQt::getVersionToolkitString()) >= 1 && SoQt::getVersionToolkitString()[0] == '4') { PYQT_MODULE_IMPORT_NAME = "PyQt4.Qt"; } } } --------------- This seems related to an build option about PyQt4. Does this last was used at built time ? (seems not check at SoQt configure step).
Well, you are packaging unreleased, unstable works, which apparently hasn't seen much testing wrt. building against official releases. That said, SoQt::getVersionToolkitString() is not available in SoQt, but only in later unstable versions of SoQt, which currently only exist in Coin3d's SVN.
So, what the last build was useful for ? here, We need a Coin (3.1.0) build with a Coin-SoQt (understand, SoQt SVN built against Coin 3.x.x) and the daily version of Pivy that I'm preparing. Does using qt4 makes sense at all while using Coin2 ?
(In reply to comment #9) > So, what the last build was useful for ? To get rid of qt3. > here, We need a Coin (3.1.0) build with a Coin-SoQt (understand, SoQt SVN built > against Coin 3.x.x) and the daily version of Pivy that I'm preparing. No way, I am not going to ship packages built from daily snapshots, nor package being cluttered with API/ABI breaking changes. I don't see any alternative for you patch Pivy to build against SoQt-1.4.1 (the latest official version of SoQt). Wrt. Coin3: I am preparing packages for submission for quite a while and plan to submit them when "they are ready". However, packaging Coin3 has proven to be problematic and needs further work on my part. > Does using qt4 makes sense at all while using Coin2 ? Yes it does. SoQt is supposed to be buildable against Coin2 and Coin3 (actually it predates Coin3) and to be buildable against Qt3 and Qt4. However the better question would be: Does using SoQt still make sense at all? At one point in the past (ca. 1 year ago) SIM released Quarter as successor of SoQt. As consequence of this SoQt hasn't seen much attention at all. If I'm not mistaken, there are indications this might have changed recently.
FWIW: It's pretty easy to work around the getVersionToolkitString issue in Pivy: Simply somehow hard-code PYQT_MODULE_IMPORT_NAME in Pivy/interfaces/soqt.i, instead of applying dynamic detection (As we only have one SoQt in Fedora, we don't need it anyway). One way to achieve this: diff -Naur Pivy.orig/interfaces/soqt.i Pivy/interfaces/soqt.i --- Pivy.orig/interfaces/soqt.i 2007-12-14 01:35:37.000000000 +0100 +++ Pivy/interfaces/soqt.i 2009-07-29 17:37:37.000000000 +0200 @@ -74,12 +74,16 @@ /* determine the Qt version SoQt has been compiled with for correct * PyQt module import */ if (!PYQT_MODULE_IMPORT_NAME) { +#if 0 PYQT_MODULE_IMPORT_NAME = "qt"; if (strlen(SoQt::getVersionToolkitString()) >= 1 && SoQt::getVersionToolkitString()[0] == '4') { +#endif PYQT_MODULE_IMPORT_NAME = "PyQt4.Qt"; +#if 0 } +#endif } } %} Alternatively, one could initialize PYQT_MODULE_IMPORT_NAME to "PyQt4.Qt" at the very beginning of Pivy/interfaces/soqt.i
This has been marked as not ready for review for 27 months now, and there's been no comment for 15 months. I'm closing this out.
I'm interested in picking this back up and have tried building Pivy. I'm running into a couple of problems: 1. During configuration the following are not found: Checking for soxt-config... not found. Checking for sogtk-config... not found. Checking for sowin-config... not found. Checking for simvoleon-config... not found. 2. I'm getting different errors than what Nicolas was getting, such as: pivy/gui/soqt_wrap.cpp:5404:3: error: 'SbDictApplyFunc' was not declared in this scope pivy/gui/soqt_wrap.cpp:5404:20: error: 'arg2' was not declared in this scope pivy/gui/soqt_wrap.cpp:5404:45: error: expected primary-expression before ')' token pivy/gui/soqt_wrap.cpp:5404:47: error: expected ';' before numeric constant pivy/gui/soqt_wrap.cpp:5433:3: error: 'SbDictApplyDataFunc' was not declared in this scope pivy/gui/soqt_wrap.cpp:5433:24: error: 'arg2' was not declared in this scope pivy/gui/soqt_wrap.cpp:5433:53: error: expected primary-expression before ')' token pivy/gui/soqt_wrap.cpp:5433:55: error: expected ';' before numeric constant pivy/gui/soqt_wrap.cpp:5724:3: error: 'SbDictHashingFunc' was not declared in this scope pivy/gui/soqt_wrap.cpp:5724:22: error: 'arg2' was not declared in this scope pivy/gui/soqt_wrap.cpp:5724:49: error: expected primary-expression before ')' token pivy/gui/soqt_wrap.cpp:5724:51: error: expected ';' before numeric constant pivy/gui/soqt_wrap.cpp:6223:20: error: 'removeType' is not a member of 'SoType' pivy/gui/soqt_wrap.cpp:8801:38: error: 'const class SbString' has no member named 'lower' pivy/gui/soqt_wrap.cpp:8823:38: error: 'const class SbString' has no member named 'upper' and others... Richard
I'm slowly working through the build issues. For now I'm using local packages of Coin3 from Ralf's SRPMS. Additionally I've found it necessary to rebuild SoQt and SIMVoleon against Coin3, which leads me to my next question. Why do we need both Coin2 and Coin3? Is there software in the repos that can not use Coin3? I'll post new SPEC and SRPM when I get everything working properly. Thanks, Richard
Ok, I got a little further... Now I'm getting the following error: pivy/coin_wrap.cpp:35427:96: error: no matching function for call to 'SoDB::getHeaderData(const SbString&, SbBool&, float&, void (**&)(void*, SoInput*), void (**&)(void*, SoInput*), void*&, SbBool&)' pivy/coin_wrap.cpp:35522:91: error: no matching function for call to 'SoDB::getHeaderData(const SbString&, SbBool&, float&, void (**&)(void*, SoInput*), void (**&)(void*, SoInput*), void*&) Any ideas? Richard
It turns out that the build problem was a regression in swig and not a problem with Pivy. SPEC: http://hobbes1069.fedorapeople.org/Pivy/Pivy.spec SRPM: http://hobbes1069.fedorapeople.org/Pivy/Pivy-0.5.0-1.fc15.src.rpm This is dependent on Coin3 as well as SoQt and SIMVoleon being built against Coin3.
First, Richard, thank you for what you have done to get this working. I would like to add as a user, it would be nice to get this working for the future. I came across this problem when I tried to get FreeCAD installed. http://sourceforge.net/projects/free-cad/ Like many others, I need access to a good and easy to use 3D CAD package. BRL-CAD is not that easy to use. QCad won't work on my machine for some reason but is only 2D. LibreCAD works but again is only 2D. For Fedora to be useful for engineers, we need some 3D CAD tools. Now using Fedora 16.
FreeCAD was the reason I found this bug :) I've already got local builds of freecad working (I contributed quite a bit to their cmake build) but there's still a few dependencies I need. I've already gotten OpenCASCADE (the community edition version) in RPM Fusion which has to go in non-free because of their quirky license. I have a review request for SMESH which freecad bundles: https://bugzilla.rpmfusion.org/show_bug.cgi?id=2112 The last main dependency for Pivy is Coin3: https://bugzilla.redhat.com/show_bug.cgi?id=665733 After those are taken care of I think I can submit the review request for FreeCAD.
Thank you for the updates. I looked at the various bugs. Don't understand much of the discussion but that helps me learn.
Ok, I have given up waiting on Coin3 and was able to get it to build against Coin2. This is also better because SoQt and SIMVoleon no longer need to be rebuilt. SPEC: http://hobbes1069.fedorapeople.org/Pivy/Pivy.spec SRPM: http://hobbes1069.fedorapeople.org/Pivy/Pivy-0.5.0-1.hg609.fc16.src.rpm Anyone cc'd on this willing to review it?
New review request created, closing this one. https://bugzilla.redhat.com/show_bug.cgi?id=813420
*** This bug has been marked as a duplicate of bug 813420 ***
*** This bug has been marked as a duplicate of bug 813542 ***