Error on ./configure script in qt-everywhere-opensource-src-5.9.6
-
Hello SGaist,
i tried again:
- Update Debian:
root@deb9onR86:/home/bernd# sudo apt update
Ign:1 http://ftp.uni-stuttgart.de/debian stretch InRelease
OK:2 http://ftp.uni-stuttgart.de/debian stretch-updates InRelease
OK:3 http://security.debian.org/debian-security stretch/updates InRelease
OK:4 http://ftp.uni-stuttgart.de/debian stretch Release
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Alle Pakete sind aktuell.-
I did an new download of "qt-everywhere-opensource-src-5.9.6" from "https://download.qt.io/archive/qt/5.9/5.9.6/single/"
-
First test:
root@deb9onR86:/home/bernd/qt-everywhere-opensource-src-5.9.6# ./configure -prefix $PWD/qtbase -opensource -nomake tests
bash: ./configure: /bin/sh^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden -
Scipt configure opened mit KWrite. -> Extras ->EndofLine ->Unix and
saving the File
-the same procedure with configure-script in qtbase -
Second test:
root@deb9onR86:/home/bernd/qt-everywhere-opensource-src-5.9.6# ./configure -prefix $PWD/qtbase -opensource -nomake tests
- cd qtbase
- /home/bernd/qt-everywhere-opensource-src-5.9.6/qtbase/configure -top-level -prefix /home/bernd/qt-everywhere-opensource-src-5.9.6/qtbase -opensource -nomake tests
Creating qmake...
’; did you mean ‘-ffunction-sections’?
.make: *** [project.o] Fehler 1
Did I something wrong?
-
Hello SGaist,
i tried again:
- Update Debian:
root@deb9onR86:/home/bernd# sudo apt update
Ign:1 http://ftp.uni-stuttgart.de/debian stretch InRelease
OK:2 http://ftp.uni-stuttgart.de/debian stretch-updates InRelease
OK:3 http://security.debian.org/debian-security stretch/updates InRelease
OK:4 http://ftp.uni-stuttgart.de/debian stretch Release
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Alle Pakete sind aktuell.-
I did an new download of "qt-everywhere-opensource-src-5.9.6" from "https://download.qt.io/archive/qt/5.9/5.9.6/single/"
-
First test:
root@deb9onR86:/home/bernd/qt-everywhere-opensource-src-5.9.6# ./configure -prefix $PWD/qtbase -opensource -nomake tests
bash: ./configure: /bin/sh^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden -
Scipt configure opened mit KWrite. -> Extras ->EndofLine ->Unix and
saving the File
-the same procedure with configure-script in qtbase -
Second test:
root@deb9onR86:/home/bernd/qt-everywhere-opensource-src-5.9.6# ./configure -prefix $PWD/qtbase -opensource -nomake tests
- cd qtbase
- /home/bernd/qt-everywhere-opensource-src-5.9.6/qtbase/configure -top-level -prefix /home/bernd/qt-everywhere-opensource-src-5.9.6/qtbase -opensource -nomake tests
Creating qmake...
’; did you mean ‘-ffunction-sections’?
.make: *** [project.o] Fehler 1
Did I something wrong?
-
@Hi_Be said in Error on ./configure script in qt-everywhere-opensource-src-5.9.6:
I have downloaded the zip-File. Is there a diffence to the tar.xz-file*?
Yes, zip is to build on Windows
-
Now, "./configure" seems to be working:
root@deb9onR86:/home/bernd/qt-everywhere-opensource-src-5.9.6# ./configure -prefix $PWD/qtbase -opensource -nomake tests
- cd qtbase
- /home/bernd/qt-everywhere-opensource-src-5.9.6/qtbase/configure -top-level -prefix /home/bernd/qt-everywhere-opensource-src-5.9.6/qtbase -opensource -nomake tests
Creating qmake...
.Done.
This is the Qt Open Source Edition.
You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) version 3
or the GNU General Public License (GPL) version 2.Type 'L' to view the GNU Lesser General Public License version 3 (LGPLv3).
Type 'G' to view the GNU General Public License version 2 (GPLv2).
Type 'y' to accept this license offer.
Type 'n' to decline this license offer.Do you accept the terms of either license? y
.....
Opus ................................. no ffmpeg ............................... no
Note: Also available for Linux: linux-clang linux-icc
Note: Disabling X11 Accessibility Bridge: D-Bus or AT-SPI is missing.
Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
Qt is now configured for building. Just run 'make'.
Once everything is built, Qt is installed.
You should NOT run 'make install'.
Note that this build cannot be deployed to other machines or devices.Prior to reconfiguration, make sure you remove any leftovers from
the previous build.```
Now I try make:
-> root@deb9onR86:/home/bernd# make
and after a long time comiling I got:
.....
where-opensource-src-5.9.6/qtbase/mkspecs/linux-g++ -o .obj/src/mbgl/renderer/renderer_impl.o src/mbgl/renderer/renderer_impl.cpp
{standard input}: Assembler messages:
{standard input}:27174: Error: invalid operands (UND and .gcc_except_table sections) for `-'
g++: internal compiler error: Getötet (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions.
Makefile:36521: die Regel für Ziel „.obj/src/mbgl/renderer/renderer_impl.o“ scheiterte
make[5]: *** [.obj/src/mbgl/renderer/renderer_impl.o] Fehler 4
make[5]: Verzeichnis „/home/bernd/qt-everywhere-opensource-src-5.9.6/qtlocation/src/3rdparty/mapbox-gl-native“ wird verlassen
Makefile:200: die Regel für Ziel „sub-------3rdparty-mapbox-gl-native-make_first“ scheiterte
make[4]: *** [sub-------3rdparty-mapbox-gl-native-make_first] Fehler 2
make[4]: Verzeichnis „/home/bernd/qt-everywhere-opensource-src-5.9.6/qtlocation/src/plugins/geoservices“ wird verlassen
Makefile:70: die Regel für Ziel „sub-geoservices-make_first“ scheiterte
make[3]: *** [sub-geoservices-make_first] Fehler 2
make[3]: Verzeichnis „/home/bernd/qt-everywhere-opensource-src-5.9.6/qtlocation/src/plugins“ wird verlassen
Makefile:204: die Regel für Ziel „sub-plugins-make_first“ scheiterte
make[2]: *** [sub-plugins-make_first] Fehler 2
make[2]: Verzeichnis „/home/bernd/qt-everywhere-opensource-src-5.9.6/qtlocation/src“ wird verlassen
Makefile:46: die Regel für Ziel „sub-src-make_first“ scheiterte
make[1]: *** [sub-src-make_first] Fehler 2
make[1]: Verzeichnis „/home/bernd/qt-everywhere-opensource-src-5.9.6/qtlocation“ wird verlassen
Makefile:729: die Regel für Ziel „module-qtlocation-make_first“ scheiterte
make: *** [module-qtlocation-make_first] Fehler 2
root@deb9onR86:/home/bernd/qt-everywhere-opensource-src-5.9.6#What is the matter for this error?
Thank you and best regards.
-
Looks like the mapbox-gl-native building triggers a compiler bug. Did you install anything related to to Mapbox on your machine before building ?
-
The most simple is: do you need all of Qt's module right now ? If not, then only build the one you are going to use. It's going to take less time and disk space.
-
No, you are right, i did not Need all modules. But there are 2 Problems.
First, if i want to skip a module, where i got the right name as skip-parameter,
because the module-names on the QT-Webseite delivers an error. For example for the
module "Qt SQL" -skip qt sql or -skip qt_sql or -skip sql doesn't work.Second, is it possible to add later the module again, if nessecary?
-
No, you are right, i did not Need all modules. But there are 2 Problems.
First, if i want to skip a module, where i got the right name as skip-parameter,
because the module-names on the QT-Webseite delivers an error. For example for the
module "Qt SQL" -skip qt sql or -skip qt_sql or -skip sql doesn't work.Second, is it possible to add later the module again, if nessecary?
@Hi_Be said in Error on ./configure script in qt-everywhere-opensource-src-5.9.6:
No, you are right, i did not Need all modules. But there are 2 Problems.
First, if i want to skip a module, where i got the right name as skip-parameter,
because the module-names on the QT-Webseite delivers an error. For example for the
module "Qt SQL" -skip qt sql or -skip qt_sql or -skip sql doesn't work.https://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules and
https://doc.qt.io/qt-5/sql-driver.html#building-the-drivers
You should see all options with runningconfigure -help
Second, is it possible to add later the module again, if nessecary?
Yes
-
Sorry, may be a missunderstandig of mine, but
in https://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules
is discripted:
Excluding Qt Modules¶Configure's -skip option allows top-level source directories to be excluded from the Qt build. Note that many directories contain multiple Qt modules. For example, to exclude Qt NFC and Qt Bluetooth from the Qt build, provide -skip qtconnectivity as the argument to configure.
./configure -skip qtconnectivity
and when i look under QT-Modules (https://doc.qt.io/qt-5/qtmodules.html) i see:
The following table lists the Qt essentials:
Module
Description
Qt Core Core non-graphical classes used by other modules.
Qt GUI Base classes for graphical user interface (GUI) components. Includes OpenGL.
Qt Multimedia Classes for audio, video, radio and camera functionality.
Qt Multimedia Widgets Widget-based classes for implementing multimedia functionality.
Qt Network Classes to make network programming easier and more portable.
Qt QML Classes for QML and JavaScript languages.
Qt Quick A declarative framework for building highly dynamic applications with custom user interfaces.
Qt Quick Controls 2 Provides lightweight QML types for creating performant user interfaces for desktop, embedded, and mobile devices. These types employ a simple styling architecture and are very efficient.
Qt Quick Dialogs Types for creating and interacting with system dialogs from a Qt Quick application.
Qt Quick Layouts Layouts are items that are used to arrange Qt Quick 2 based items in the user interface.
Qt Quick Test A unit test framework for QML applications, where the test cases are written as JavaScript functions.
Qt SQL Classes for database integration using SQL.
...Can you give me a example, how the Modul QT SQL could be excluded and where
i found the argument for skip?
May be, i understand this better.
Thank you. -
Sorry, may be a missunderstandig of mine, but
in https://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules
is discripted:
Excluding Qt Modules¶Configure's -skip option allows top-level source directories to be excluded from the Qt build. Note that many directories contain multiple Qt modules. For example, to exclude Qt NFC and Qt Bluetooth from the Qt build, provide -skip qtconnectivity as the argument to configure.
./configure -skip qtconnectivity
and when i look under QT-Modules (https://doc.qt.io/qt-5/qtmodules.html) i see:
The following table lists the Qt essentials:
Module
Description
Qt Core Core non-graphical classes used by other modules.
Qt GUI Base classes for graphical user interface (GUI) components. Includes OpenGL.
Qt Multimedia Classes for audio, video, radio and camera functionality.
Qt Multimedia Widgets Widget-based classes for implementing multimedia functionality.
Qt Network Classes to make network programming easier and more portable.
Qt QML Classes for QML and JavaScript languages.
Qt Quick A declarative framework for building highly dynamic applications with custom user interfaces.
Qt Quick Controls 2 Provides lightweight QML types for creating performant user interfaces for desktop, embedded, and mobile devices. These types employ a simple styling architecture and are very efficient.
Qt Quick Dialogs Types for creating and interacting with system dialogs from a Qt Quick application.
Qt Quick Layouts Layouts are items that are used to arrange Qt Quick 2 based items in the user interface.
Qt Quick Test A unit test framework for QML applications, where the test cases are written as JavaScript functions.
Qt SQL Classes for database integration using SQL.
...Can you give me a example, how the Modul QT SQL could be excluded and where
i found the argument for skip?
May be, i understand this better.
Thank you.You can check out what the proper options is by
./configure -help
Under windows is says:
Database options: -sql-<driver> ........ Enable SQL <driver> plugin. Supported drivers: db2 ibase mysql oci odbc psql sqlite2 sqlite tds [all auto] -sqlite .............. Select used sqlite3 [system/qt]
I would use the prefix "-no" which would be "-no-sql-mysql" according to this help text.
-
To shorten things, start by only building qtbase, then you can continue with the other modules.
-
Ok, now the building of qt works!
But to get the correct Parameters/arguments for adding or removing
modules likes a little as a quesswork.For example in the documentation was the example
"./configure -skip qtconnectivity"
where "qtconnectivity" belongs to the modules "Qt NFC" and "Qt Bluetooth" (as descriped in the doc by the skip example)
But where could i find, that "qtconnectivity" was the right argument to
remove connections?Neither the terminal Output of "./configure -help" nor the terminal
Output of the configure script, wenn running:
Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
Configuration: use_gold_linker sse2 sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c largefile precompile_header shared rpath release c++11 c++14 c++1z concurrent dbus no-pkg-config reduce_exports reduce_relocations stl
Build options:
Mode ................................... release
Optimize release build for size ........ no
Building shared libraries .............. yes
Using C++ standard ..................... C++1z
Using ccache ........................... no
Using gold linker ...................... yes
Using new DTAGS ........................ yes
Using precompiled headers .............. yes
Using LTCG ............................. no
Target compiler supports:
SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
AVX .................................. AVX AVX2 F16C
AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
Build parts ............................ libs examples tools
Qt modules and options:
Qt Concurrent .......................... yes
....(an so on) contains the term "qtconnectivity".
Is there no complete list of all arguments of skip and
the belonging modules and a list of arguments off
modules which ar by -no-..... excluded?
For example:- skip
Connections (Bluetooth, NFC,..) - "qtconnectivity"
Speech - "qtspeech"
Developement Tools - "devtools"
Thank you and best regards
- skip
-
IIRC, the skip argument matches the name of the modules you can find as sub-folders in the Qt 5 root folder.