Bug 458975 (Pivy) - Review Request: Pivy - Coin binding for Python
Summary: Review Request: Pivy - Coin binding for Python
Keywords:
Status: CLOSED DUPLICATE of bug 813542
Alias: Pivy
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 753321
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-08-13 15:03 UTC by Nicolas Chauvet (kwizart)
Modified: 2012-04-17 20:06 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-04-17 19:58:28 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 813542 0 medium CLOSED Review Request: python-pivy - Python binding for Coin 2021-02-22 00:41:40 UTC

Internal Links: 813542

Description Nicolas Chauvet (kwizart) 2008-08-13 15:03:48 UTC
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

Comment 1 Nicolas Chauvet (kwizart) 2008-08-13 15:34:25 UTC
This package BuildRequires SoQt-qt4-devel which isn't available as a Review Request yet.

Comment 2 Jason Tibbitts 2008-08-16 20:39:29 UTC
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.

Comment 3 Ralf Corsepius 2008-08-17 09:52:12 UTC
(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.

Comment 4 Ben Boeckel 2009-07-27 20:02:21 UTC
Any timeline for updating SoQt to the Qt4 version or is the review still stalled?

Comment 5 Ralf Corsepius 2009-07-28 01:08:28 UTC
(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.

Comment 6 Ralf Corsepius 2009-07-29 11:21:25 UTC
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.

Comment 7 Nicolas Chauvet (kwizart) 2009-07-29 12:15:32 UTC
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).

Comment 8 Ralf Corsepius 2009-07-29 13:30:58 UTC
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.

Comment 9 Nicolas Chauvet (kwizart) 2009-07-29 13:51:27 UTC
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 ?

Comment 10 Ralf Corsepius 2009-07-29 14:30:59 UTC
(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.

Comment 11 Ralf Corsepius 2009-07-29 16:03:41 UTC
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

Comment 12 Jason Tibbitts 2010-11-02 21:27:46 UTC
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.

Comment 13 Richard Shaw 2011-11-01 16:23:40 UTC
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

Comment 14 Richard Shaw 2011-11-02 20:05:02 UTC
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

Comment 15 Richard Shaw 2011-11-03 02:53:29 UTC
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

Comment 16 Richard Shaw 2011-11-12 19:15:21 UTC
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.

Comment 17 Robin Laing 2012-01-07 00:27:37 UTC
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.

Comment 18 Richard Shaw 2012-01-07 12:36:26 UTC
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.

Comment 19 Robin Laing 2012-01-11 04:58:32 UTC
Thank you for the updates.

I looked at the various bugs.  Don't understand much of the discussion but that helps me learn.

Comment 20 Richard Shaw 2012-04-08 12:11:49 UTC
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?

Comment 21 Richard Shaw 2012-04-17 19:58:28 UTC
New review request created, closing this one.
https://bugzilla.redhat.com/show_bug.cgi?id=813420

Comment 22 Thomas Spura 2012-04-17 20:00:21 UTC

*** This bug has been marked as a duplicate of bug 813420 ***

Comment 23 Richard Shaw 2012-04-17 20:06:23 UTC

*** This bug has been marked as a duplicate of bug 813542 ***


Note You need to log in before you can comment on or make changes to this bug.