Qt 6.10.0 building from sources. GNU C++ compiler error: unrecognized command-line option ‘-R’ while using GCC 14.3.0
-
Hi. I configured QT 6.10.0 from sources using following command:
$ ./configure -shared -no-opengl -- -B build/ --fresh
After that, It gave me usual and error-free output:-- The CXX compiler identification is GNU 14.3.0 -- The C compiler identification is GNU 14.3.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/local/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/local/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- The ASM compiler identification is GNU -- Found assembler: /usr/local/bin/gcc -- Setting build type to 'Release' as none was specified. -- Configuration summary has been written </my/path/to/summary> -- Qt is now configured for building. Just run 'cmake --build . --parallel' Once everything is built, you must run 'cmake --install .' Qt will be installed into '/usr/local/Qt-6.10.0' To configure and build other Qt modules, you can use the following convenience script: /usr/local/Qt-6.10.0/bin/qt-configure-module If reconfiguration fails for some reason, try removing 'CMakeCache.txt' from the build directory Alternatively, you can add the --fresh flag to your CMake flags. -- Configuring done (32.5s) -- Generating done (1.0s) -- Build files have been written to: </my/path/to/builddir>So, process of compilation (2-nd step of Qt compilation procedure) have interrupted at the middle of it by the following error:
c++: error: unrecognized command-line option ‘-R’
[727/1726] Building CXX object src/gui/CMakeFiles/Gui.dir/painting/qdrawhelper.cpp.o
My toolchain:- GCC 14.3.0 (self-compiled, not distribution package)
- Ninja (1.13.2)
- cmake 4.4.0rc3.
So, what is the solution of aforementioned error and have you ever seen that types of errors in your practice?
Thanks
-
Hi,
Never saw that error on builds.
Can you try to grab the exact build command that triggers that issue ? -
Hi,
Never saw that error on builds.
Can you try to grab the exact build command that triggers that issue ?@SGaist Yes, here it is:
&& /usr/local/bin/c++ -fPIC -DNDEBUG -O2 -shared -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/<dir>/qtbase/build/src/network/Network.version -Wl,-z,relro,-z,now -Wl,--enable-new-dtags -R/usr/lib64 -Wl,-soname,libQt6Network.so.6 -o lib/libQt6Network.so.6.10.0 src/network/CMakeFiles/Network.dir/Network_autogen/mocs_compilation.cpp.o src/network/CMakeFiles/Network.dir/access/qabstractnetworkcache.cpp.o src/network/CMakeFiles/Network.dir/access/qhsts.cpp.o src/network/CMakeFiles/Network.dir/access/qhstspolicy.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessauthenticationmanager.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessbackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccesscache.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccesscachebackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessfilebackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessmanager.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkcookie.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkcookiejar.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkfile.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpheaders.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpheaderparser.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpheadershelper.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreply.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplydataimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplyfileimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplyimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkrequest.cpp.o src/network/CMakeFiles/Network.dir/compat/removed_api.cpp.o src/network/CMakeFiles/Network.dir/kernel/qauthenticator.cpp.o src/network/CMakeFiles/Network.dir/kernel/qhostaddress.cpp.o src/network/CMakeFiles/Network.dir/kernel/qhostinfo.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkdatagram.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkinformation.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkinterface.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkproxy.cpp.o src/network/CMakeFiles/Network.dir/socket/qabstractsocket.cpp.o src/network/CMakeFiles/Network.dir/socket/qabstractsocketengine.cpp.o src/network/CMakeFiles/Network.dir/socket/qnativesocketengine.cpp.o src/network/CMakeFiles/Network.dir/socket/qtcpserver.cpp.o src/network/CMakeFiles/Network.dir/socket/qtcpsocket.cpp.o src/network/CMakeFiles/Network.dir/socket/qudpsocket.cpp.o src/network/CMakeFiles/Network.dir/ssl/qpassworddigestor.cpp.o src/network/CMakeFiles/Network.dir/ssl/qssl.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslcertificate.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslcertificateextension.cpp.o src/network/CMakeFiles/Network.dir/ssl/qtlsbackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkdiskcache.cpp.o src/network/CMakeFiles/Network.dir/access/qhstsstore.cpp.o src/network/CMakeFiles/Network.dir/access/http2/bitstreams.cpp.o src/network/CMakeFiles/Network.dir/access/http2/hpack.cpp.o src/network/CMakeFiles/Network.dir/access/http2/hpacktable.cpp.o src/network/CMakeFiles/Network.dir/access/http2/http2frames.cpp.o src/network/CMakeFiles/Network.dir/access/http2/http2protocol.cpp.o src/network/CMakeFiles/Network.dir/access/http2/http2streams.cpp.o src/network/CMakeFiles/Network.dir/access/http2/huffman.cpp.o src/network/CMakeFiles/Network.dir/access/qabstractprotocolhandler.cpp.o src/network/CMakeFiles/Network.dir/access/qdecompresshelper.cpp.o src/network/CMakeFiles/Network.dir/access/qformdatabuilder.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp1configuration.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp2configuration.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp2connection.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp2protocolhandler.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpmultipart.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkconnection.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkconnectionchannel.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkheader.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkreply.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkrequest.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpprotocolhandler.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpthreaddelegate.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplyhttpimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkrequestfactory.cpp.o src/network/CMakeFiles/Network.dir/access/qrestaccessmanager.cpp.o src/network/CMakeFiles/Network.dir/access/qrestreply.cpp.o src/network/CMakeFiles/Network.dir/socket/qhttpsocketengine.cpp.o src/network/CMakeFiles/Network.dir/kernel/qtldurl.cpp.o src/network/CMakeFiles/Network.dir/__/3rdparty/libpsl/src/lookup_string_in_fixed_set.c.o src/network/CMakeFiles/Network.dir/kernel/qdnslookup.cpp.o src/network/CMakeFiles/Network.dir/kernel/qhostinfo_unix.cpp.o src/network/CMakeFiles/Network.dir/socket/qnativesocketengine_unix.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkinterface_linux.cpp.o src/network/CMakeFiles/Network.dir/kernel/qdnslookup_unix.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetconmonitor_stub.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkproxy_generic.cpp.o src/network/CMakeFiles/Network.dir/socket/qsocks5socketengine.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalserver.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalsocket.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalserver_unix.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalsocket_unix.cpp.o src/network/CMakeFiles/Network.dir/ssl/qocspresponse.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslcipher.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslconfiguration.cpp.o src/network/CMakeFiles/Network.dir/ssl/qssldiffiehellmanparameters.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslellipticcurve.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslerror.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslkey_p.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslpresharedkeyauthenticator.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslsocket.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslserver.cpp.o src/network/CMakeFiles/Network.dir/ssl/qdtls.cpp.o -Wl,-rpath,/<dir>/qtbase/build/lib: /usr/lib64/libgssapi_krb5.so lib/libQt6Core.so.6.10.0 -lpthread /usr/lib64/libbrotlidec.so /usr/lib64/libzstd.so.1.5.2 -pthread /usr/lib64/libz.so /usr/lib64/libresolv.so -
@SGaist Yes, here it is:
&& /usr/local/bin/c++ -fPIC -DNDEBUG -O2 -shared -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/<dir>/qtbase/build/src/network/Network.version -Wl,-z,relro,-z,now -Wl,--enable-new-dtags -R/usr/lib64 -Wl,-soname,libQt6Network.so.6 -o lib/libQt6Network.so.6.10.0 src/network/CMakeFiles/Network.dir/Network_autogen/mocs_compilation.cpp.o src/network/CMakeFiles/Network.dir/access/qabstractnetworkcache.cpp.o src/network/CMakeFiles/Network.dir/access/qhsts.cpp.o src/network/CMakeFiles/Network.dir/access/qhstspolicy.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessauthenticationmanager.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessbackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccesscache.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccesscachebackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessfilebackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkaccessmanager.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkcookie.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkcookiejar.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkfile.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpheaders.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpheaderparser.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpheadershelper.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreply.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplydataimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplyfileimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplyimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkrequest.cpp.o src/network/CMakeFiles/Network.dir/compat/removed_api.cpp.o src/network/CMakeFiles/Network.dir/kernel/qauthenticator.cpp.o src/network/CMakeFiles/Network.dir/kernel/qhostaddress.cpp.o src/network/CMakeFiles/Network.dir/kernel/qhostinfo.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkdatagram.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkinformation.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkinterface.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkproxy.cpp.o src/network/CMakeFiles/Network.dir/socket/qabstractsocket.cpp.o src/network/CMakeFiles/Network.dir/socket/qabstractsocketengine.cpp.o src/network/CMakeFiles/Network.dir/socket/qnativesocketengine.cpp.o src/network/CMakeFiles/Network.dir/socket/qtcpserver.cpp.o src/network/CMakeFiles/Network.dir/socket/qtcpsocket.cpp.o src/network/CMakeFiles/Network.dir/socket/qudpsocket.cpp.o src/network/CMakeFiles/Network.dir/ssl/qpassworddigestor.cpp.o src/network/CMakeFiles/Network.dir/ssl/qssl.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslcertificate.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslcertificateextension.cpp.o src/network/CMakeFiles/Network.dir/ssl/qtlsbackend.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkdiskcache.cpp.o src/network/CMakeFiles/Network.dir/access/qhstsstore.cpp.o src/network/CMakeFiles/Network.dir/access/http2/bitstreams.cpp.o src/network/CMakeFiles/Network.dir/access/http2/hpack.cpp.o src/network/CMakeFiles/Network.dir/access/http2/hpacktable.cpp.o src/network/CMakeFiles/Network.dir/access/http2/http2frames.cpp.o src/network/CMakeFiles/Network.dir/access/http2/http2protocol.cpp.o src/network/CMakeFiles/Network.dir/access/http2/http2streams.cpp.o src/network/CMakeFiles/Network.dir/access/http2/huffman.cpp.o src/network/CMakeFiles/Network.dir/access/qabstractprotocolhandler.cpp.o src/network/CMakeFiles/Network.dir/access/qdecompresshelper.cpp.o src/network/CMakeFiles/Network.dir/access/qformdatabuilder.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp1configuration.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp2configuration.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp2connection.cpp.o src/network/CMakeFiles/Network.dir/access/qhttp2protocolhandler.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpmultipart.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkconnection.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkconnectionchannel.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkheader.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkreply.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpnetworkrequest.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpprotocolhandler.cpp.o src/network/CMakeFiles/Network.dir/access/qhttpthreaddelegate.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkreplyhttpimpl.cpp.o src/network/CMakeFiles/Network.dir/access/qnetworkrequestfactory.cpp.o src/network/CMakeFiles/Network.dir/access/qrestaccessmanager.cpp.o src/network/CMakeFiles/Network.dir/access/qrestreply.cpp.o src/network/CMakeFiles/Network.dir/socket/qhttpsocketengine.cpp.o src/network/CMakeFiles/Network.dir/kernel/qtldurl.cpp.o src/network/CMakeFiles/Network.dir/__/3rdparty/libpsl/src/lookup_string_in_fixed_set.c.o src/network/CMakeFiles/Network.dir/kernel/qdnslookup.cpp.o src/network/CMakeFiles/Network.dir/kernel/qhostinfo_unix.cpp.o src/network/CMakeFiles/Network.dir/socket/qnativesocketengine_unix.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkinterface_linux.cpp.o src/network/CMakeFiles/Network.dir/kernel/qdnslookup_unix.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetconmonitor_stub.cpp.o src/network/CMakeFiles/Network.dir/kernel/qnetworkproxy_generic.cpp.o src/network/CMakeFiles/Network.dir/socket/qsocks5socketengine.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalserver.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalsocket.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalserver_unix.cpp.o src/network/CMakeFiles/Network.dir/socket/qlocalsocket_unix.cpp.o src/network/CMakeFiles/Network.dir/ssl/qocspresponse.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslcipher.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslconfiguration.cpp.o src/network/CMakeFiles/Network.dir/ssl/qssldiffiehellmanparameters.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslellipticcurve.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslerror.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslkey_p.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslpresharedkeyauthenticator.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslsocket.cpp.o src/network/CMakeFiles/Network.dir/ssl/qsslserver.cpp.o src/network/CMakeFiles/Network.dir/ssl/qdtls.cpp.o -Wl,-rpath,/<dir>/qtbase/build/lib: /usr/lib64/libgssapi_krb5.so lib/libQt6Core.so.6.10.0 -lpthread /usr/lib64/libbrotlidec.so /usr/lib64/libzstd.so.1.5.2 -pthread /usr/lib64/libz.so /usr/lib64/libresolv.so@Mansur-Galimov said in Qt 6.10.0 building from sources. GNU C++ compiler error: unrecognized command-line option ‘-R’ while using GCC 14.3.0:
-R/usr/lib64-Ris not an option recognised by gcc or g++ (though there is a-rpathif that was intended, may have been-Rin the past?), and I don't think by clang either. Your/usr/local/bin/c++should be a soft/symbolic link pointing to the actual compiler/linker you are using? Ah, from output you are indeed using gcc? -
@Mansur-Galimov said in Qt 6.10.0 building from sources. GNU C++ compiler error: unrecognized command-line option ‘-R’ while using GCC 14.3.0:
-R/usr/lib64-Ris not an option recognised by gcc or g++ (though there is a-rpathif that was intended, may have been-Rin the past?), and I don't think by clang either. Your/usr/local/bin/c++should be a soft/symbolic link pointing to the actual compiler/linker you are using? Ah, from output you are indeed using gcc? -
@JonB AFAIK, it's a linker operation so somewhere there's a
-Wl,that went missing from what it seems.@JonB Thanks a lot.
@SGaist Thanks a lot. You are completely right. That is CMake issue of generating Ninja build code.
I editedbuild.ninjafile with the following terminal command$ sed -Ei 's/-R/-Wl,-R/g' build/build.ninjaand compilation succeed.
P.S. CMake 4.3.3 executable had been tried but hasn't succeed too.
It seems that is CMake's fault, but notconfigureor anything else.
@SGaist, @JonB Where can I report about that error? -
I just saw that you were using a release candidate from cmake.
Can you try with an official release ?