Menu

#343 Compile SciDAVis 1.23 in Ubuntu 18.04

next
closed
nobody
None
4normal
2018-12-24
2018-07-23
mabawsa
No

Hi I am having an issues with compiling the software.
https://sourceforge.net/p/scidavis/svn/1296/tree//branches/current_stable/INSTALL.html?format=raw

Step 9 (build qtwplot3d) requires the addition of #include <GL glu.h=""> to qwt3d_openglhelper.h to compile.

Step 11 (build scidavis) fails:

~/Downloads/scidavis-1.23/scidavis$ qmake-qt4
Project MESSAGE: Building with preset linux_package
ls: cannot access '/usr/lib/libqwt5.so': No such file or directory
ls: cannot access '/usr/lib
/libqwt5-qt4.so': No such file or directory
ls: cannot access '/usr/lib/libqwt-qt4.so': No such file or directory
ls: cannot access '/usr/lib
/libqwtplot3d-qt4.so': No such file or directory

~/Downloads/scidavis-1.23/scidavis$ make
Makefile:660: warning: overriding recipe for target 'install_icon_hicolor_16'
Makefile:544: warning: ignoring old recipe for target 'install_icon_hicolor_16'
Makefile:665: warning: overriding recipe for target 'uninstall_icon_hicolor_16'
Makefile:549: warning: ignoring old recipe for target 'uninstall_icon_hicolor_16'
Makefile:670: warning: overriding recipe for target 'install_icon_hicolor_22'
Makefile:554: warning: ignoring old recipe for target 'install_icon_hicolor_22'
Makefile:675: warning: overriding recipe for target 'uninstall_icon_hicolor_22'
Makefile:559: warning: ignoring old recipe for target 'uninstall_icon_hicolor_22'
Makefile:680: warning: overriding recipe for target 'install_icon_hicolor_32'
Makefile:564: warning: ignoring old recipe for target 'install_icon_hicolor_32'
Makefile:685: warning: overriding recipe for target 'uninstall_icon_hicolor_32'
Makefile:569: warning: ignoring old recipe for target 'uninstall_icon_hicolor_32'
Makefile:690: warning: overriding recipe for target 'install_icon_hicolor_48'
Makefile:574: warning: ignoring old recipe for target 'install_icon_hicolor_48'
Makefile:695: warning: overriding recipe for target 'uninstall_icon_hicolor_48'
Makefile:579: warning: ignoring old recipe for target 'uninstall_icon_hicolor_48'
Makefile:700: warning: overriding recipe for target 'install_icon_hicolor_64'
Makefile:584: warning: ignoring old recipe for target 'install_icon_hicolor_64'
Makefile:705: warning: overriding recipe for target 'uninstall_icon_hicolor_64'
Makefile:589: warning: ignoring old recipe for target 'uninstall_icon_hicolor_64'
Makefile:710: warning: overriding recipe for target 'install_icon_hicolor_128'
Makefile:594: warning: ignoring old recipe for target 'install_icon_hicolor_128'
Makefile:715: warning: overriding recipe for target 'uninstall_icon_hicolor_128'
Makefile:599: warning: ignoring old recipe for target 'uninstall_icon_hicolor_128'
Makefile:720: warning: overriding recipe for target 'install_icon_locolor_16'
Makefile:604: warning: ignoring old recipe for target 'install_icon_locolor_16'
Makefile:725: warning: overriding recipe for target 'uninstall_icon_locolor_16'
Makefile:609: warning: ignoring old recipe for target 'uninstall_icon_locolor_16'
Makefile:730: warning: overriding recipe for target 'install_icon_locolor_22'
Makefile:614: warning: ignoring old recipe for target 'install_icon_locolor_22'
Makefile:735: warning: overriding recipe for target 'uninstall_icon_locolor_22'
Makefile:619: warning: ignoring old recipe for target 'uninstall_icon_locolor_22'
Makefile:740: warning: overriding recipe for target 'install_icon_locolor_32'
Makefile:624: warning: ignoring old recipe for target 'install_icon_locolor_32'
Makefile:745: warning: overriding recipe for target 'uninstall_icon_locolor_32'
Makefile:629: warning: ignoring old recipe for target 'uninstall_icon_locolor_32'
(! test -w translations/scidavis_de.ts || lupdate-qt4 src ../libscidavis/src -ts translations/.ts) && lrelease-qt4 translations/.ts
Scanning directory 'src'...
Scanning directory '../libscidavis/src'...
/home/dougie/Downloads/scidavis-1.23/scidavis/src/main.cpp:143: Class 'Application' lacks Q_OBJECT macro
Updating 'translations/scidavis_cs-alt.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_cs.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_de.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_es.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_fr.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_ja.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_pt-br.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_ru.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_sv.ts'...
Found 2528 source text(s) (0 new and 2528 already existing)
Updating 'translations/scidavis_cs-alt.qm'...
Generated 2497 translation(s) (1 finished and 2496 unfinished)
Ignored 32 untranslated source text(s)
Updating 'translations/scidavis_cs.qm'...
Generated 2513 translation(s) (1 finished and 2512 unfinished)
Ignored 16 untranslated source text(s)
Updating 'translations/scidavis_de.qm'...
Generated 2498 translation(s) (1 finished and 2497 unfinished)
Ignored 31 untranslated source text(s)
Updating 'translations/scidavis_es.qm'...
Generated 2511 translation(s) (1 finished and 2510 unfinished)
Ignored 18 untranslated source text(s)
Updating 'translations/scidavis_fr.qm'...
Generated 2238 translation(s) (1827 finished and 411 unfinished)
Ignored 291 untranslated source text(s)
Updating 'translations/scidavis_ja.qm'...
Generated 66 translation(s) (1 finished and 65 unfinished)
Ignored 2463 untranslated source text(s)
Updating 'translations/scidavis_pt-br.qm'...
Generated 2527 translation(s) (2526 finished and 1 unfinished)
Ignored 2 untranslated source text(s)
Updating 'translations/scidavis_ru.qm'...
Generated 2067 translation(s) (1961 finished and 106 unfinished)
Ignored 461 untranslated source text(s)
Updating 'translations/scidavis_sv.qm'...
Generated 1469 translation(s) (1 finished and 1468 unfinished)
Ignored 1060 untranslated source text(s)
g++ -c -m64 -pipe -std=c++0x -O2 -D_REENTRANT -Wall -W -DSCRIPTING_CONSOLE -DSCRIPTING_DIALOG -DQT_PLUGIN -DTS_PATH=\"/usr/share/scidavis/translations\" -DDOC_PATH=\"/usr/share/doc/scidavis\" -DPLUGIN_PATH=\"/usr/lib/scidavis/plugins\" -DLEGACY_CODE_0_2_x -DQT_NO_DEBUG -DQT_SVG_LIB -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/QtSvg -I/usr/include/qt4 -I/home/dougie/usr/include -I../libscidavis -I../libscidavis/src -I/usr/include/qwtplot3d -I/usr/include/muParser -I../libscidavis/src/future -I/usr/X11R6/include -I/home/dougie/Downloads/scidavis-1.23/tmp/scidavis -o ../tmp/scidavis/main.o src/main.cpp
In file included from ../libscidavis/src/Table.h:39:0,
from ../libscidavis/src/ApplicationWindow.h:47,
from src/main.cpp:29:
../libscidavis/src/Graph.h:39:10: fatal error: qwt_plot.h: No such file or directory
#include <qwt_plot.h>
^~~~~~~~~~~~
compilation terminated.
Makefile:473: recipe for target '../tmp/scidavis/main.o' failed
make: *** [../tmp/scidavis/main.o] Error 1

Discussion

  • High Performance Coder

    In the debian.rules file for Debian/Ubuntu are the following lines:

    # hacky workaround of the fact the scidavis expects qwtplot3d to be in its own
    # particular directory
        ln -sf /usr/include libscidavis/src/qwtplot3d
        ln -sf /usr/include/qwtplot3d-qt4 scidavis/qwtplot3d
    

    The problem is that the default qwtplot3d include directory is /usr/include/qwtplot3d. Debian distros, for their own inimitable reasons, put it in /usr/include/qwtplot3d-qt4.

    If qmake were flexible enough to express those rules in a distro specific conditional section, I would do it, but alas qmake is rather retarded in many ways. But I'm reluctant to force a change from qmake (where would we go to - cmake? meson? - I don't have enough experience with any of those systems to make a call)

    This issue may well become moot anyway once scidavis successfully transitions to Qt5.

    Also in relation to step 9 above, in the qwtplot3d debian.series file are two patches:

    --- qwtplot3d/include/qwt3d_openglhelper.h  2005-07-20 01:40:28.000000000 +1000
    +++ qwtplot3d-patched/include/qwt3d_openglhelper.h  2015-04-29 11:37:38.567622402 +1000
    @@ -5,6 +5,7 @@
     #if QT_VERSION < 0x040000
     #include <qgl.h>
     #else
    +#include <GL/glu.h>
     #include <QtOpenGL/qgl.h>
     #endif
    
    --- qwtplot3d/src/qwt3d_function.cpp    2004-06-10 02:57:38.000000000 +1000
    +++ qwtplot3d-patched/src/qwt3d_function.cpp    2015-05-03 14:08:23.209731926 +1000
    @@ -1,5 +1,6 @@
     #include "qwt3d_surfaceplot.h"
     #include "qwt3d_function.h"
    +#include <stdio.h>
    
     using namespace Qwt3D;
    
     
  • High Performance Coder

    • status: open --> closed
     
  • High Performance Coder

    With Miquel's removal of hardcoded qwtplot3d paths, and the concomittant change to config.pro to figure where qwtplot3d has been stashed, this matter is closed.

     
  • Jonathan Gutow

    Jonathan Gutow - 2018-12-24

    This may or may not have fixed the initial problem. However, as of Dec 2018 SciDaVis is using such an old qwt that it is not going to be compilable under many circumstances. As the most recent version of qwt is not compatible, a compatible version should probably be packaged with the SciDaVis code until it compiles against the current versions.

     

Log in to post a comment.