qtiplot FTBFS Ubuntu 13.10, disables python scripting

Bug #1243269 reported by Dufay Basile on 2013-10-22
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
QtiPlot
New
Undecided
Unassigned
qtiplot (Debian)
Fix Released
Unknown
qtiplot (Ubuntu)
High
Unassigned
Saucy
High
Unassigned

Bug Description

[Description] Python scripting no longer works with qtiplot which is a major regression and makes the package unusable for users that require that feature. This is due to python SIP being updated but the package was not tested against it.

[Test Case] Open qtiplot, choose the menu "Scripting"->"Choose Scripting Language" select python. You'll get an error about an incompatible SIP API.

[Regression] It FTBFS as of now, this fix will make it build. Python doesn't work now, so it can't break anymore. The code changes only affect python scripting.

The patch is in comment #9. This was fixed in trusty via sync with Debian.

Original report: During a rebuild of all packages in sid, your package failed to build on
amd64.

Relevant part (hopefully):
> g++ -c -m64 -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -D_REENTRANT -Wall -W -DSCRIPTING_CONSOLE -DSVN_REVISION="\"\"" -DQT_PLUGIN -DTRANSLATIONS_PATH=\"/usr/share/qtiplot/translations\" -DMANUAL_PATH=\"/usr/share/doc/qtiplot/manual\" -DSCRIPTING_MUPARSER -DSCRIPTING_PYTHON -DPYTHON_CONFIG_PATH=\"/usr/share/qtiplot\" -DGL2PS_HAVE_LIBPNG -DTEX_OUTPUT -DHAVE_ALGLIB -DHAVE_TAMUANOVA -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I/usr/include/qt4/QtAssistantClient -I/usr/include/qt4/QtAssistant -I/usr/include/muParser -I../3rdparty/qwt/src -I../3rdparty/qwtplot3d/include -Iicons -Isrc/analysis -Isrc/analysis/dialogs -Isrc/core -Isrc/excel -Isrc/lib/include -Isrc/lib/3rdparty/qtcolorpicker/src -Isrc/plot2D -Isrc/plot2D/dialogs -Isrc/plot3D -Isrc/matrix -Isrc/table -Isrc/scripting -I/usr/include/python2.7 -I/usr/include/tamu_anova -I/usr/include -I/usr/X11R6/include -I/«PKGBUILDDIR»/tmp/qtiplot -o ../tmp/qtiplot/sipqtiImageWidget.o ../tmp/qtiplot/sipqtiImageWidget.cpp
> In file included from src/scripting/qti.sip:1119:0:
> icons/../src/plot2D/ImageWidget.h: In member function 'virtual void sipImageWidget::paintEvent(QPaintEvent*)':
> icons/../src/plot2D/ImageWidget.h:73:7: error: 'virtual void ImageWidget::paintEvent(QPaintEvent*)' is private
> void paintEvent(QPaintEvent *e);
> ^
> ../tmp/qtiplot/sipqtiImageWidget.cpp:907:35: error: within this context
> ImageWidget::paintEvent(a0);
> ^
> make[3]: *** [../tmp/qtiplot/sipqtiImageWidget.o] Error 1

This particular bug is easily fixable, however it then fails further down with:

x86_64-pc-linux-gnu-g++ -c -march=native -O2 -pipe -D_REENTRANT -Wall -W -DSCRIPTING_CONSOLE -DQTIPLOT_PRO -DSVN_REVISION="\"\"" -DQT_PLUGIN -DTRANSLATIONS_PATH=\"/usr/share/qtiplot/translations\" -DMANUAL_PATH=\"/usr/share/doc/qtiplot/html\" -DSCRIPTING_MUPARSER -DSCRIPTING_PYTHON -DPYTHON_CONFIG_PATH=\"/usr\" -DGL2PS_HAVE_LIBPNG -DTEX_OUTPUT -DHAVE_ALGLIB -DHAVE_TAMUANOVA -DNO_LOG_FILE -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I/usr/include/qt4/QtAssistantClient -I/usr/include/qt4/QtAssistant -I../3rdparty/qwt/src -I../3rdparty/qwtplot3d/include -Iicons -Isrc/analysis -Isrc/analysis/dialogs -Isrc/core -Isrc/excel -Isrc/lib/inc
 lude -Isrc/lib/3rdparty/qtcolorpicker/src -Isrc/plot2D -Isrc/plot2D/dialogs -Isrc/plot3D -Isrc/matrix -Isrc/table -Isrc/scripting -I/usr/include/python2.7 -I/usr/include/tamu_anova -Isrc/plugins/exportEMF -Isrc/plugins/exportEMF/3rdparty/EmfEngine/src -Isrc/plugins/OriginPlugin -Isrc/plugins/OriginPlugin/liborigin1 -Isrc/plugins/OriginPlugin/liborigin2 -Isrc/plugins/OriginPlugin/tree.phi-sci.com -I../3rdparty/boost -I/usr/X11R6/include -I/var/tmp/portage/sci-visualization/qtiplot-0.9.8.9-r2/work/qtiplot-0.9.8.9/tmp/qtiplot -o ../tmp/qtiplot/sipqtiFFT.o ../tmp/qtiplot/sipqtiFFT.cpp
../tmp/qtiplot/sipqtiFFT.cpp: In member function ‘virtual bool sipFFT::setDataFromTable(Table*, const QString&, const QString&, int, int, bool)’:
../tmp/qtiplot/sipqtiFFT.cpp:563:55: error: no matching function for call to ‘sipFFT::setDataFromTable(Table*&, const QString&, const QString&, int&, int&, bool&)’
         return FFT::setDataFromTable(a0,a1,a2,a3,a4,a5);
                                                       ^
../tmp/qtiplot/sipqtiFFT.cpp:563:55: note: candidate is:
In file included from src/scripting/qti.sip:3219:0:
icons/../src/analysis/FFT.h:63:10: note: bool FFT::setDataFromTable(Table*, const QString&, const QString&, int, int)
     bool setDataFromTable(Table *t, const QString& realColName, const QString& imagColName = QString(), int from = 0, int to = -1);
          ^
icons/../src/analysis/FFT.h:63:10: note: candidate expects 5 arguments, 6 provided
src/scripting/qti.sip: At global scope:
src/scripting/qti.sip:119:12: warning: ‘int setCellDataHelper(Table*, int, int, PyObject*)’ defined but not used [-Wunused-function]
 static int setCellDataHelper(Table* table, int row, int col, PyObject* item) {
            ^
src/scripting/qti.sip:233:12: warning: ‘int cellDataHelper(Table*, int, int, PyObject**)’ defined but not used [-Wunused-function]
 static int cellDataHelper(Table* table, int row, int col, PyObject** item) {
            ^
make[1]: *** [../tmp/qtiplot/sipqtiFFT.o] Error 1

Forwarded to http://developer.berlios.de/bugs/?func=detailbug&bug_id=19204&group_id=6626

Python scriting isn't working in Saucy (Ubuntu 13.10), obtaning "Failed to export QtiPlot API: Accessing QtiPlot functions or objects from Python code won't work. Probably your version of Qt/SIP/PyQt differs from the one QtiPlot was compiled against."
When trying to initialize the scripting.

Qtiplot installed version : 0.9.8.9-6.

This bug has been previously reported for Raring (Ubuntu 13.04), see bug #1129237, and get fixed. But appears again in Saucy...

It seems to be a compatibility problem.

Scott Howard (showard314) wrote :

Thanks for the report.

This is a little annoying that this happens every release... Whomever does the SIP upload really should ask for rebuilds against dependencies.

In a few hours, could you try:

sudo add-apt-repository ppa:showard314/ppa
sudo apt-get update
sudo apt-get install qtiplot

It's the exact same package, just rebuilt against the new SIP libraries. It will take ~1-2 hours before it's published an available for download.

Let us know if that works.

Dufay Basile (basile-dufay14) wrote :

Hello,

Thank you for the prompt reply !

I will try your workaroud to let you know if it is fixed.

For information, the problem is fixed when using qtiplot package (updated version to 0.9.8.9-7) from debian repository.
This only need to update the package libagllib to 3.8, available from the same repository.

The PPA build failed, so it looks worse than just a simple rebuild against sip:
https://launchpadlibrarian.net/154712518/buildlog_ubuntu-saucy-i386.qtiplot_0.9.8.9-6ubuntu1~ppa1_FAILEDTOBUILD.txt.gz

and it looks like it failed building earlier, but it was missed:
https://launchpad.net/ubuntu/+archive/test-rebuild-20130917/+build/5015383

something in ubuntu looks like a different version library than in
debian. I'm not sure where, but it's good to know the debian repo is
working.

For information, as I previously said, the only things I need to update in order to install the quitplot package from debian repo is the library "libalglib" from version 3.7 in ubuntu saucy to 3.8 from debian repo.
Maybe it is the library you're talking about.

Unfortunately, I can't help furthermore as it is far out of my skill ...

Thank you for your time.

summary: - please rebuild qtiplot against new SIP libraries for Ubuntu 13.10
+ qtiplot FTBFS Ubuntu 13.10
Changed in qtiplot (Debian):
status: Unknown → New

freeBSD is seeing this now too, looks like bitrot. If anyone finds a patch for this, please post it here or Debian
http://lists.freebsd.org/pipermail/freebsd-pkg-fallout/Week-of-Mon-20131014/035613.html

ubuntuer (olinlinlino) wrote :

I meet this same bugs.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qtiplot (Ubuntu):
status: New → Confirmed
Scott Howard (showard314) wrote :

Thank you freeBSD

http://svnweb.freebsd.org/ports/head/math/qtiplot/files/patch-sip-4.15?revision=331502&view=markup

i'll give this a shot and get it uploaded to Debian. Building in PPA now

Changed in qtiplot (Ubuntu):
importance: Undecided → High
description: updated
summary: - qtiplot FTBFS Ubuntu 13.10
+ qtiplot FTBFS Ubuntu 13.10, disables python sripting
Changed in qtiplot (Ubuntu):
status: Confirmed → Triaged
Scott Howard (showard314) wrote :

For those experiencing the bug, here's a fixed version.

sudo apt-add-repository ppa:showard314/qtiplot-ppa
sudo apt-get update
sudo apt-get upgrade

once it is uploaded to saucy-proposed, we'll ask you to try out that package as well before fixing in saucy.

This will be fixed in trusty via upload to debian unstable.

Changed in qtiplot (Ubuntu Saucy):
status: New → Triaged
importance: Undecided → High
Changed in qtiplot (Debian):
status: New → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtiplot - 0.9.8.9-7ubuntu1

---------------
qtiplot (0.9.8.9-7ubuntu1) trusty; urgency=low

  * Fix FTBFS from new sip version (Closes: #728642, LP: #1243269).
 -- Scott Howard <email address hidden> Sun, 17 Nov 2013 11:03:08 -0500

Changed in qtiplot (Ubuntu):
status: Triaged → Fix Released
Scott Howard (showard314) wrote :

saucy-proposed possibly needs to a rebuild:
"The bug is not reproducible, so it is likely a hardware or OS problem."

https://launchpadlibrarian.net/156933486/buildlog_ubuntu-trusty-arm64.qtiplot_0.9.8.9-7ubuntu1_FAILEDTOBUILD.txt.gz

Scott Howard (showard314) wrote :

edit: trusty, not saucy-proposed. The FTBFS gives this:
The bug is not reproducible, so it is likely a hardware or OS problem.
make[3]: *** [../tmp/qtiplot/Graph.o] Error 1

Changed in qtiplot (Debian):
status: Fix Committed → Fix Released
Dmitry Shachnev (mitya57) wrote :

Arm64 succeeded now.

Dmitry Shachnev (mitya57) wrote :

Uploaded to saucy-proposed, unsubscribing sponsors & subscribing SRU team.

Dmitry Shachnev (mitya57) wrote :

You may also want to add SRU information as described in <https://wiki.ubuntu.com/StableReleaseUpdates#Procedure>.

summary: - qtiplot FTBFS Ubuntu 13.10, disables python sripting
+ qtiplot FTBFS Ubuntu 13.10, disables python scripting
description: updated
Scott Howard (showard314) wrote :

self-verified that the SRU in saucy-proposed works, thanks.

Hello Dufay, or anyone else affected,

Accepted qtiplot into saucy-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/qtiplot/0.9.8.9-6ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in qtiplot (Ubuntu Saucy):
status: Triaged → Fix Committed
tags: added: verification-needed
Scott Howard (showard314) wrote :

it's working:

$ apt-cache showpkg qtiplot
Package: qtiplot
Versions:
0.9.8.9-6ubuntu0.1 (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_saucy_universe_binary-i386_Packages
                  MD5: fb09ae8e2a6f5b90755a75a3e00839b5
 Description Language: en
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_saucy_universe_i18n_Translation-en
                  MD5: fb09ae8e2a6f5b90755a75a3e00839b5

tags: added: verification-done
removed: verification-needed
Dmitry Shachnev (mitya57) wrote :

Scott: FYI: <https://lists.ubuntu.com/archives/ubuntu-devel/2013-November/037817.html>.

While verification was trivial in our case, it's always better to first let the bug submitter verify that everything works.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtiplot - 0.9.8.9-6ubuntu0.1

---------------
qtiplot (0.9.8.9-6ubuntu0.1) saucy-proposed; urgency=low

  * Fix FTBFS from new sip version (Closes: #728642, LP: #1243269)
 -- Scott Howard <email address hidden> Sun, 17 Nov 2013 11:03:08 -0500

Changed in qtiplot (Ubuntu Saucy):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for qtiplot has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.