Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Problem building qtbase from source
Qt 6.11 is out! See what's new in the release blog

Problem building qtbase from source

Scheduled Pinned Locked Moved Solved Installation and Deployment
18 Posts 3 Posters 7.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Tom assoT Tom asso

    I’ve downloaded the offline installer qt-opensource-linux-x64-5.14.2.run file onto my ubuntu 18.04 system. Executing that .run file a few months ago seemed to build all of the Qt libraries, and I’ve been linking may application against them with no problem since then. Now I want to modify some code in the qtbase libraries and I want to build with ‘make’. So I cd to $QT_HOME/5.14.2/Src/qtbase, and I type ‘qmake’; this prompts me with questions about which edition I want to use and whether I accept the license terms, and then qmake configures things for the Makefile (I put the output at the end of this post). I then run ‘make’ which runs for about an hour but then fails:

    make[2]: Entering directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/qmake'
    make[2]: *** No rule to make target 'binary'.  Stop.
    make[2]: Leaving directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/qmake'
    Makefile.qmake-aux:965: recipe for target '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/qmake/qmake' failed
    make[1]: *** [/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/qmake/qmake] Error 2
    

    Does anyone know why? Below is the output from the ‘qmake’ step.
    Thanks!

    Selecting Qt Edition.
     
    Type 'c' if you want to use the Commercial Edition.
    Type 'o' if you want to use the Open Source Edition.
     
    Which edition of Qt do you want to use? 
    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? 
     
    Running configuration tests...
    Done running configuration tests.
     
    Configure summary:
     
    Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
    Compiler: gcc 7.5.0
    Configuration: sse2 aesni 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 rdrnd shani x86SimdAlways shared shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports reduce_relocations stl
    Build options:
      Mode ................................... release
      Optimize release build for size ........ no
      Building shared libraries .............. yes
      Using C standard ....................... C11
      Using C++ standard ..................... C++17
      Using ccache ........................... no
      Using new DTAGS ........................ yes
      Relocatable ............................ yes
      Using precompiled headers .............. yes
      Using LTCG ............................. no
      Target compiler supports:
        SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
        AVX .................................. AVX AVX2
        AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
        Other x86 ............................ AES F16C RDRAND SHA
        Intrinsics without -mXXX option ...... yes
      Build parts ............................ libs examples tools
    Qt modules and options:
      Qt Concurrent .......................... yes
      Qt D-Bus ............................... yes
      Qt D-Bus directly linked to libdbus .... no
      Qt Gui ................................. yes
      Qt Network ............................. yes
      Qt Sql ................................. yes
      Qt Testlib ............................. yes
      Qt Widgets ............................. yes
      Qt Xml ................................. yes
    Support enabled for:
      Using pkg-config ....................... yes
      udev ................................... no
      Using system zlib ...................... yes
      Zstandard support ...................... no
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      GLib ................................... yes
      iconv .................................. no
      ICU .................................... yes
      Built-in copy of the MIME database ..... yes
      Tracing backend ........................ <none>
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      PCRE2 .................................. yes
        Using system PCRE2 ................... no
    Qt Network:
      getifaddrs() ........................... yes
      IPv6 ifname ............................ yes
      libproxy ............................... no
      Linux AF_NETLINK ....................... yes
      OpenSSL ................................ yes
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ yes
      DTLS ................................... yes
      OCSP-stapling .......................... yes
      SCTP ................................... no
      Use system proxies ..................... yes
      GSSAPI ................................. no
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ yes
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ yes
      Fontconfig ............................. yes
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... yes
        PNG .................................. yes
          Using system libpng ................ yes
      Text formats:
        HtmlParser ........................... yes
        CssParser ............................ yes
        OdfWriter ............................ yes
        MarkdownReader ....................... yes
          Using system libmd4c ............... no
        MarkdownWriter ....................... yes
      EGL .................................... yes
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... yes
        OpenGL ES 2.0 ........................ no
        OpenGL ES 3.0 ........................ no
        OpenGL ES 3.1 ........................ no
        OpenGL ES 3.2 ........................ no
      Vulkan ................................. yes
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. no
      xkbcommon .............................. no
      X11 specific:
        XLib ................................. yes
        XCB Xlib ............................. yes
        EGL on X11 ........................... yes
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. yes
      EGLFS details:
        EGLFS OpenWFD ........................ no
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS RCAR ........................... no
        EGLFS EGLDevice ...................... yes
        EGLFS GBM ............................ no
        EGLFS VSP2 ........................... no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... no
        EGLFS X11 ............................ yes
      LinuxFB ................................ yes
      VNC .................................... yes
    Qt Sql:
      SQL item models ........................ yes
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows
    Qt PrintSupport:
      CUPS ................................... no
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. yes
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. yes
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no
    Qt Testlib:
      Tester for item models ................. yes
     
    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into '/home/oreilly/Qt/5.14.2/gcc_64'.
     
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by jsulm
    #2

    @Tom-asso said in Problem building qtbase from source:

    Executing that .run file a few months ago seemed to build all of the Qt libraries

    It did not build anything as the installer contains prebuild libraries.

    "and I type ‘qmake’" - use absolute path to qmake to make sure you use the correct qmake.
    Also you should do out of source build:

    mkdir qt_build
    cd qt_build
    PATH_TO_QMAKE/qmake PATH_TO_QT_SRC/qtbase
    make -j 4
    

    Use "-j n" parameter where n is the number of logical cores of your CPU. Will accelerate the build.

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    Tom assoT 1 Reply Last reply
    2
    • jsulmJ jsulm

      @Tom-asso said in Problem building qtbase from source:

      Executing that .run file a few months ago seemed to build all of the Qt libraries

      It did not build anything as the installer contains prebuild libraries.

      "and I type ‘qmake’" - use absolute path to qmake to make sure you use the correct qmake.
      Also you should do out of source build:

      mkdir qt_build
      cd qt_build
      PATH_TO_QMAKE/qmake PATH_TO_QT_SRC/qtbase
      make -j 4
      

      Use "-j n" parameter where n is the number of logical cores of your CPU. Will accelerate the build.

      Tom assoT Offline
      Tom assoT Offline
      Tom asso
      wrote on last edited by Tom asso
      #3

      @jsulm - thanks, I followed your suggested steps, but make gets an error looking for a vulkan header:

      % mkdir ~/qt-build
      % cd ~/qt-build
       
      % which qmake
      /home/oreilly/Qt/5.14.2/gcc_64/bin/qmake  # This is the correct qmake
       
      % qmake ~/Qt/5.14.2/Src/qtbase/ 2>&1 | tee qmake.out
      % make -j 4 2>&1 | tee make.out
       
       [ After several minutes ]
       
      /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/include/QtGui/5.14.2/QtGui/private/qvulkanfunctions_p.h:1:10: fatal error: ../../../../../src/gui/vulkan/qvulkanfunctions_p.h: No such file or directory
       #include "../../../../../src/gui/vulkan/qvulkanfunctions_p.h"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      

      I do see that vulkan header file in my QT source directory, but in a different path (i.e. not in "src/gui/vulkan"):

      $QT_HOME/5.14.2/Src/qtbase/include/QtGui/5.14.2/QtGui/private/qvulkanfunctions_p.h

      qtbase/src/gui/vulkan contains qvulkanfunctions.cpp, but not the header file.

      Here is the configuration summary generated by the qmake step:

      Configure summary:
      
      Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
      Compiler: gcc 7.5.0
      Configuration: sse2 aesni 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 rdrnd shani x86SimdAlways shared shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports reduce_relocations stl
      Build options:
        Mode ................................... release
        Optimize release build for size ........ no
        Building shared libraries .............. yes
        Using C standard ....................... C11
        Using C++ standard ..................... C++17
        Using ccache ........................... no
        Using new DTAGS ........................ yes
        Relocatable ............................ yes
        Using precompiled headers .............. yes
        Using LTCG ............................. no
        Target compiler supports:
          SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
          AVX .................................. AVX AVX2
          AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
          Other x86 ............................ AES F16C RDRAND SHA
          Intrinsics without -mXXX option ...... yes
        Build parts ............................ libs examples tools
      Qt modules and options:
        Qt Concurrent .......................... yes
        Qt D-Bus ............................... yes
        Qt D-Bus directly linked to libdbus .... yes
        Qt Gui ................................. yes
        Qt Network ............................. yes
        Qt Sql ................................. yes
        Qt Testlib ............................. yes
        Qt Widgets ............................. yes
        Qt Xml ................................. yes
      Support enabled for:
        Using pkg-config ....................... yes
        udev ................................... no
        Using system zlib ...................... yes
        Zstandard support ...................... no
      Qt Core:
        DoubleConversion ....................... yes
          Using system DoubleConversion ........ no
        GLib ................................... yes
        iconv .................................. no
        ICU .................................... yes
        Built-in copy of the MIME database ..... yes
        Tracing backend ........................ <none>
        Logging backends:
          journald ............................. no
          syslog ............................... no
          slog2 ................................ no
        PCRE2 .................................. yes
          Using system PCRE2 ................... no
      Qt Network:
        getifaddrs() ........................... yes
        IPv6 ifname ............................ yes
        libproxy ............................... no
        Linux AF_NETLINK ....................... yes
        OpenSSL ................................ yes
          Qt directly linked to OpenSSL ........ no
        OpenSSL 1.1 ............................ yes
        DTLS ................................... yes
        OCSP-stapling .......................... yes
        SCTP ................................... no
        Use system proxies ..................... yes
        GSSAPI ................................. no
      Qt Gui:
        Accessibility .......................... yes
        FreeType ............................... yes
          Using system FreeType ................ yes
        HarfBuzz ............................... yes
          Using system HarfBuzz ................ yes
        Fontconfig ............................. yes
        Image formats:
          GIF .................................. yes
          ICO .................................. yes
          JPEG ................................. yes
            Using system libjpeg ............... yes
          PNG .................................. yes
            Using system libpng ................ yes
        Text formats:
          HtmlParser ........................... yes
          CssParser ............................ yes
          OdfWriter ............................ yes
          MarkdownReader ....................... yes
            Using system libmd4c ............... no
          MarkdownWriter ....................... yes
        EGL .................................... yes
        OpenVG ................................. no
        OpenGL:
          Desktop OpenGL ....................... yes
          OpenGL ES 2.0 ........................ no
          OpenGL ES 3.0 ........................ no
          OpenGL ES 3.1 ........................ no
          OpenGL ES 3.2 ........................ no
        Vulkan ................................. yes
        Session Management ..................... yes
      Features used by QPA backends:
        evdev .................................. yes
        libinput ............................... no
        INTEGRITY HID .......................... no
        mtdev .................................. no
        tslib .................................. no
        xkbcommon .............................. no
        X11 specific:
          XLib ................................. yes
          XCB Xlib ............................. yes
          EGL on X11 ........................... yes
      QPA backends:
        DirectFB ............................... no
        EGLFS .................................. yes
        EGLFS details:
          EGLFS OpenWFD ........................ no
          EGLFS i.Mx6 .......................... no
          EGLFS i.Mx6 Wayland .................. no
          EGLFS RCAR ........................... no
          EGLFS EGLDevice ...................... yes
          EGLFS GBM ............................ no
          EGLFS VSP2 ........................... no
          EGLFS Mali ........................... no
          EGLFS Raspberry Pi ................... no
          EGLFS X11 ............................ yes
        LinuxFB ................................ yes
        VNC .................................... yes
      Qt Sql:
        SQL item models ........................ yes
      Qt Widgets:
        GTK+ ................................... no
        Styles ................................. Fusion Windows
      Qt PrintSupport:
        CUPS ................................... no
      Qt Sql Drivers:
        DB2 (IBM) .............................. no
        InterBase .............................. no
        MySql .................................. yes
        OCI (Oracle) ........................... no
        ODBC ................................... yes
        PostgreSQL ............................. yes
        SQLite2 ................................ no
        SQLite ................................. yes
          Using system provided SQLite ......... no
        TDS (Sybase) ........................... no
      Qt Testlib:
        Tester for item models ................. yes
      
      Qt is now configured for building. Just run 'make'.
      Once everything is built, you must run 'make install'.
      Qt will be installed into '/home/oreilly/Qt/5.14.2/gcc_64'.
      
      Prior to reconfiguration, make sure you remove any leftovers from
      the previous build.
      
      
      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #4

        Hi,

        qtbase is not built with qmake.

        If you modify it, just call make in the root folder of your qtbase build. You can be more precise using the Ce option with the sub folder you actually want to build.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        1
        • Tom assoT Offline
          Tom assoT Offline
          Tom asso
          wrote on last edited by Tom asso
          #5

          Thanks @SGaist - we are still talking about the code installed by executing qt-opensource-linux-x64-5.14.2.run, right? Because I do not see a Makefile in the qtbase subdirectory:

          % ls ~/Qt5.14.2/5.14.2/Src/qtbase/
          bin              header.BSD          header.MIT           LICENSE.QT-LICENSE-AGREEMENT
          config_help.txt  header.COMM         include              mkspecs
          config.tests     header.FDL          INSTALL              qmake
          configure        header.GPL          lib                  qtbase.pro
          configure.bat    header.GPL-EXCEPT   LICENSE.FDL          src
          configure.json   header.LGPL         LICENSE.GPL2         sync.profile
          configure.pri    header.LGPL3        LICENSE.GPL3         tests
          dist             header.LGPL3-COMM   LICENSE.GPL3-EXCEPT  util
          doc              header.LGPL-NOGPL2  LICENSE.LGPL3
          examples         header.LGPL-ONLY    LICENSE.LGPLv3
          

          That's why I originally ran 'qmake' in that directory, to generate a Makefile from qtbase.pro. But running 'make' with the generated Makefile gives the "*** No rule to make target 'binary'" error after several minutes.

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #6

            To build qtbase, you have to call configure. qmake is built as part of the bootstrap process.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            Tom assoT 1 Reply Last reply
            1
            • SGaistS SGaist

              To build qtbase, you have to call configure. qmake is built as part of the bootstrap process.

              Tom assoT Offline
              Tom assoT Offline
              Tom asso
              wrote on last edited by Tom asso
              #7

              @SGaist Thanks again SGaist - my apologies for all the questions, but is the procedure for building sources that come from the downloaded .run file (e.g qt-opensource-linux-x64-5.14.2.run) documented somewhere? As you suggest, I now run ./configure (instead of qmake directly), but still have problems.

              When I execute qt-opensource-linux-x64-5.14.2.run on my ubuntu 18.04 system, it places files including sources and shared libraries in $HOME/Qt5.14.2.. I can link my application with the shared libraries in $HOME/Qt5.14.2/5.14.2/gcc_64/

              Now I want to modify some source files in Qt5.14.2 qtbase

              % cd 5.14.2/Src/qtbase
              % ./configure   # builds (and runs?) qmake, generates Makefile
              

              Now if I run ‘make’ it successfully runs to completion. If I modify a qtbase source file and run ‘make’ again, it successfully builds. However ‘make’ rebuilds the libraries in 5.14.2/Src/qtbase/lib - but my app is linking with 5.14.2/gcc_64/lib. How do I “install” the rebuilt libraries into that directory? Is it ‘make install’? I tried “make install”, but it fails:

              % make install
               
              cd src/ && ( test -e Makefile || /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/bin/qmake -o Makefile /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/src.pro ) && make -f Makefile install
              make[1]: Entering directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src'
              cd tools/bootstrap/ && ( test -e Makefile || /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/bin/qmake -o Makefile /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/tools/bootstrap/bootstrap.pro ) && make -f Makefile install
              make[2]: Entering directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/tools/bootstrap'
              /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/bin/qmake -install qinstall ../../../lib/libQt5Bootstrap.a /usr/local/Qt-5.14.2/lib/libQt5Bootstrap.a
              Error copying ../../../lib/libQt5Bootstrap.a to /usr/local/Qt-5.14.2/lib/libQt5Bootstrap.a: Destination file exists
              Makefile:14154: recipe for target 'install_target' failed
              make[2]: *** [install_target] Error 3
              make[2]: Leaving directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/tools/bootstrap'
              Makefile:82: recipe for target 'sub-bootstrap-install_subtargets' failed
              make[1]: *** [sub-bootstrap-install_subtargets] Error 2
              make[1]: Leaving directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src'
              Makefile:62: recipe for target 'sub-src-install_subtargets' failed
              make: *** [sub-src-install_subtargets] Error 2
              

              If I just manually copy all libraries from 5.14.2/Src/qtbase/lib to 5.14.2/gcc_64/lib, then link my application with those, it gives this error:

              /home/oreilly/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Qml.so: undefined reference to `operator delete[](void*, unsigned long)@Qt_5'
              /home/oreilly/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Quick.so: undefined reference to `operator delete(void*, unsigned long)@Qt_5'
              collect2: error: ld returned 1 exit status
              Makefile:373: recipe for target 'mbgrdviz-2' failed
              

              So I am still missing something...

              jsulmJ 1 Reply Last reply
              0
              • Tom assoT Tom asso

                @SGaist Thanks again SGaist - my apologies for all the questions, but is the procedure for building sources that come from the downloaded .run file (e.g qt-opensource-linux-x64-5.14.2.run) documented somewhere? As you suggest, I now run ./configure (instead of qmake directly), but still have problems.

                When I execute qt-opensource-linux-x64-5.14.2.run on my ubuntu 18.04 system, it places files including sources and shared libraries in $HOME/Qt5.14.2.. I can link my application with the shared libraries in $HOME/Qt5.14.2/5.14.2/gcc_64/

                Now I want to modify some source files in Qt5.14.2 qtbase

                % cd 5.14.2/Src/qtbase
                % ./configure   # builds (and runs?) qmake, generates Makefile
                

                Now if I run ‘make’ it successfully runs to completion. If I modify a qtbase source file and run ‘make’ again, it successfully builds. However ‘make’ rebuilds the libraries in 5.14.2/Src/qtbase/lib - but my app is linking with 5.14.2/gcc_64/lib. How do I “install” the rebuilt libraries into that directory? Is it ‘make install’? I tried “make install”, but it fails:

                % make install
                 
                cd src/ && ( test -e Makefile || /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/bin/qmake -o Makefile /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/src.pro ) && make -f Makefile install
                make[1]: Entering directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src'
                cd tools/bootstrap/ && ( test -e Makefile || /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/bin/qmake -o Makefile /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/tools/bootstrap/bootstrap.pro ) && make -f Makefile install
                make[2]: Entering directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/tools/bootstrap'
                /home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/bin/qmake -install qinstall ../../../lib/libQt5Bootstrap.a /usr/local/Qt-5.14.2/lib/libQt5Bootstrap.a
                Error copying ../../../lib/libQt5Bootstrap.a to /usr/local/Qt-5.14.2/lib/libQt5Bootstrap.a: Destination file exists
                Makefile:14154: recipe for target 'install_target' failed
                make[2]: *** [install_target] Error 3
                make[2]: Leaving directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src/tools/bootstrap'
                Makefile:82: recipe for target 'sub-bootstrap-install_subtargets' failed
                make[1]: *** [sub-bootstrap-install_subtargets] Error 2
                make[1]: Leaving directory '/home/oreilly/Qt5.14.2/5.14.2/Src/qtbase/src'
                Makefile:62: recipe for target 'sub-src-install_subtargets' failed
                make: *** [sub-src-install_subtargets] Error 2
                

                If I just manually copy all libraries from 5.14.2/Src/qtbase/lib to 5.14.2/gcc_64/lib, then link my application with those, it gives this error:

                /home/oreilly/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Qml.so: undefined reference to `operator delete[](void*, unsigned long)@Qt_5'
                /home/oreilly/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Quick.so: undefined reference to `operator delete(void*, unsigned long)@Qt_5'
                collect2: error: ld returned 1 exit status
                Makefile:373: recipe for target 'mbgrdviz-2' failed
                

                So I am still missing something...

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #8

                @Tom-asso Since you're you're installing into /usr/local you should call make install with sudo.

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                Tom assoT 1 Reply Last reply
                2
                • jsulmJ jsulm

                  @Tom-asso Since you're you're installing into /usr/local you should call make install with sudo.

                  Tom assoT Offline
                  Tom assoT Offline
                  Tom asso
                  wrote on last edited by
                  #9

                  @jsulm - ah, you are right of course!

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by SGaist
                    #10

                    Note that if you want to hack on Qt itself, you can use the developer-build and it will do an in place build. However it should not be used to build software releases as it toggles some flags for development.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    Tom assoT 1 Reply Last reply
                    1
                    • SGaistS SGaist

                      Note that if you want to hack on Qt itself, you can use the developer-build and it will do an in place build. However it should not be used to build software releases as it toggles some flags for development.

                      Tom assoT Offline
                      Tom assoT Offline
                      Tom asso
                      wrote on last edited by
                      #11

                      @SGaist - could you please explain? What is the "developer build", and what is the "development.3" flag?
                      I would like to modify qtdatavisualization3d for my app, then freely distribute to users on a non-commercial basis - which source file should I be using in that case?
                      Thanks!

                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #12

                        The 3 was a typo.
                        As I wrote, it will trigger an in-place build, meaning that you won't have to call make install each time you want to test your modifications.

                        In that case, you should only build that module rather than the whole of Qt.

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        Tom assoT 1 Reply Last reply
                        1
                        • SGaistS SGaist

                          The 3 was a typo.
                          As I wrote, it will trigger an in-place build, meaning that you won't have to call make install each time you want to test your modifications.

                          In that case, you should only build that module rather than the whole of Qt.

                          Tom assoT Offline
                          Tom assoT Offline
                          Tom asso
                          wrote on last edited by
                          #13

                          @SGaist - thanks. Earlier you mentioned a "Ce" option to specify a particular sub-folder to build. Can you please refer me to a page describing how to use that?
                          Thanks!

                          1 Reply Last reply
                          0
                          • Tom assoT Offline
                            Tom assoT Offline
                            Tom asso
                            wrote on last edited by
                            #14

                            @SGaist - after building in-place with 'make', the libraries are scattered among many different subdirectories. What is the best way to link against those, when there are in so many different places?
                            Thanks!

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #15

                              Did you do a build from scratch after adding that option to your configure line ?

                              With a developer build you should have all binaries in qtbase/bin and the libraries in qtbase/lib.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              Tom assoT 1 Reply Last reply
                              1
                              • SGaistS SGaist

                                Did you do a build from scratch after adding that option to your configure line ?

                                With a developer build you should have all binaries in qtbase/bin and the libraries in qtbase/lib.

                                Tom assoT Offline
                                Tom assoT Offline
                                Tom asso
                                wrote on last edited by
                                #16

                                @SGaist - yes I see them there, thanks.
                                Earlier you mentioned a "Ce" option to specify a particular sub-folder to build. Can you please refer me to a page describing how to use that?
                                Thanks!

                                1 Reply Last reply
                                0
                                • Tom assoT Offline
                                  Tom assoT Offline
                                  Tom asso
                                  wrote on last edited by
                                  #17

                                  I do not see a qtcreator executable after building qt-everywhere-src-5.14.2. Is that expected?
                                  I built with these configure options: -qt-xcb -recheck-all -debug -developer-build

                                  1 Reply Last reply
                                  0
                                  • SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #18

                                    Yes it is to be expected, Qt Creator is a independent project.

                                    Interested in AI ? www.idiap.ch
                                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    1
                                    • S sefo referenced this topic on

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved