Qwt from Windows to Linux Porting



  • Hi Team/@sierdzio,
    Can I get suggestion on missing symbols for Qwt source for below type of error's
    est.cpp:(.text+0x3b8): undefined reference to QwtScaleMap::setScaleInterval(double, double)' test.cpp:(.text+0x3c8): undefined reference toQwtScaleMap::setScaleInterval(double, double)'
    test.cpp:(.text+0x3e0): undefined reference to QwtScaleMap::setScaleInterval(double, double)' test.o: In functiontest::test(QWidget*)':
    test.cpp:(.text+0x494): undefined reference to QwtScaleMap::QwtScaleMap()' test.cpp:(.text+0x4a0): undefined reference toQwtScaleMap::QwtScaleMap()'
    test.cpp:(.text+0x4c0): undefined reference to QwtPlotCurve::QwtPlotCurve(QString const&)' test.cpp:(.text+0x554): undefined reference toQwtSymbol::QwtSymbol(QwtSymbol::Style, QBrush const&, QPen const&, QSize const&)'
    test.cpp:(.text+0x560): undefined reference to QwtPlotCurve::setSymbol(QwtSymbol*)' test.cpp:(.text+0x590): undefined reference toQwtPlotCurve::setPen(QColor const&, double, Qt::PenStyle)'

    How to do the linking ?I m totally stuckup on this,no further work going ahead
    Kind request to help/suggest on it.


  • Moderators

    I have already recommended you what to do:

    • check the sources to see if symbols are really missing
    • check if you #include relevant headers


  • @sierdzio
    Hi,
    I m following this link.
    http://qwt.sourceforge.net/qwtinstall.html#COMPILEANDLINKAP

    Any best link to have a clear picture for the installation of Qwt.
    Helps me alot


  • Lifetime Qt Champion

    Hi,

    Did you build Qwt ?
    The procedure is mostly the same with Linux that it is on Windows.



  • @SGaist
    Hi SGaint
    I have build it,but facing with below error,

    homer/user/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference to `operator delete(void*, unsigned int)@CXXABI_1.3.9'

    I m not able to fix it,can you please help me on it


  • Moderators

    ABI mismatch. Your Qt and Qwt were likely compiled on different operating systems. Make sure you compile them on the same machine or at least that both machines have the same C++ library installed.



  • @shivaVMC said in Qwt from Windows to Linux Porting:

    I have build it,but facing with below error,
    homer/user/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference to `operator delete(void*, unsigned int)@CXXABI_1.3.9'

    It's look like you're trying to cross-compile it for Raspberry Pi...
    Could please state clearly what do you want to do?



  • @Pablo-J.-Rogina
    Hi,
    Actually I have a Windows Qt app,I m porting it for Rpi3 from my Ubuntu PC.
    So I m trying to do cross-compilation for it.

    Simple to say is..I have crossed compiled qtbase examples to Rpi3 and sample examples are tested for now..
    Similarly I m tryinig to port my windows Qt app in a same way..



  • Hi

    Now I m facing below error,what could be the solution for this

    Project ERROR: Unknown module(s) in QT: svg
    Makefile:45: recipe for target 'sub-src-make_first-ordered' faile



  • @shivaVMC said in Qwt from Windows to Linux Porting:

    Similarly I m tryinig to port my windows Qt app in a same way..

    Ok, so you already know that you need to cross-compile everything, that is, your application code plus all the supporting libraries it uses (as a good starting point you've already cross-compiled Qt itself and some of its examples)

    Now I m facing below error,what could be the solution for this
    Project ERROR: Unknown module(s) in QT: svg
    Makefile:45: recipe for target 'sub-src-make_first-ordered' faile

    This a forum of/for programmers, not about magicians :-)

    Seriously, please state clearly what you were trying to achieve when this error arose. That simply desciption is not enough, do you agree?



  • @Pablo-J.-Rogina
    Really Sorry for that bad english,
    I have compiled qt5.7.1 for rpi in my local PC(i.e., for cross compilation) its working fine and now I m using the same qmake generated in ~/raspi/qt5/bin/ for building qwt in my local linux machine for rpi.As below

    ~/raspi/qt5/bin/qmake -o Makefile qwt.pro
    ~/Downloads/QWT/qwt-6.1.3$ make
    cd src/ && ( test -e Makefile || /home/user/raspi/qt5/bin/qmake /home/user/Downloads/QWT/qwt-6.1.3/src/src.pro -o Makefile ) && make -f Makefile
    Project ERROR: Unknown module(s) in QT: svg
    Makefile:45: recipe for target 'sub-src-make_first-ordered' failed
    make: *** [sub-src-make_first-ordered] Error 3

    can I know how can I fix this module in qmake

    I m using below command for configuring
    ./configure -release -xkb -svg -fontconfig -openssl -opengl es2 -c++std 11 -device linux-rpi3-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/pi_raspi/sysroot -opensource -confirm-license -prefix /usr/local/qt5pi -extprefix ~/pi_raspi/qt5pi -hostprefix ~/pi_raspi/qt5 -no-use-gold-linker -v
    make -j4
    make install

    any option to set it in above configure command to make qtsvg enable for qmake to build qwt6.1.3


  • Moderators

    Check if QtSvg library is present in your cross-compiled Qt. It should be in qtdir/lib/libQt5Svg.so.

    Check the Makefile your created for Qwt - does it point to right Qt installation? Does it include corect compiler flags etc.



  • @sierdzio
    Hi
    I dont have QtSvg in qtbase/lib/libQt5Svg.so*

    Yes its pointing to the correct Qt installation as below

    Makefile: qwt.pro ../../../raspi/qt5/mkspecs/devices/linux-rpi3-g++/qmake.conf ../../../raspi/qt5/mkspecs/features/spec_pre.prf
    ../../../raspi/qt5/mkspecs/common/unix.conf
    ../../../raspi/qt5/mkspecs/common/linux.conf
    ../../../raspi/qt5/mkspecs/common/sanitize.conf
    to include the qtsvg lib,can I know the fix for it.


  • Moderators

    @shivaVMC said in Qwt from Windows to Linux Porting:

    I dont have QtSvg in qtbase/lib/libQt5Svg.so*

    ok then you have to compile it. If you still have your Qt build directory, go into qtbuilddir/qtsvg and run make && make install there.



  • @sierdzio
    Hi,
    I have cloned qtsvg module I followed below steps
    ~/raspi/qt5/bin/qmake -r
    make
    make install
    Then I compiled the qwt-6.1.3 using
    ~/raspi/qt5/bin/qmake -o Makefile qwt.pro
    make
    make install
    it went fine(no error's relating to svg Module) till last stage, but I came up with new error as below

    Project ERROR: Unknown module(s) in QT: designer
    Makefile:174: recipe for target 'sub-designer-make_first-ordered' failed
    make: *** [sub-designer-make_first-ordered] Error 3

    I have cloned qttools module and
    ~/raspi/qt5/bin/qmake -r
    make
    During make I faced new errors again as below,
    /home/user/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libproxy.so.1: undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
    collect2: error: ld returned 1 exit status
    Makefile:95: recipe for target 'contextsensitivehelp' failed
    make[3]: *** [contextsensitivehelp] Error 1
    make[3]: Leaving directory '/home/user/raspi/qttools/examples/help/contextsensitivehelp'
    Makefile:42: recipe for target 'sub-contextsensitivehelp-make_first-ordered' failed
    make[2]: *** [sub-contextsensitivehelp-make_first-ordered] Error 2

    So can I know which module I need to clone to avoid this error?
    or any other suggestive fix for this type of error


  • Moderators

    @shivaVMC said in Qwt from Windows to Linux Porting:

    So can I know which module I need to clone to avoid this error?
    or any other suggestive fix for this type of error

    All these modules should be build together with your Qt build. When you did your Qt cross-compilation, did you do that on whole Qt source code or only qtbase or something?



  • @sierdzio
    I cloned qtbase and followed

    ./configure -release -xkb -svg -fontconfig -openssl -opengl es2 -c++std 11 -device linux-rpi3-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/pi_raspi/sysroot -opensource -confirm-license -prefix /usr/local/qt5pi -extprefix ~/pi_raspi/qt5pi -hostprefix ~/pi_raspi/qt5 -no-use-gold-linker -v
    make -j4
    make install

    So I did only on qtbase.

    Can I know the steps to build all modules together with Qt build?



  • @sierdzio
    I followed this https://wiki.qt.io/RaspberryPi2EGLFS#Step_by_step site

    Any changes in steps-by-step part of above site,please help me on it


  • Qt Champions 2017

    @shivaVMC for a full Qt build you should read https://wiki.qt.io/Building_Qt_5_from_Git

    its main difference should be the cloning part, configuration should be similar to qtbase alone.


  • Moderators

    Use whole Qt source code, not only qtbase. Qtbase contains only some basic modules like QtNetwork, QtCore etc. No widgets, no qml, etc.

    Here's a short script to get you going with full Qt:

    export QTVER=5.11.1
    wget http://download.qt.io/official_releases/qt/5.11/$QTVER/single/qt-everywhere-src-$QTVER.tar.xz
    tar -xaf qt-everywhere-src-$QTVER.tar.xz
    mv qt-everywhere-src-$QTVER $QTVER-src
    mkdir qtbuild
    cd qtbuild
    ../$QTVER-src/configure -device linux-rasp-pi3-g++ -opengl es2 -confirm-license -opensource -release -nomake examples -skip qtwebview -skip qt3d -skip qtquick1 -skip qtwayland -skip qtvirtualkeyboard -skip qtwebchannel -skip qtwebengine -skip qtscript -skip qtscxml -skip qtspeech -skip qtpurchasing -skip qtgamepad -skip qtserialbus -skip qtlocation -no-use-gold-linker -device-option CROSS_COMPILE=/path/toi/your/toolchain- -sysroot /path/to/your/sysroot -prefix /home/pi/$QTVER-cross -extprefix $PWD//../$QTVER-cross -hostprefix $PWD/../$QTVER-build -v
    


  • @sierdzio
    okay...Thank You Thanks alot.
    I m following the link https://wiki.qt.io/Building_Qt_5_from_Git and your mentioned short script..I will get back,if any issue I m facing.


  • Moderators

    @shivaVMC said in Qwt from Windows to Linux Porting:

    I m following the link https://wiki.qt.io/Building_Qt_5_from_Git and your mentioned short script..I will get back,if any issue I m facing.

    Does not matter how you get Qt sources (from git like in your link or from archive like in my script), the result will be the same. Just remember to add all those -skip flags to configure line (and keep your sysroot and toolchain from the EGLFS guide).



  • @sierdzio
    I have tried to compile Qt build for Qt_V5.7.1,but I m facing the below error

    .obj/qeglfskmsintegration.o:(.data.rel.ro+0x74): undefined reference to `QEGLDeviceIntegration::destroyNativeWindow(void*)'
    collect2: error: ld returned 1 exit status

    Can I know which plugins/lib are missing or which lib I need to install?



  • @sierdzio
    When I perform .

    ./configure -device linux-rasp-pi3-g++ -opengl es2 -confirm-license -opensource -release -nomake examples -skip qtwebview -skip qt3d -skip qtquick1 -skip qtwayland -skip qtvirtualkeyboard -skip qtwebchannel -skip qtwebengine -skip qtscript -skip qtscxml -skip qtspeech -skip qtpurchasing -skip qtgamepad -skip qtserialbus -skip qtlocation -no-use-gold-linker -device-option CROSS_COMPILE=~/raspi_QtBuild/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi_QtBuild/sysroot -prefix /usr/local/qt5pi -extprefix ~/raspi_QtBuild/qt5pi -hostprefix ~/raspi_QtBuild/qt5 -v

    Note: Also available for Linux: linux-clang linux-icc

    Note: Dropped compiler flags '-pthread' when detecting library 'glib'.

    Note: Dropped compiler flags '-pthread' when detecting library 'gstreamer'.

    Note: Dropped compiler flags '-pthread' when detecting library 'gstreamer_app'.

    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into '/home/user/raspi_QtBuild/qt5pi'.

    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.

    When I perform --- make -j4

    msgbmmain.o qeglfskmsgbmmain.cpp
    qeglfskmsgbmwindow.cpp: In member function ‘virtual void QEglFSKmsGbmWindow::resetSurface()’:
    qeglfskmsgbmwindow.cpp:58:5: error: ‘PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC’ was not declared in this scope
    PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC createPlatformWindowSurface = nullptr;
    ^
    qeglfskmsgbmwindow.cpp:58:46: error: expected ‘;’ before ‘createPlatformWindowSurface’
    PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC createPlatformWindowSurface = nullptr;
    ^
    qeglfskmsgbmwindow.cpp:61:9: error: ‘createPlatformWindowSurface’ was not declared in this scope
    createPlatformWindowSurface = reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC>(
    ^
    qeglfskmsgbmwindow.cpp:61:56: error: expected type-specifier before ‘PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC’
    createPlatformWindowSurface = reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC>(
    ^
    qeglfskmsgbmwindow.cpp:61:56: error: expected ‘>’ before ‘PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC’
    qeglfskmsgbmwindow.cpp:61:56: error: expected ‘(’ before ‘PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC’
    qeglfskmsgbmwindow.cpp:62:68: error: expected ‘)’ before ‘;’ token
    eglGetProcAddress("eglCreatePlatformWindowSurfaceEXT"));
    ^
    qeglfskmsgbmwindow.cpp:65:9: error: ‘createPlatformWindowSurface’ was not declared in this scope
    if (createPlatformWindowSurface) {
    ^
    Makefile:3029: recipe for target '.obj/qeglfskmsgbmwindow.o' failed
    make[7]: *** [.obj/qeglfskmsgbmwindow.o] Error 1
    make[7]: *** Waiting for unfinished jobs....
    make[7]: Leaving directory '/home/user/raspi_QtBuild/qt-everywhere-src-5.11.1/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms'
    Makefile:72: recipe for target 'sub-eglfs_kms-make_first' failed
    make[6]: *** [sub-eglfs_kms-make_first] Error 2
    make[6]: Leaving directory '/home/user/raspi_QtBuild/qt-everywhere-src-5.11.1/qtbase/src/plugins/platforms/eglfs/deviceintegration'
    Makefile:104: recipe for target 'sub-deviceintegration-make_first-ordered' failed
    make[5]: *** [sub-deviceintegration-make_first-ordered] Error 2
    make[5]: Leaving directory '/home/user/raspi_QtBuild/qt-everywhere-src-5.11.1/qtbase/src/plugins/platforms/eglfs'
    Makefile:125: recipe for target 'sub-eglfs-make_first' failed
    make[4]: *** [sub-eglfs-make_first] Error 2
    make[4]: Leaving directory '/home/user/raspi_QtBuild/qt-everywhere-src-5.11.1/qtbase/src/plugins/platforms'
    Makefile:102: recipe for target 'sub-platforms-make_first' failed
    make[3]: *** [sub-platforms-make_first] Error 2
    make[3]: Leaving directory '/home/user/raspi_QtBuild/qt-everywhere-src-5.11.1/qtbase/src/plugins'
    Makefile:776: recipe for target 'sub-plugins-make_first' failed
    make[2]: *** [sub-plugins-make_first] Error 2
    make[2]: Leaving directory '/home/user/raspi_QtBuild/qt-everywhere-src-5.11.1/qtbase/src'
    Makefile:48: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/home/user/raspi_QtBuild/qt-everywhere-src-5.11.1/qtbase'
    Makefile:70: recipe for target 'module-qtbase-make_first' failed
    make: *** [module-qtbase-make_first] Error 2


  • Moderators

    Why do you say you're compiling Qt 5.7.1 when the output you paste indicates 5.11.1?

    Anyway, I've never seen that error, I don't know how to fix it.



  • @sierdzio
    Qt_v5.7.1 .tar.xz file was already with me ,till Qt_v5.11.1 gets dowloaded I have compiled Qt5.7.1..... For both the version different errors I m facing as mentioned above


  • Moderators

    @shivaVMC said in Qwt from Windows to Linux Porting:

    PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC

    This comes from EGL headers. You probably don't have all Qt dependencies installed in your sysroot.

    1. Install necessary dependencies. Try with sudo apt build-dep qt5-qmake qt5-default on your Raspberry Pi. You may also try sudo apt install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libatspi2.0-dev libdbus-1-dev.
    2. Update your sysroot and fix symlinks.
    3. Recompile Qt. Make sure to check configure output that it says EGL support is on.


  • @sierdzio
    Hi ,
    Finally it got compiled...I m success on compiling and installing Qt-V5.11.1
    Now,please suggest me that which qmake shall I take to compile qwt-6.1.3

    I m finding two qmake

    1. /home/user/raspi_QtBuild/Qtver-5.11.1/qtbase/bin/qmake
    2. /home/user/raspi_QtBuild/qt5/bin/

    Thanks In advance for your help& support.


  • Moderators

    @shivaVMC said in Qwt from Windows to Linux Porting:

    -hostprefix ~/raspi_QtBuild/qt5

    This is your host prefix, so you should use the qmake from /home/user/raspi_QtBuild/qt5/bin/.

    You can verify which Qt version that qmake comes from by running:

    /home/user/raspi_QtBuild/qt5/bin/qmake -version
    


  • @sierdzio
    Everything went fine,but when I m performing
    /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile Myproject.pro
    .qmake.stash is created

    then when I perform
    make -j4
    I get below error's ,please suggest on this

    /home/user/raspi_QtBuild/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference to `operator delete(void*, unsigned int)@CXXABI_1.3.9'

    /home/user/raspi_QtBuild/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference to `qTriangulate(QVectorPath const&, QTransform const&, double)@Qt_5_PRIVATE_API'
    collect2: error: ld returned 1 exit status

    I m head cracking on this,even I did on raspberrypi3 board

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install mesa-utils

    sudo raspi-config
    Select 7 Advance Options
    A6 GL Drivers
    selected GL (Full KMS) Desktop Drivers
    Ok-> Finish->Reboot.
    My Screen went black with cursor blinking.

    Any other commands,that I can do to get support for this libQt5OpenGL...This is the only step I stuck to complete the things of my project


  • Moderators

    Hm, I've never seen this error message, so I can only guess.

    Can you show build output (for Qwt) - I'd like to see at least one line calling the compiler and one line calling the linker. Need to know if all the compilation flags are correct.



  • @sierdzio

    /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile qwt.pro
    User@lattitude-3480:~/Downloads/QWT/qwt-6.1.3$ make -j4
    cd src/ && ( test -e Makefile || /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile /home/user/Downloads/QWT/qwt-6.1.3/src/src.pro ) && make -f Makefile
    make[1]: Entering directory '/home/user/Downloads/QWT/qwt-6.1.3/src'
    /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile src.pro
    compiling qwt_abstract_scale_draw.cpp
    compiling qwt_clipper.cpp
    compiling qwt_color_map.cpp
    compiling qwt_column_symbol.cpp
    compiling qwt_date_scale_draw.cpp
    compiling qwt_dyngrid_layout.cpp
    compiling qwt_event_pattern.cpp
    compiling qwt_graphic.cpp
    compiling qwt_interval_symbol.cpp
    compiling qwt_magnifier.cpp
    compiling qwt_null_paintdevice.cpp
    compiling qwt_painter.cpp
    compiling qwt_painter_command.cpp
    compiling qwt_panner.cpp
    compiling qwt_picker.cpp
    compiling qwt_picker_machine.cpp
    compiling qwt_round_scale_draw.cpp
    compiling qwt_scale_draw.cpp
    compiling qwt_spline.cpp
    compiling qwt_symbol.cpp
    compiling qwt_text_engine.cpp
    compiling qwt_text_label.cpp
    compiling qwt_text.cpp
    compiling qwt_widget_overlay.cpp
    compiling qwt_curve_fitter.cpp
    compiling qwt_abstract_legend.cpp
    compiling qwt_legend.cpp
    compiling qwt_legend_data.cpp
    compiling qwt_legend_label.cpp
    compiling qwt_plot.cpp
    compiling qwt_plot_renderer.cpp
    compiling qwt_plot_xml.cpp
    compiling qwt_plot_axis.cpp
    compiling qwt_plot_curve.cpp
    compiling qwt_plot_dict.cpp
    compiling qwt_plot_directpainter.cpp
    compiling qwt_plot_grid.cpp
    compiling qwt_plot_histogram.cpp
    compiling qwt_plot_item.cpp
    compiling qwt_plot_abstract_barchart.cpp
    compiling qwt_plot_barchart.cpp
    compiling qwt_plot_multi_barchart.cpp
    compiling qwt_plot_intervalcurve.cpp
    compiling qwt_plot_zoneitem.cpp
    compiling qwt_plot_tradingcurve.cpp
    compiling qwt_plot_spectrogram.cpp
    compiling qwt_plot_spectrocurve.cpp
    compiling qwt_plot_scaleitem.cpp
    compiling qwt_plot_legenditem.cpp
    compiling qwt_plot_seriesitem.cpp
    compiling qwt_plot_shapeitem.cpp
    compiling qwt_plot_marker.cpp
    compiling qwt_plot_textlabel.cpp
    compiling qwt_plot_layout.cpp
    compiling qwt_plot_canvas.cpp
    compiling qwt_plot_panner.cpp
    compiling qwt_plot_rasteritem.cpp
    compiling qwt_plot_picker.cpp
    compiling qwt_plot_zoomer.cpp
    compiling qwt_plot_magnifier.cpp
    compiling qwt_plot_rescaler.cpp
    compiling qwt_point_mapper.cpp
    compiling qwt_raster_data.cpp
    compiling qwt_matrix_raster_data.cpp
    compiling qwt_scale_widget.cpp
    compiling qwt_plot_svgitem.cpp
    compiling qwt_plot_glcanvas.cpp
    compiling qwt_abstract_slider.cpp
    compiling qwt_abstract_scale.cpp
    compiling qwt_arrow_button.cpp
    compiling qwt_analog_clock.cpp
    compiling qwt_compass.cpp
    compiling qwt_compass_rose.cpp
    compiling qwt_counter.cpp
    compiling qwt_dial.cpp
    compiling qwt_dial_needle.cpp
    compiling qwt_knob.cpp
    compiling qwt_slider.cpp
    compiling qwt_thermo.cpp
    compiling qwt_wheel.cpp
    moc qwt_dyngrid_layout.h
    moc qwt_magnifier.h
    moc qwt_panner.h
    moc qwt_picker.h
    moc qwt_text_label.h
    moc qwt_abstract_legend.h
    moc qwt_legend.h
    moc qwt_legend_label.h
    moc qwt_plot.h
    moc qwt_plot_renderer.h
    moc qwt_plot_canvas.h
    moc qwt_plot_panner.h
    moc qwt_plot_picker.h
    moc qwt_plot_zoomer.h
    moc qwt_plot_magnifier.h
    moc qwt_sampling_thread.h
    moc qwt_scale_widget.h
    moc qwt_plot_glcanvas.h
    moc qwt_abstract_slider.h
    moc qwt_abstract_scale.h
    moc qwt_analog_clock.h
    moc qwt_compass.h
    moc qwt_counter.h
    moc qwt_dial.h
    moc qwt_knob.h
    moc qwt_slider.h
    moc qwt_thermo.h
    moc qwt_wheel.h
    compiling moc/moc_qwt_dyngrid_layout.cpp
    compiling moc/moc_qwt_magnifier.cpp
    compiling moc/moc_qwt_panner.cpp
    compiling moc/moc_qwt_picker.cpp
    compiling moc/moc_qwt_text_label.cpp
    compiling moc/moc_qwt_abstract_legend.cpp
    compiling moc/moc_qwt_legend.cpp
    compiling moc/moc_qwt_legend_label.cpp
    compiling moc/moc_qwt_plot.cpp
    compiling moc/moc_qwt_plot_renderer.cpp
    compiling moc/moc_qwt_plot_canvas.cpp
    compiling moc/moc_qwt_plot_panner.cpp
    compiling moc/moc_qwt_plot_picker.cpp
    compiling moc/moc_qwt_plot_zoomer.cpp
    compiling moc/moc_qwt_plot_magnifier.cpp
    compiling moc/moc_qwt_sampling_thread.cpp
    compiling moc/moc_qwt_scale_widget.cpp
    compiling moc/moc_qwt_plot_glcanvas.cpp
    compiling moc/moc_qwt_abstract_slider.cpp
    compiling moc/moc_qwt_abstract_scale.cpp
    compiling moc/moc_qwt_analog_clock.cpp
    compiling moc/moc_qwt_compass.cpp
    compiling moc/moc_qwt_counter.cpp
    compiling moc/moc_qwt_dial.cpp
    compiling moc/moc_qwt_knob.cpp
    compiling moc/moc_qwt_slider.cpp
    compiling moc/moc_qwt_thermo.cpp
    compiling moc/moc_qwt_wheel.cpp
    rm -f libqwt.so.6.1.3 libqwt.so libqwt.so.6 libqwt.so.6.1
    linking ../lib/libqwt.so.6.1.3
    ln -s libqwt.so.6.1.3 libqwt.so
    ln -s libqwt.so.6.1.3 libqwt.so.6
    ln -s libqwt.so.6.1.3 libqwt.so.6.1
    rm -f ../lib/libqwt.so.6.1.3
    mv -f libqwt.so.6.1.3 ../lib/
    rm -f ../lib/libqwt.so
    rm -f ../lib/libqwt.so.6
    rm -f ../lib/libqwt.so.6.1
    mv -f libqwt.so ../lib/
    mv -f libqwt.so.6 ../lib/
    mv -f libqwt.so.6.1 ../lib/
    make[1]: Leaving directory '/home/user/Downloads/QWT/qwt-6.1.3/src'
    cd textengines/ && ( test -e Makefile || /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile /home/user/Downloads/QWT/qwt-6.1.3/textengines/textengines.pro ) && make -f Makefile
    make[1]: Entering directory '/home/user/Downloads/QWT/qwt-6.1.3/textengines'
    /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile textengines.pro
    make[1]: Nothing to be done for 'first'.
    make[1]: Leaving directory '/home/user/Downloads/QWT/qwt-6.1.3/textengines'
    cd doc/ && ( test -e Makefile || /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile /home/user/Downloads/QWT/qwt-6.1.3/doc/doc.pro ) && make -f Makefile
    make[1]: Entering directory '/home/user/Downloads/QWT/qwt-6.1.3/doc'
    /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile doc.pro
    make[1]: Nothing to be done for 'first'.
    make[1]: Leaving directory '/home/user/Downloads/QWT/qwt-6.1.3/doc'


  • Moderators

    Oh, they are not printing the build commands in Qwt :-( Don't they have some verbose mode or something?

    If yes, please use it and paste the output here. If no, then please paste the beginning of Makefile that is produced - the section where all compilers and flags are set up.



  • @sierdzio

    Beginning lines of Makefile are as below

    MAKEFILE = Makefile

    first: make_first
    QMAKE = /home/user/raspi_QtBuild/qt5/bin/qmake
    DEL_FILE = rm -f
    CHK_DIR_EXISTS= test -d
    MKDIR = mkdir -p
    COPY = cp -f
    COPY_FILE = cp -f
    COPY_DIR = cp -f -R
    INSTALL_FILE = install -m 644 -p
    INSTALL_PROGRAM = install -m 755 -p
    INSTALL_DIR = cp -f -R
    QINSTALL = /home/user/raspi_QtBuild/qt5/bin/qmake -install qinstall
    QINSTALL_PROGRAM = /home/user/raspi_QtBuild/qt5/bin/qmake -install qinstall -exe
    DEL_FILE = rm -f
    SYMLINK = ln -f -s
    DEL_DIR = rmdir
    MOVE = mv -f
    TAR = tar -cf
    COMPRESS = gzip -9f
    DISTNAME = qwt1.0.0
    DISTDIR = /home/user/Downloads/QWT/qwt-6.1.3/.tmp/qwt1.0.0
    SUBTARGETS =
    sub-src
    sub-textengines
    sub-doc

    sub-src-qmake_all: FORCE
    @test -d src/ || mkdir -p src/
    cd src/ && $(QMAKE) -o Makefile /home/user/Downloads/QWT/qwt-6.1.3/src/src.pro
    cd src/ && $(MAKE) -f Makefile qmake_all


  • Moderators

    It still does not list the compiler anywhere... look deeper :-) I'm basically trying to verify whether qmake is building for cross-compilation here or not. Because it should.

    Look for CC = or CXX = or something.



  • @sierdzio
    This is the beginning of Makefile created by my PROJECT, when I pass below command
    /home/user/raspi_QtBuild/qt5/bin/qmake -o Makefile PROJECT.pro

    MAKEFILE = Makefile

    ####### Compiler, tools and options

    CC = /home/user/raspi_QtBuild/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc
    CXX = /home/user/raspi_QtBuild/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
    DEFINES = -DQWT_NO_SVG -DQWT_DLL -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB
    CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=/home/user/raspi_QtBuild/sysroot -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
    CXXFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=/home/user/raspi_QtBuild/sysroot -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
    INCPATH = -I. -Isrc -I/usr/local/qwt-6.1.3/include -I../../../../raspi_QtBuild/qt5pi/include -I../../../../raspi_QtBuild/qt5pi/include/QtPrintSupport -I../../../../raspi_QtBuild/qt5pi/include/QtSvg -I../../../../raspi_QtBuild/qt5pi/include/QtWidgets -I../../../../raspi_QtBuild/qt5pi/include/QtGui -I../../../../raspi_QtBuild/qt5pi/include/QtNetwork -I../../../../raspi_QtBuild/qt5pi/include/QtConcurrent -I../../../../raspi_QtBuild/qt5pi/include/QtCore -I. -I=/opt/vc/include -I=/opt/vc/include/interface/vcos/pthreads -I=/opt/vc/include/interface/vmcs_host/linux -I. -I../../../../raspi/qt5/mkspecs/devices/linux-rpi3-g++
    QMAKE = /home/user/raspi_QtBuild/qt5/bin/qmake
    DEL_FILE = rm -f
    CHK_DIR_EXISTS= test -d
    MKDIR = mkdir -p
    COPY = cp -f
    COPY_FILE = cp -f
    COPY_DIR = cp -f -R
    INSTALL_FILE = install -m 644 -p
    INSTALL_PROGRAM = install -m 755 -p
    INSTALL_DIR = cp -f -R
    QINSTALL = /home/user/raspi_QtBuild/qt5/bin/qmake -install qinstall
    QINSTALL_PROGRAM = /home/user/raspi_QtBuild/qt5/bin/qmake -install qinstall -exe
    DEL_FILE = rm -f
    SYMLINK = ln -f -s
    DEL_DIR = rmdir
    MOVE = mv -f
    TAR = tar -cf
    COMPRESS = gzip -9f
    DISTNAME = PROJECT1.0.0
    DISTDIR = /home/user/Desktop/proj/raspi_proj/PROJECT_V_00.00.007/.tmp/PROJECT1.0.0
    LINK = /home/user/raspi_QtBuild/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
    LFLAGS = -Wl,-rpath-link,/home/user/raspi_QtBuild/sysroot/opt/vc/lib -Wl,-rpath-link,/home/user/raspi_QtBuild/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/user/raspi_QtBuild/sysroot/lib/arm-linux-gnueabihf -mfloat-abi=hard --sysroot=/home/user/raspi_QtBuild/sysroot -Wl,-O1 -Wl,-rpath,/usr/local/qt5pi/lib
    LIBS = $(SUBLIBS) -L=/opt/vc/lib -L/home/user/Desktop/proj/raspi_proj/PROJECT_V_00.00.007/lib -L/usr/local/qwt-6.1.3/lib -lqwt -L/home/user/raspi_QtBuild/qt5pi/lib -lQt5PrintSupport -lQt5Svg -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Concurrent -lQt5Core -L/home/user/raspi_QtBuild/sysroot/usr/lib/arm-linux-gnueabihf -lGLESv2 -lpthread
    AR = /home/user/raspi_QtBuild/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-ar cqs
    RANLIB =
    SED = sed
    STRIP = /home/user/raspi_QtBuild/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-strip


  • Moderators

    @shivaVMC said in Qwt from Windows to Linux Porting:

    This is the beginning of Makefile created by my PROJECT, when I pass below command

    Ooops I misunderstood :-) I thought you had errors when compiling Qwt, but now I see you have them when compiling your project. OK.

    Compiler setup looks OK.

    So you have everything correctly cross-compiled but still it complains about:

    /home/user/raspi_QtBuild/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference to `operator delete(void*, unsigned int)@CXXABI_1.3.9'
    
    /home/user/raspi_QtBuild/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference to `qTriangulate(QVectorPath const&, QTransform const&, double)@Qt_5_PRIVATE_API'
    

    Hm :-/ I'm out of ideas to be honest. Looks like Qt has disabled some part of the code, or there is ABI mismatch but both these possibilities seem weird.



  • @sierdzio

    Yeah,everything correctly cross-compiled but still it complains OpenGL issue.
    So,next what How shall I proceed ?
    Any alternate solution for this bug.


  • Lifetime Qt Champion

    Hi,

    Might be a silly question but are you sure you are using the same Qt version of building your application that was used to build Qwt ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.