Bug report #7495

compile error with Qwt 6.1

Added by William Kyngesburye over 6 years ago. Updated almost 6 years ago.

Status:Closed
Priority:Normal
Assignee:-
Category:GUI
Affected QGIS version:master Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:fixed/implemented
Crashes QGIS or corrupts data:No Copied to github as #:16446

Description

Something is causing a compile error with Qwt 6.1.0(rc3) (using clang on OS X):

[ 27%] Building CXX object src/gui/CMakeFiles/qgis_gui.dir/raster/qgsrasterhistogramwidget.cpp.o
/Users/Shared/src/qgis/git/Quantum-GIS/src/gui/raster/qgsrasterhistogramwidget.cpp:880:26: error: 
      no matching function for call to 'findClosestTickVal'
    leHistoMin->setText( findClosestTickVal( pos.x(), ...
                         ^~~~~~~~~~~~~~~~~~
/Users/Shared/src/qgis/git/Quantum-GIS/src/gui/raster/qgsrasterhistogramwidget.cpp:844:9: note: 
      candidate function not viable: no known conversion from
      'const QwtScaleDiv' to 'QwtScaleDiv *' for 2nd argument;
QString findClosestTickVal( double target, QwtScaleDiv * scale, int div = 100 )
        ^

It compiles without error with Qwt 6.0.2 and 5.2.2.


Related issues

Related to QGIS Application - Bug report #13156: Add qwtpolar-1.1 embedded copy for Qwt >= 6.1 support Closed 2015-07-26

Associated revisions

Revision 04119d88
Added by Jürgen Fischer over 6 years ago

establish that Qwt 6.1 is not currently supported with internal QwtPolar (closes #7495)

History

#1 Updated by Jürgen Fischer over 6 years ago

  • Status changed from Open to Closed

#2 Updated by Xavier Fung almost 6 years ago

  • Status changed from Closed to Reopened

ArchLinux and Fedora 20 now offers Qwt 6.1.0. Is it possible to update QwtPolar to support Qwt 6.1.0?

#3 Updated by Dražen Odobašić almost 6 years ago

fortunately, qwtpolar 1.1.0-rc1 has fixes for qwt 6.1.0 (http://sourceforge.net/p/qwtpolar/code/commit_browser) - qgis 2.0 compiles if you use external qwtpolar-1.1.0rc1 library, but I get a '*** Error in `qgis': realloc(): invalid old size: 0x0000000000cc24c0 ***' when trying to run it

#4 Updated by Xavier Fung almost 6 years ago

I can build with external qwtpolar (using qwtpolar-svn) and a partial revert of the CMakeLists.txt changes in the above changeset. Below is the full backtrace. On the 4th line I can see some Qt 5 sonames.

[[email protected] qgis-git]$ qgis
*** Error in `qgis': realloc(): invalid pointer: 0x0000000000aeb500 ***
======= Backtrace: =========
/usr/lib/libc.so.6(+0x72e5f)[0x7f8bd5ce6e5f]
/usr/lib/libc.so.6(+0x7862e)[0x7f8bd5cec62e]
/usr/lib/libc.so.6(realloc+0x24a)[0x7f8bd5cf02ea]
/usr/lib/libQt5Core.so.5(_ZN9QListData7reallocEi+0x1e)[0x7f8bd155bbce]
/usr/lib/libQt5Core.so.5(_ZN9QListData6appendEi+0x6a)[0x7f8bd155bc8a]
/usr/lib/libQt5Core.so.5(+0x19ad5c)[0x7f8bd160cd5c]
/usr/lib/libQt5Core.so.5(_Z21qRegisterResourceDataiPKhS0_S0_+0x2b9)[0x7f8bd1608df9]
/usr/lib/libQt5Core.so.5(+0x75f73)[0x7f8bd14e7f73]
/lib64/ld-linux-x86-64.so.2(+0xe8ea)[0x7f8bdd0ac8ea]
/lib64/ld-linux-x86-64.so.2(+0xe9d3)[0x7f8bdd0ac9d3]
/lib64/ld-linux-x86-64.so.2(+0x12aa)[0x7f8bdd09f2aa]

#5 Updated by Matthias Kuhn almost 6 years ago

looks like qwtpolar (or something else) is built against qt5, while qgis is built against qt4.

#6 Updated by Jürgen Fischer almost 6 years ago

Xavier Fung wrote:

and a partial revert of the CMakeLists.txt changes in the above changeset.

Why? That should only be relevant if you have WITH_INTERNAL_QWTPOLAR=TRUE.

#7 Updated by Xavier Fung almost 6 years ago

It seems the error goes to QwtPolar - which needs to be built against Qt4. After I have recompiled QwtPolar and used the following cmake options (no patch), trunk builds again.

-DWITH_INTERNAL_QWTPOLAR=OFF
-DQWTPOLAR_INCLUDE_DIR=/usr/include/qwt

Related discussion can be found here:
[[https://aur.archlinux.org/packages/qgis-git/]]

#8 Updated by Jürgen Fischer almost 6 years ago

  • Resolution set to fixed/implemented
  • Status changed from Reopened to Closed

Also available in: Atom PDF