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. QT5 build: CC: No such file or directory
Forum Updated to NodeBB v4.3 + New Features

QT5 build: CC: No such file or directory

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
69 Posts 4 Posters 15.2k 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.
  • SGaistS SGaist

    @Michele31415 said in QT5 build: CC: No such file or directory:

    @SGaist Yup, configure ran cleanly through this time, first try. Assuming the gmake works, I'm wondering about this bit:

    Qt is now configured for building. Just run 'gmake'.
    Once everything is built, you must run 'gmake install'.
    Qt is now configured for building. Just run 'gmake'.
    Once everything is built, you must run 'gmake install'.
    Qt will be installed into
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    

    That line that says "Qt will be installed into" just ends in space. Have I missed something else now?

    If you used the same line as in your initial post, you are doing a developer build and hence it won't be installed. It's an "in place" build.

    Unless you want to hack on Qt, you should drop that option as it changes some flags (I don't remember which though).

    M Offline
    M Offline
    Michele31415
    wrote on last edited by Michele31415
    #39

    @SGaist "If you used the same line as in your initial post"
    Arrgh, yes I did. OK, we start over again. This time:

    /opt/qt5/qt5-build $ ../configure  -opensource -nomake examples -nomake tests -platform solaris-g++
    

    This also worked. Now starting gmake -j16 again.
    UPDATE:
    It just doesn't seem to like qvncscreen.cpp:

    /opt/qt5/qtbase/src/plugins/platforms/vnc/qvncscreen.cpp: In member function ‘bool QVncScreen::swapBytes() const’:
    /opt/qt5/qtbase/src/plugins/platforms/vnc/qvncscreen.cpp:182:24: error: invalid use of incomplete type ‘class QScreen’
      182 |         return screen()->frameBufferLittleEndian();
          |                        ^~
    In file included from ../../../../include/QtGui/qcursor.h:1,
                     from ../../../../include/QtGui/5.8.0/QtGui/qpa/../../../../../../../qtbase/src/gui/kernel/qplatformscreen.h:60,
                     from ../../../../include/QtGui/5.8.0/QtGui/qpa/qplatformscreen.h:1,
                     from ../../../../include/QtFbSupport/5.8.0/QtFbSupport/private/../../../../../../../qtbase/src/platformsupport/fbconvenience/qfbscreen_p.h:54,
                     from ../../../../include/QtFbSupport/5.8.0/QtFbSupport/private/qfbscreen_p.h:1,
                     from /opt/qt5/qtbase/src/plugins/platforms/vnc/qvncscreen.h:43,
                     from /opt/qt5/qtbase/src/plugins/platforms/vnc/qvncscreen.cpp:40:
    ../../../../include/QtGui/../../../../qtbase/src/gui/kernel/qcursor.h:51:7: note: forward declaration of ‘class QScreen’
       51 | class QScreen;
          |       ^~~~~~~
    /opt/qt5/qtbase/src/plugins/platforms/vnc/qvncscreen.cpp:183:12: error: ‘frameBufferLittleEndian’ was not declared in this scope
      183 |     return frameBufferLittleEndian();
          |            ^~~~~~~~~~~~~~~~~~~~~~~
    gmake[5]: *** [Makefile:2355: .obj/qvncscreen.o] Error 1
    gmake[5]: Leaving directory '/opt/qt5/qt5-build/qtbase/src/plugins/platforms/vnc'
    gmake[4]: *** [Makefile:121: sub-vnc-make_first] Error 2
    gmake[4]: Leaving directory '/opt/qt5/qt5-build/qtbase/src/plugins/platforms'
    gmake[3]: *** [Makefile:100: sub-platforms-make_first] Error 2
    gmake[3]: Leaving directory '/opt/qt5/qt5-build/qtbase/src/plugins'
    gmake[2]: *** [Makefile:669: sub-plugins-make_first] Error 2
    gmake[2]: Leaving directory '/opt/qt5/qt5-build/qtbase/src'
    gmake[1]: *** [Makefile:47: sub-src-make_first] Error 2
    gmake[1]: Leaving directory '/opt/qt5/qt5-build/qtbase'
    gmake: *** [Makefile:85: module-qtbase-make_first] Error 2
    /opt/qt5/qt5-build $
    

    And indeed this seems to be MIA:

    /opt/qt5 $ ggrep -rl "frameBufferLittleEndian" .           
    ./qtbase/src/plugins/platforms/vnc/qvncscreen.cpp
    /opt/qt5 $
    
    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by SGaist
      #40

      @Michele31415 said in QT5 build: CC: No such file or directory:

      frameBufferLittleEndian

      You might be the first person building that plugin on a big endian system.

      AFAIK, that call should be commented out with a Todo comment and the method do nothing and return false.

      I'd recommend doing that so your build can continue.

      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
      0
      • M Offline
        M Offline
        Michele31415
        wrote on last edited by
        #41

        I was actually wondering about that. So I've now changed that block at the end of qvncscreen.cpp to read

        #if Q_BYTE_ORDER == Q_BIG_ENDIAN
        bool QVncScreen::swapBytes() const
        //bool QVNCScreen::swapBytes() const
        {
            if (depth() != 16)
                return false;
        
        //    if (screen())
        //        return screen()->frameBufferLittleEndian();
        //    return frameBufferLittleEndian();
            return false ;
        }
        #endif
        

        Now we're getting

        /opt/qt5/qtbase/src/plugins/platforms/vnc/qvncclient.cpp:642:9: error: ‘qvnc_screen’ was not declared in this scope
          642 |     if (qvnc_screen->swapBytes())
        

        I'll have to see if qvnc_screen is actually declared anywhere.

        M 1 Reply Last reply
        0
        • M Michele31415

          I was actually wondering about that. So I've now changed that block at the end of qvncscreen.cpp to read

          #if Q_BYTE_ORDER == Q_BIG_ENDIAN
          bool QVncScreen::swapBytes() const
          //bool QVNCScreen::swapBytes() const
          {
              if (depth() != 16)
                  return false;
          
          //    if (screen())
          //        return screen()->frameBufferLittleEndian();
          //    return frameBufferLittleEndian();
              return false ;
          }
          #endif
          

          Now we're getting

          /opt/qt5/qtbase/src/plugins/platforms/vnc/qvncclient.cpp:642:9: error: ‘qvnc_screen’ was not declared in this scope
            642 |     if (qvnc_screen->swapBytes())
          

          I'll have to see if qvnc_screen is actually declared anywhere.

          M Offline
          M Offline
          Michele31415
          wrote on last edited by
          #42

          I had to comment this out in qvncclient.cpp (probably not a good thing to do but I don't know what this is for and I don't really need VNC in QT anyway)::

          #if Q_BYTE_ORDER == Q_BIG_ENDIAN
              //    m_swapBytes = qvnc_screen->swapBytes();
          #endif
          

          Now it's finally linking but still not happy with some qtserialbus stuff:

          /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.sold: 
          fatal: symbol referencing errors
          ld: fatal: symbol referencing errors
          collect2: error: ld returned 1 exit status
          collect2: error: ld returned 1 exit status
          gmake[5]: *** [Makefile:74: ../../../../plugins/canbus/libqtpeakcanbus.so] Error 1
          gmake[5]: Leaving directory '/opt/qt5/qt5-build/qtserialbus/src/plugins/canbus/peakcan'
          gmake[5]: *** [Makefile:74: ../../../../plugins/canbus/libqttinycanbus.so] Error 1
          gmake[5]: Leaving directory '/opt/qt5/qt5-build/qtserialbus/src/plugins/canbus/tinycan'
          gmake[4]: *** [Makefile:69: sub-tinycan-make_first] Error 2
          gmake[4]: *** Waiting for unfinished jobs....
          gmake[4]: *** [Makefile:44: sub-peakcan-make_first] Error 2
          gmake[4]: Leaving directory '/opt/qt5/qt5-build/qtserialbus/src/plugins/canbus'
          gmake[3]: *** [Makefile:43: sub-canbus-make_first] Error 2
          gmake[3]: Leaving directory '/opt/qt5/qt5-build/qtserialbus/src/plugins'
          gmake[2]: *** [Makefile:70: sub-plugins-make_first] Error 2
          gmake[2]: Leaving directory '/opt/qt5/qt5-build/qtserialbus/src'
          gmake[1]: *** [Makefile:45: sub-src-make_first] Error 2
          gmake[1]: Leaving directory '/opt/qt5/qt5-build/qtserialbus'
          gmake: *** [Makefile:235: module-qtserialbus-make_first] Error 2
          

          I'm not particularly interested in the serial bus. Can I exclude this somehow? I grepped the configure --help for "serial" but came up empty.

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

            You can add a -skip <module_to_skip> to the configure command for all modules you do not want to build.

            When you have such build error, you should restart the build single threaded so you get the exact point where it failed. Here it is lost somewhere in one of the threads used for the build process.

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

            M 1 Reply Last reply
            0
            • SGaistS SGaist

              You can add a -skip <module_to_skip> to the configure command for all modules you do not want to build.

              When you have such build error, you should restart the build single threaded so you get the exact point where it failed. Here it is lost somewhere in one of the threads used for the build process.

              M Offline
              M Offline
              Michele31415
              wrote on last edited by
              #44

              @SGaist The errors seem to be in qtserialbus and MathExtras, Are those the names I'd put in -skip? (Or is there an easy fix for these?)
              ...

              ld: warning: ld: warning: file libQt5SerialPort.so.5: required by /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so, not found
              ...
              /opt/qt5/qtdeclarative/src/3rdparty/masm/wtf/MathExtras.h: At global scope:
              /opt/qt5/qtdeclarative/src/3rdparty/masm/wtf/MathExtras.h:96:13: error: redefinition of ‘bool std::isfinite(double)’
              ...
              In file included from /opt/qt5/qtdeclarative/src/qml/compiler/qv4compiler.cpp:46:
              /opt/qt5/qtdeclarative/src/3rdparty/masm/wtf/MathExtras.h:99:13: error: redefinition of ‘bool std::signbit(double)’
              ...
              In file included from /opt/qt5/qtdeclarative/src/qml/compiler/qv4compiler.cpp:46:
              /opt/qt5/qtdeclarative/src/3rdparty/masm/wtf/MathExtras.h:102:13: error: redefinition of ‘bool std::isinf(double)’
              
              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #45

                The skip option is only for module names.

                As for the Qt declarative issue... gcc 10 is supported on Linux so it does look a bit strange...

                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
                0
                • M Offline
                  M Offline
                  Michele31415
                  wrote on last edited by Michele31415
                  #46

                  What name should I give configure -skip to exclude the requirement for libQt5SerialPort.so?
                  Oh wait a minute, I do have that library:

                  /opt/qt5/qt5-build/qtserialbus/lib $ ls
                  cmake                     libQt5SerialBus.so        libQt5SerialBus.so.5.8.0
                  libQt5SerialBus.la        libQt5SerialBus.so.5      pkgconfig
                  libQt5SerialBus.prl       libQt5SerialBus.so.5.8
                  /opt/qt5/qt5-build/qtserialbus/lib $
                  

                  So why is it saying:

                  g++ -z defs -Wl,-R,/lib -shared -o libqttinycanbus.so .obj/main.o .obj/tinycanbackend.o .obj/moc_tinycanbackend.o  -L/usr/sfw/lib -L/opt/qt5/qt5-build/qtserialbus/lib -lQt5SerialBus -L/opt/qt5/qt5-build/qtbase/lib -lQt5Core -lpthread -lrt  
                  ld: warning: ld: warning: file libQt5SerialPort.so.5: required by /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so, not found
                  file libQt5SerialPort.so.5: required by /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so, not found
                  Undefined			first referenced
                   symbol  			    in file
                  _ZN11QSerialPort9setParityENS_6ParityE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  Undefined			first referenced
                   symbol  			    in file
                  _ZN11QSerialPort11setStopBitsENS_8StopBitsE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPort9setParityENS_6ParityE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPort5clearE6QFlagsINS_9DirectionEE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPort11setStopBitsENS_8StopBitsE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPort11setBaudRateEi6QFlagsINS_9DirectionEE _ZN11QSerialPort5clearE6QFlagsINS_9DirectionEE/opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                   /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPortC1EP7QObject        /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPort11setBaudRateEi6QFlagsINS_9DirectionEE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPort11setDataBitsENS_8DataBitsE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPortC1EP7QObject_ZN11QSerialPort5errorENS_15SerialPortErrorE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                         _ZN11QSerialPort16staticMetaObjectE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                   /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  _ZN11QSerialPort11setPortNameERK7QString_ZN11QSerialPort11setDataBitsENS_8DataBitsE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                   _ZN11QSerialPort5errorENS_15SerialPortErrorE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so_ZN11QSerialPort16staticMetaObjectE /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.so
                  
                  _ZN11QSerialPort11setPortNameERK7QStringld:  /opt/qt5/qt5-build/qtserialbus/lib/libQt5SerialBus.sofatal: symbol referencing errors
                  
                  ld: fatal: symbol referencing errors
                  
                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #47

                    "-skip qtserialbus" for example.

                    Looks like your machine goes too fast :-D

                    Try building the qtserialport module before qtserialbus

                    You can use "make -C qtserialport" and then go on with your build.

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

                    M 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      "-skip qtserialbus" for example.

                      Looks like your machine goes too fast :-D

                      Try building the qtserialport module before qtserialbus

                      You can use "make -C qtserialport" and then go on with your build.

                      M Offline
                      M Offline
                      Michele31415
                      wrote on last edited by
                      #48

                      @SGaist That worked:

                      /opt/qt5/qt5-build $ gmake -C qtserialport
                      gmake: Entering directory '/opt/qt5/qt5-build/qtserialport'
                      cd src/ && ( test -e Makefile || /opt/qt5/qt5-build/qtbase/bin/qmake -o Makefile /opt/qt5/qtserialport/src/src.pro -qtconf /opt/qt5/qt5-build/qtbase/bin/qt.conf -- -opensource -nomake examples -nomake tests -platform solaris-g++ ) && gmake -f Makefile 
                      gmake[1]: Entering directory '/opt/qt5/qt5-build/qtserialport/src'
                      cd serialport/ && ( test -e Makefile || /opt/qt5/qt5-build/qtbase/bin/qmake -o Makefile /opt/qt5/qtserialport/src/serialport/serialport.pro -qtconf /opt/qt5/qt5-build/qtbase/bin/qt.conf -- -opensource -nomake examples -nomake tests -platform solaris-g++ ) && gmake -f Makefile 
                      gmake[2]: Entering directory '/opt/qt5/qt5-build/qtserialport/src/serialport'
                      gmake[2]: Nothing to be done for 'first'.
                      gmake[2]: Leaving directory '/opt/qt5/qt5-build/qtserialport/src/serialport'
                      gmake[1]: Leaving directory '/opt/qt5/qt5-build/qtserialport/src'
                      gmake: Leaving directory '/opt/qt5/qt5-build/qtserialport'
                      /opt/qt5/qt5-build $
                      

                      I'm doing the gmake over again without -j anything. Even though I don't think -j16 is particularly ambitious, sometimes it gets ahead of itself. It just takes forever with only one CPU on the job.

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

                        What I do is usually start with multithreaded and if it fails go back to single threaded, fix the issue and start again with multithreaded.

                        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
                        • M Offline
                          M Offline
                          Michele31415
                          wrote on last edited by
                          #50

                          I've started doing that too. In any case, with this:

                          /opt/qt5/qt5-build $ ../configure  -opensource -nomake examples -nomake tests -platform solaris-g++ -skip qtserialbus
                          

                          we're now going much further but are not there yet.

                          /opt/qt5/qtbase/src/tools/moc/moc.cpp: In member function ‘void Moc::parseSlots(ClassDef*, FunctionDef::Access)’:
                          /opt/qt5/qtbase/src/tools/moc/moc.cpp:1049:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
                           1049 |             error("'using' directive not supported in 'slots' section");
                                |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          /opt/qt5/qtbase/src/tools/moc/moc.cpp:1050:9: note: here
                           1050 |         default:
                                |         ^~~~~~~
                          /opt/qt5/qtbase/src/tools/moc/moc.cpp: In member function ‘void Moc::parseSignals(ClassDef*)’:
                          /opt/qt5/qtbase/src/tools/moc/moc.cpp:1103:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
                           1103 |             error("'using' directive not supported in 'signals' section");
                                |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          /opt/qt5/qtbase/src/tools/moc/moc.cpp:1104:9: note: here
                           1104 |         default:
                                |         ^~~~~~~
                          

                          Honestly, this error is mystifying.

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

                            That one is just a warning. Does it error out on this warning ?

                            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
                            0
                            • M Michele31415

                              I've started doing that too. In any case, with this:

                              /opt/qt5/qt5-build $ ../configure  -opensource -nomake examples -nomake tests -platform solaris-g++ -skip qtserialbus
                              

                              we're now going much further but are not there yet.

                              /opt/qt5/qtbase/src/tools/moc/moc.cpp: In member function ‘void Moc::parseSlots(ClassDef*, FunctionDef::Access)’:
                              /opt/qt5/qtbase/src/tools/moc/moc.cpp:1049:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
                               1049 |             error("'using' directive not supported in 'slots' section");
                                    |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              /opt/qt5/qtbase/src/tools/moc/moc.cpp:1050:9: note: here
                               1050 |         default:
                                    |         ^~~~~~~
                              /opt/qt5/qtbase/src/tools/moc/moc.cpp: In member function ‘void Moc::parseSignals(ClassDef*)’:
                              /opt/qt5/qtbase/src/tools/moc/moc.cpp:1103:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
                               1103 |             error("'using' directive not supported in 'signals' section");
                                    |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              /opt/qt5/qtbase/src/tools/moc/moc.cpp:1104:9: note: here
                               1104 |         default:
                                    |         ^~~~~~~
                              

                              Honestly, this error is mystifying.

                              M Offline
                              M Offline
                              Michele31415
                              wrote on last edited by
                              #52

                              Hah! That joke's on me. (From now on I'll search for "error:" instead of just "error") Here's the real error:

                              ...
                              In file included from /opt/qt5/qt3d/src/3rdparty/assimp/code/StreamReader.h:48,
                                               from /opt/qt5/qt3d/src/3rdparty/assimp/code/AssimpPCH.h:151,
                                               from /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:48:
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = short unsigned int; std::size_t = long unsigned int; uint8_t = unsigned char]’:
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:93:44:   required from here
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/ByteSwap.h:207:36: error: lvalue required as unary ‘&’ operand
                                207 | # define AI_BE(t) ByteSwap::Swapped(t)
                                    |                   ~~~~~~~~~~~~~~~~~^~~
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:85:22: note: in expansion of macro ‘AI_BE’
                                 85 |   std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
                                    |                      ^~~~~
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = unsigned int; std::size_t = long unsigned int; uint8_t = unsigned char]’:
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:94:44:   required from here
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/ByteSwap.h:207:36: error: lvalue required as unary ‘&’ operand
                                207 | # define AI_BE(t) ByteSwap::Swapped(t)
                                    |                   ~~~~~~~~~~~~~~~~~^~~
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:85:22: note: in expansion of macro ‘AI_BE’
                                 85 |   std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
                                    |                      ^~~~~
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = int; std::size_t = long unsigned int; uint8_t = unsigned char]’:
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:108:42:   required from here
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/ByteSwap.h:207:36: error: lvalue required as unary ‘&’ operand
                                207 | # define AI_BE(t) ByteSwap::Swapped(t)
                                    |                   ~~~~~~~~~~~~~~~~~^~~
                              /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:85:22: note: in expansion of macro ‘AI_BE’
                                 85 |   std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
                                    |                      ^~~~~
                              gmake[4]: *** [Makefile:2840: .obj/Bitmap.o] Error 1
                              gmake[4]: Leaving directory '/opt/qt5/qt5-build/qt3d/src/plugins/sceneparsers/assimp'
                              gmake[3]: *** [Makefile:44: sub-assimp-make_first] Error 2
                              gmake[3]: Leaving directory '/opt/qt5/qt5-build/qt3d/src/plugins/sceneparsers'
                              gmake[2]: *** [Makefile:446: sub-plugins-sceneparsers-make_first] Error 2
                              gmake[2]: Leaving directory '/opt/qt5/qt5-build/qt3d/src'
                              gmake[1]: *** [Makefile:46: sub-src-make_first] Error 2
                              gmake[1]: Leaving directory '/opt/qt5/qt5-build/qt3d'
                              
                              JonBJ 1 Reply Last reply
                              0
                              • M Michele31415

                                Hah! That joke's on me. (From now on I'll search for "error:" instead of just "error") Here's the real error:

                                ...
                                In file included from /opt/qt5/qt3d/src/3rdparty/assimp/code/StreamReader.h:48,
                                                 from /opt/qt5/qt3d/src/3rdparty/assimp/code/AssimpPCH.h:151,
                                                 from /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:48:
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = short unsigned int; std::size_t = long unsigned int; uint8_t = unsigned char]’:
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:93:44:   required from here
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/ByteSwap.h:207:36: error: lvalue required as unary ‘&’ operand
                                  207 | # define AI_BE(t) ByteSwap::Swapped(t)
                                      |                   ~~~~~~~~~~~~~~~~~^~~
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:85:22: note: in expansion of macro ‘AI_BE’
                                   85 |   std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
                                      |                      ^~~~~
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = unsigned int; std::size_t = long unsigned int; uint8_t = unsigned char]’:
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:94:44:   required from here
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/ByteSwap.h:207:36: error: lvalue required as unary ‘&’ operand
                                  207 | # define AI_BE(t) ByteSwap::Swapped(t)
                                      |                   ~~~~~~~~~~~~~~~~~^~~
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:85:22: note: in expansion of macro ‘AI_BE’
                                   85 |   std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
                                      |                      ^~~~~
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = int; std::size_t = long unsigned int; uint8_t = unsigned char]’:
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:108:42:   required from here
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/ByteSwap.h:207:36: error: lvalue required as unary ‘&’ operand
                                  207 | # define AI_BE(t) ByteSwap::Swapped(t)
                                      |                   ~~~~~~~~~~~~~~~~~^~~
                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp:85:22: note: in expansion of macro ‘AI_BE’
                                   85 |   std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
                                      |                      ^~~~~
                                gmake[4]: *** [Makefile:2840: .obj/Bitmap.o] Error 1
                                gmake[4]: Leaving directory '/opt/qt5/qt5-build/qt3d/src/plugins/sceneparsers/assimp'
                                gmake[3]: *** [Makefile:44: sub-assimp-make_first] Error 2
                                gmake[3]: Leaving directory '/opt/qt5/qt5-build/qt3d/src/plugins/sceneparsers'
                                gmake[2]: *** [Makefile:446: sub-plugins-sceneparsers-make_first] Error 2
                                gmake[2]: Leaving directory '/opt/qt5/qt5-build/qt3d/src'
                                gmake[1]: *** [Makefile:46: sub-src-make_first] Error 2
                                gmake[1]: Leaving directory '/opt/qt5/qt5-build/qt3d'
                                
                                JonBJ Offline
                                JonBJ Offline
                                JonB
                                wrote on last edited by JonB
                                #53

                                @Michele31415 said in QT5 build: CC: No such file or directory:

                                /opt/qt5/qt3d/src/3rdparty/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = short unsigned int; std::size_t = long unsigned int; uint8_t = unsigned char]’:

                                I couldn't help searching :) https://github.com/ros/meta-ros/issues/526, in 2017

                                assimp: "error: lvalue required as unary '&' operand" on mips, mips64 and ppc

                                | /home/lukas/work/repositories/yoctoproject.org/poky/build/tmp/work/mips32r2-poky-linux/assimp/3.1.1-r0/assimp-3.1.1/code/Bitmap.cpp: In instantiation of 'std::size_t Assimp::Copy(uint8_t*, T&) [with T = short unsigned int; std::size_t = unsigned int; uint8_t = unsigned char]':

                                Dunno what you're supposed to do about it though? :)

                                I think your error has also been reported in this forum:
                                Qt 5.7.1 build in Debian (MIPS) fails.

                                @SGaist was going to deal with that topic back in 2017 :)

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  Michele31415
                                  wrote on last edited by
                                  #54

                                  "Dunno what you're supposed to do about it though? :)"
                                  Well that makes two of us. In my own search, this seems to suggest it's a programming error:
                                  https://stackoverflow.com/questions/22788026/error-lvalue-required-as-unary-operand
                                  How sayest thou, O great Gaist?

                                  JonBJ 1 Reply Last reply
                                  0
                                  • M Michele31415

                                    "Dunno what you're supposed to do about it though? :)"
                                    Well that makes two of us. In my own search, this seems to suggest it's a programming error:
                                    https://stackoverflow.com/questions/22788026/error-lvalue-required-as-unary-operand
                                    How sayest thou, O great Gaist?

                                    JonBJ Offline
                                    JonBJ Offline
                                    JonB
                                    wrote on last edited by
                                    #55

                                    @Michele31415
                                    :)
                                    Yes, it's a programming error in the code which only shows up on certain architectures. Why it has not been picked up in whatever version you are building (which is that?) I do not know.

                                    While building qt5 in Solaris 11.4 SPARC, I get:

                                    Not that I know about these things, but then are you "MIPS"?

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

                                      @JonB said in QT5 build: CC: No such file or directory:

                                      Not that I know about these things, but then are you "MIPS"?

                                      Nop, he's SPARC.

                                      As for that issue, coming from ASSIMP, it's likely something you should bring to their folks.

                                      Sadly I do not have a big endian machine to check further what is going on there.

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

                                      M 2 Replies Last reply
                                      1
                                      • SGaistS SGaist

                                        @JonB said in QT5 build: CC: No such file or directory:

                                        Not that I know about these things, but then are you "MIPS"?

                                        Nop, he's SPARC.

                                        As for that issue, coming from ASSIMP, it's likely something you should bring to their folks.

                                        Sadly I do not have a big endian machine to check further what is going on there.

                                        M Offline
                                        M Offline
                                        Michele31415
                                        wrote on last edited by Michele31415
                                        #57

                                        @SGaist "Sadly I do not have a big endian machine to check further what is going on there."
                                        Would you like an account on my machine? It's a Sun T4-1 with plenty of spare CPU cycles and a fast fiber connection. Consider it my contribution to the QT project.

                                        1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          @JonB said in QT5 build: CC: No such file or directory:

                                          Not that I know about these things, but then are you "MIPS"?

                                          Nop, he's SPARC.

                                          As for that issue, coming from ASSIMP, it's likely something you should bring to their folks.

                                          Sadly I do not have a big endian machine to check further what is going on there.

                                          M Offline
                                          M Offline
                                          Michele31415
                                          wrote on last edited by
                                          #58

                                          @SGaist I decided to press on, using the "scorched earth" method. Every time I hit an error I just commented it out. Turns out there were only two more places, in MathExtras.h. I now have a build that contains no instances of "error:". It ends thusly:

                                          ...
                                          moc_qscriptdebuggercodefinderwidgetinterface_p.o .obj/moc_qscriptdebugoutputwidgetinterface_p.o .obj/moc_qscriptdebugoutputwidget_p.o .obj/moc_qscriptbreakpointswidgetinterface_p.o .obj/moc_qscriptbreakpointsmodel_p.o .obj/moc_qscripterrorlogwidgetinterface_p.o .obj/moc_qscripterrorlogwidget_p.o  -L/usr/sfw/lib -L/usr/openwin/lib -L/opt/qt5/qt5-build/qtbase/lib -lQt5Core -lpthread -lrt -lQt5Widgets -L/usr/sfw/lib -L/usr/openwin/lib -L/opt/qt5/qt5-build/qtbase/lib -lQt5Gui -L/opt/qt5/qt5-build/qtscript/lib -lQt5Script -lQt5Core -lpthread -lrt -lGL 
                                          ln -s libQt5ScriptTools.so.5.8.0 libQt5ScriptTools.so
                                          ln -s libQt5ScriptTools.so.5.8.0 libQt5ScriptTools.so.5
                                          ln -s libQt5ScriptTools.so.5.8.0 libQt5ScriptTools.so.5.8
                                          rm -f ../../lib/libQt5ScriptTools.so.5.8.0
                                          mv -f libQt5ScriptTools.so.5.8.0  ../../lib/ 
                                          rm -f ../../lib/libQt5ScriptTools.so
                                          rm -f ../../lib/libQt5ScriptTools.so.5
                                          rm -f ../../lib/libQt5ScriptTools.so.5.8
                                          mv -f libQt5ScriptTools.so ../../lib/ 
                                          mv -f libQt5ScriptTools.so.5 ../../lib/ 
                                          mv -f libQt5ScriptTools.so.5.8 ../../lib/ 
                                          gmake[3]: Leaving directory '/opt/qt5/qt5-build/qtscript/src/scripttools'
                                          gmake[2]: Leaving directory '/opt/qt5/qt5-build/qtscript/src'
                                          gmake[1]: Leaving directory '/opt/qt5/qt5-build/qtscript'
                                          

                                          Is there some way to test it to see if it works?

                                          M 1 Reply Last reply
                                          0

                                          • Login

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