octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #50129] Incorrect Qt version chosen after auto


From: Rik
Subject: [Octave-bug-tracker] [bug #50129] Incorrect Qt version chosen after automatic updates to configure
Date: Mon, 23 Jan 2017 23:14:35 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0

URL:
  <http://savannah.gnu.org/bugs/?50129>

                 Summary: Incorrect Qt version chosen after automatic updates
to configure
                 Project: GNU Octave
            Submitted by: rik5
            Submitted on: Mon 23 Jan 2017 03:14:34 PM PST
                Category: Configuration and Build System
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Regression
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: GNU/Linux

    _______________________________________________________

Details:

This is a complicated issue, which I can work around, but it does indicate a
problem with the build system on the development branch.

Recently there was a series of whitespace changes to the entire codebase to
eliminate trailing newlines at the end of files.  After hg update, I ran make
which proceeded to re-run configure and then do the build.  However, the build
failed as shown below.


libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I.
-I/usr/include/freetype2 -I/usr/include/freetype2
-I/usr/include/x86_64-linux-gnu/qt5/QtNetwork
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtOpenGL
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore
-I/usr/include/x86_64-linux-gnu/qt5 -I./libgui/qterminal/libqterminal
-Ilibgui/src -I./libgui/src -I./libgui/src/m-editor -I./libgui/src/qtinfo
-I./libgui/graphics -I./liboctave/cruft/misc -I./liboctave/array
-Iliboctave/numeric -I./liboctave/numeric -Iliboctave/operators
-I./liboctave/operators -I./liboctave/system -I./liboctave/util -Ilibinterp
-I./libinterp -Ilibinterp/parse-tree -I./libinterp/parse-tree
-Ilibinterp/corefcn -I./libinterp/corefcn -I./libinterp/octave-value
-I./liboctave/wrappers -fPIC -pthread -fopenmp -Wall -W -Wshadow
-Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align
-Wcast-qual -O2 -pipe -MT
libgui/src/m-editor/libgui_src_libgui_src_la-moc-file-editor-interface.lo -MD
-MP -MF
libgui/src/m-editor/.deps/libgui_src_libgui_src_la-moc-file-editor-interface.Tpo
-c libgui/src/m-editor/moc-file-editor-interface.cc  -fPIC -DPIC -o
libgui/src/m-editor/.libs/libgui_src_libgui_src_la-moc-file-editor-interface.o
libgui/src/m-editor/moc-file-editor-interface.cc:16:2: error: #error "This
file was generated using the moc from 4.8.6. It"
 #error "This file was generated using the moc from 4.8.6. It"
  ^
libgui/src/m-editor/moc-file-editor-interface.cc:17:2: error: #error "cannot
be used with the include files from this version of Qt."
 #error "cannot be used with the include files from this version of Qt."
  ^
libgui/src/m-editor/moc-file-editor-interface.cc:18:2: error: #error "(The moc
has changed too much.)"
 #error "(The moc has changed too much.)"


I have two versions of Qt development libraries installed on the computer, Qt4
and Qt5.  If I don't specify a version to Octave's configure script then it
defaults to Qt5.  That's fine, and if I look at the synopsys at the end of
configure I see:


  Qt CPPFLAGS:                   -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtOpenGL
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore
-I/usr/include/x86_64-linux-gnu/qt5 
  Qt LDFLAGS:                    
  Qt libraries:                  -lQt5Network -lQt5OpenGL -lQt5PrintSupport
-lQt5Widgets -lQt5Gui -lQt5Core  -lqt5scintilla2
  Qt moc:                        moc -qt5
  Qt uic:                        uic -qt5
  Qt rcc:                        rcc -qt5
  Qt lrelease:                   lrelease -qt5


As one can see, it has chose qt5 correctly, and is adding the -qt5 option to
the 'moc' command.

However, when the build system automatically re-runs configure, I am getting a
different result.  


  Qt CPPFLAGS:                   -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtOpenGL
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
-I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore
-I/usr/include/x86_64-linux-gnu/qt5 
  Qt LDFLAGS:                    
  Qt libraries:                  -lQt5Network -lQt5OpenGL -lQt5PrintSupport
-lQt5Widgets -lQt5Gui -lQt5Core  -lqt5scintilla2
  Qt moc:                        moc 
  Qt uic:                        uic 
  Qt rcc:                        rcc 
  Qt lrelease:                   lrelease 


As you can see, it is no longer using the -qt5 option.  Thus, when it runs I
pick up the version for Qt4.8.6 and I get the error.

This may be because of caching.  This is the result during the re-run of
configure.


checking Qt version 5... checking for QT... yes
checking for moc-qt5... (cached) moc
checking for uic-qt5... (cached) uic
checking for rcc-qt5... (cached) rcc
checking for lrelease-qt5... (cached) lrelease


And this is the result of a configure run after 'make distclean'


checking Qt version 5... checking for QT... yes
checking for moc-qt5... no
checking for uic-qt5... no
checking for rcc-qt5... no
checking for lrelease-qt5... no
checking for qtchooser... qtchooser
checking for moc... moc
checking for uic... uic
checking for rcc... rcc
checking for lrelease... lrelease


There are more things that get tested, including qtchooser.






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?50129>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]