bugGNU Octave - Bugs: bug #64836, [MXE] Build failure of Qt-6.6.0

 
 

bug #64836: [MXE] Build failure of Qt-6.6.0

Submitter:  Philip Nienhuis <philipnienhuis>
Submitted:  Sat 28 Oct 2023 10:29:24 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Philip Nienhuis Open/Closed:  * Closed
Release:  * dev Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 10 Nov 2023 10:10:15 AM UTC, comment #26: 

The buildbots seem to be happy with this change and Philip already confirmed in comment #22 that this change works for him.

Closing as fixed.

Markus Mützel <mmuetzel>
Group administrator
Sun 05 Nov 2023 11:42:20 AM UTC, comment #25: 

I pushed the change to not disable thread support in the native part of the cross build

John Donoghue <lostbard>
Group Member
Sun 05 Nov 2023 10:34:08 AM UTC, comment #24: 

Re comment #9

> Why would we need to build a native host and native target?

IIUC I suppose those are already present on at least my system - probably not the versions used by the next two bullets but good enough to crossbuild the rest.


Like you wrote earlier, you expected that MXE Octave would work "independent of, if not immune to, how the host system is configured". Apparently, the native compiler (and/or runtime libraries and/or ...) on your build system behaves differently to the one on jwe's or mine. If we liked to have MXE Octave work as you expected, we'd need to build a native compiler that behaves "predictably" also when the actual goal is to cross-build for a different host.
That is just meant to answer your question. I don't really advocate for doing that.

Markus Mützel <mmuetzel>
Group administrator
Sat 04 Nov 2023 04:28:55 PM UTC, comment #23: 

It appeared to build fine for me with threads enabled (or I should say not explicitly disabled) in fedora

John Donoghue <lostbard>
Group Member
Sat 04 Nov 2023 03:50:06 PM UTC, comment #22: 

Ah, I definitely overthought your suggestion :-) - didn't expect it to be that simple.

But the good news is that removing "thread," from that line did the trick, Qt6-qtbase got built fine as did default-octave.

I suppose that after adding that patch to the qt6-qtbase-1-fixes.patch file (assuming it won't hurt elsewhere) this bug report can be closed.

Thanks mmuetzel and lostbard for your help!

Philip Nienhuis <philipnienhuis>
Group Member
Fri 03 Nov 2023 10:40:43 PM UTC, comment #21: 

diff -r 4f34cba923a5 src/qt6-qtbase.mk
--- a/src/qt6-qtbase.mk Fri Nov 03 10:27:10 2023 -0400
+++ b/src/qt6-qtbase.mk Fri Nov 03 18:40:04 2023 -0400
@@ -78,7 +78,7 @@
         -DQT_BUILD_{TESTS,EXAMPLES,DOCS}=OFF \
         -DBUILD_WITH_PCH=OFF \
         -DFEATURE_pcre2=ON \
-        -DFEATURE_{pkg_config,eventfd,glib,gui,icu,openssl,zstd,thread,system_pcre2,sql,xml,testlib,backtrace}=OFF; \
+        -DFEATURE_{pkg_config,eventfd,glib,gui,icu,openssl,zstd,system_pcre2,sql,xml,testlib,backtrace}=OFF; \
       cmake --build '$(1).native' -j '$(JOBS)'; \
       cmake --install '$(1).native'; \
     fi

John Donoghue <lostbard>
Group Member
Fri 03 Nov 2023 09:42:13 PM UTC, comment #20: 


> another option would be remove the thread and ipc_posix = OFF and see if it helps

How do I do that? do you have a patch or diff, please?

Philip Nienhuis <philipnienhuis>
Group Member
Fri 03 Nov 2023 04:46:41 PM UTC, comment #19: 

another option would be remove the thread and ipc_posix = OFF and see if it helps

John Donoghue <lostbard>
Group Member
Fri 03 Nov 2023 04:21:22 PM UTC, comment #18: 

Disabling ipc_posix doesn't help.
Nor building with JOBS=1
I'm out of ideas :-(

"verbose log" attached (forgot it in previous comment)

(file #55299)

Philip Nienhuis <philipnienhuis>
Group Member
Fri 03 Nov 2023 02:53:14 PM UTC, comment #17: 


> I also see that mxe deleted the qt6 directory before building qt6-qttools

Could that be related to parallel build? I run 'make nsis-installer JOBS=15'

Anyway a fresh mxe-octave clone made no difference. Log with "verbose" patch attached.

Next try, disable posix_ipc ...

Philip Nienhuis <philipnienhuis>
Group Member
Fri 03 Nov 2023 02:06:49 PM UTC, comment #16: 

Not sure if it would work but we could possibly disable posix ipc for the basic native  build

-        -DFEATURE_{pkg_config,eventfd,glib,gui,icu,openssl,zstd,thread,system_pcre2,sql,xml,testlib,backtrace}=OFF; \
+        -DFEATURE_{pkg_config,eventfd,glib,gui,icu,openssl,zstd,thread,system_pcre2,sql,xml,testlib,backtrace,ipc_posix}=OFF; \

John Donoghue <lostbard>
Group Member
Fri 03 Nov 2023 01:45:11 PM UTC, comment #15: 

Also where it is faling looks like it is new functionality for qt6.6

https://doc.qt.io/qt-6/native-ipc-keys.html


John Donoghue <lostbard>
Group Member
Fri 03 Nov 2023 01:24:05 PM UTC, comment #14: 

Not sure if any of it makes any difference, but information purposes, looking at what your configure summary says vs mine I see:


--- phillip.txt       2023-11-03 09:19:00.824942550 -0400
+++ lostbard.txt       2023-11-03 09:19:37.693016357 -0400
@@ -1,5 +1,5 @@
 Building for: linux-g++ (x86_64, CPU features: )
-Compiler: gcc 10.4.0
+Compiler: gcc 13.2.1
 Build options:
   Mode ................................... release
   Optimize release build for size ........ no
@@ -39,8 +39,8 @@
   udev ................................... no
   OpenSSL ................................ no
     Qt directly linked to OpenSSL ........ no
-  OpenSSL 1.1 ............................ yes
-  OpenSSL 3.0 ............................ no
+  OpenSSL 1.1 ............................ no
+  OpenSSL 3.0 ............................ yes
   Using system zlib ...................... yes
   Zstandard support ...................... no
   Thread support ......................... no
@@ -49,7 +49,7 @@
 Qt Core:
   backtrace .............................. no
   DoubleConversion ....................... yes
-    Using system DoubleConversion ........ yes
+    Using system DoubleConversion ........ no
   CLONE_PIDFD support in forkfd .......... yes
   GLib ................................... no
   ICU .................................... no


John Donoghue <lostbard>
Group Member
Fri 03 Nov 2023 12:55:00 PM UTC, comment #13: 


> ... is it a clean build ?

Clean build.

Just to outline my workflow:
For a clean build I copy my updated local mxe-octave repo (1:1 copy of remote repo) over to a new subdir/build tree, bootstrap & configure there and build.
I could try cloning the whole repo anew, although I can't remember or even imagine that I made any mods to that local repo.
I do patch the copied build tree but that merely comprises binary-dist-rules.mk (copying the dist/ subdir to a local btrfs partition accessible from Windows); Start Menu patches and some other, minor mods in makeinst_script.sh; and a few adapted .mk files for OF packages. All of that affected stuff only happening a long long time after building dependencies like Qt.

I'll try the patch from comment #12. But just to be sure, also clone the repo again.

Hmm, question remains (maybe moot), what happened in Qt6.6.0? as Qt6.5.3 still builds fine in a clean build tree.

Philip Nienhuis <philipnienhuis>
Group Member
Thu 02 Nov 2023 06:39:53 PM UTC, comment #12: 

Looks like to enable verbose compile output needs:


diff -r 39152f45c5d4 src/qt6-qtbase.mk
--- a/src/qt6-qtbase.mk Wed Nov 01 09:58:59 2023 -0400
+++ b/src/qt6-qtbase.mk Thu Nov 02 14:38:33 2023 -0400
@@ -102,9 +102,10 @@
         -DFEATURE_pkg_config=ON \
         -DFEATURE_system_zlib=ON \
         -DFEATURE_use_gold_linker_alias=OFF \
+        -DCMAKE_VERBOSE_MAKEFILE=ON \
         $($(PKG)_CMAKE_OPTS)

-    'cmake' --build '$(1).build' -j '$(JOBS)'
+    'cmake' --build '$(1).build' -j '$(JOBS)' -v
     'cmake' --install '$(1).build'


John Donoghue <lostbard>
Group Member
Thu 02 Nov 2023 05:55:41 PM UTC, comment #11: 

I also see that mxe deleted the qt6 directory before building qt6-qttools - do you have a previous version of qt hanging around in the mxe build tree, or is it a clean build ?

John Donoghue <lostbard>
Group Member
Thu 02 Nov 2023 05:49:09 PM UTC, comment #10: 

Thread support is disabled ifor the native part of the cross build via:

-DFEATURE_{pkg_config,eventfd,glib,gui,icu,openssl,zstd,thread,system_pcre2,sql,xml,testlib,backtrace}=OFF

So shouldnt be detected or using thread support.


In fedora, running mxe with qt6.6 I see:


-- Configure summary:

Building for: linux-g++ (x86_64, CPU features: )
Compiler: gcc 13.2.1
Build options:
  Mode ................................... release
  Optimize release build for size ........ no
  Fully optimize release builds (-O3) .... no
  Building shared libraries .............. yes
  Using ccache ........................... no
  Unity Build ............................ no
  Using new DTAGS ........................ yes
  Relocatable ............................ yes
  Using precompiled headers .............. no
  Using Link Time Optimization (LTCG) .... no
  Using Intel CET ........................ no
  Target compiler supports:
    x86 Intrinsics ....................... Basic VAES AVX512VBMI2
  Sanitizers:
    Addresses ............................ no
    Threads .............................. no
    Memory ............................... no
    Fuzzer (instrumentation only) ........ no
    Undefined ............................ no
  Build parts ............................ libs tools
  Install examples sources ............... no
Qt modules and options:
  Qt Concurrent .......................... no
  Qt D-Bus ............................... no
  Qt D-Bus directly linked to libdbus .... no
  Qt Gui ................................. no
  Qt Network ............................. yes
  Qt PrintSupport ........................ no
  Qt Sql ................................. no
  Qt Testlib ............................. no
  Qt Widgets ............................. no
  Qt Xml ................................. no
Support enabled for:
  Using pkg-config ....................... no
  Using vcpkg ............................ no
  udev ................................... no
  OpenSSL ................................ no
    Qt directly linked to OpenSSL ........ no
  OpenSSL 1.1 ............................ no
  OpenSSL 3.0 ............................ yes
  Using system zlib ...................... yes
  Zstandard support ...................... no
  Thread support ......................... no
Common build options:
  Linker can resolve circular dependencies  yes
Qt Core:
  backtrace .............................. no
  DoubleConversion ....................... yes
    Using system DoubleConversion ........ no
  CLONE_PIDFD support in forkfd .......... yes
  GLib ................................... no
  ICU .................................... no
  Using system libb2 ..................... no
  Built-in copy of the MIME database ..... yes
  Application permissions ................ yes
  Defaulting legacy IPC to POSIX ......... no
  Tracing backend ........................ <none>
  OpenSSL based cryptographic hash ....... no
  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
  DTLS ................................... no
  OCSP-stapling .......................... no
  SCTP ................................... no
  Use system proxies ..................... yes
  GSSAPI ................................. yes
  Brotli Decompression Support ........... yes
  qIsEffectiveTLD() ...................... yes
    Built-in publicsuffix database ....... yes
    System publicsuffix database ......... yes
Core tools:
  Android deployment tool ................ yes
  macOS deployment tool .................. no
  Windows deployment tool ................ no
  qmake .................................. yes



Perhaps running cmake --build with VERBOSE=1 will show what is linked on a wqorking system vs non working ?

John Donoghue <lostbard>
Group Member
Thu 02 Nov 2023 04:37:27 PM UTC, comment #9: 

Why does Qt6.6.0 behave differently than Qt6.5.3 ?
I wonder what exactly has changed in Qt6.6.0 that made building it fail on my system.

@mmuetzel (comment #8):
Why would we need to build a native host and native target?
IIUC I suppose those are already present on at least my system - probably not the versions used by the next two bullets but good enough to crossbuild the rest.

Anyway, I looked in the Qt6.5.3. build log and saw that v6.5.3 apparently doesn't need thread support (I've repeatedly crossbuilt dev Octave with it and that runs fine under Windows):

make[1]: Entering directory '/home/philip/devel/octdev/mxe/mxe_64b_20231101H'
rm -rf   '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase' '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase-install'
mkdir -p '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase'
( cd '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase' &&      xz -dc '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/pkg/qtbase-everywhere-src-6.5.3.tar.xz' | tar xf - ) ||  false
test ! -d '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/src/qt6-qtbase' || cp -a '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/src/qt6-qtbase' '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase'
cd '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase/qtbase-everywhere-src-6.5.3'
(cd '/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase/qtbase-everywhere-src-6.5.3' && patch -p1 -u) < /home/philip/devel/octdev/mxe/mxe_64b_20231101H/src/qt6-qtbase-1-fixes.patch
patching file CMakeLists.txt
patching file src/plugins/networkinformation/networklistmanager/CMakeLists.txt
patching file src/plugins/platforms/minimal/qminimalintegration.cpp
patching file src/plugins/platforms/windows/qwindowsglcontext.cpp
patching file src/plugins/platforms/windows/qwindowsopengltester.cpp

:
:
Support enabled for:
  Using pkg-config ....................... no
  udev ................................... no
  OpenSSL ................................ no
    Qt directly linked to OpenSSL ........ no
  OpenSSL 1.1 ............................ yes
  OpenSSL 3.0 ............................ no
  Using system zlib ...................... yes
  Zstandard support ...................... no
  Thread support ......................... no
:


Makes me wonder if Qt6.6.0's build system has a bug.  Like v.6.5.3 it finds no thread support but then lets the compiler try to invoke it nonetheless, right?

(fixed typo in bug report title)

Philip Nienhuis <philipnienhuis>
Group Member
Thu 02 Nov 2023 02:19:19 PM UTC, comment #8: 

If we'd like to have that specific part of the build process reproducible and independent of the host, we'd need to build a native version of the compiler and runtime (and probably the entire toolchain) also when cross-compiling.
That would be possible. But it would probably also make the build process a lot more complicated. E.g., we'd need to build three versions of the compiler (potentially plus runtime and toolchain):

  • native host and native target
  • native host and cross target
  • cross host and cross target


(Currently, we are "only" building the latter two.)

Markus Mützel <mmuetzel>
Group administrator
Thu 02 Nov 2023 01:26:54 PM UTC, comment #7: 

I admit I haven't tried to understand the reported problem here.  I'm just responding to the comment:

"I always figured mxe-octave were some sort of closed build system, independent of, if not immune to, how the host system is configured."

That was more or less the original intent.  Except for a relatively small set of basic utilities required for bootstrapping, the idea was to build specified versions of everything else so that the builds would be reproducible.

John W. Eaton <jwe>
Group administrator
Thu 02 Nov 2023 12:13:07 PM UTC, comment #6: 

Thanks so far.
What can I do on my side to help you help me? :-)

(I always figured mxe-octave were some sort of closed build system, independent of, if not immune to, how the host system is configured. Hmm learning something new everyday :-) )

Philip Nienhuis <philipnienhuis>
Group Member
Thu 02 Nov 2023 07:17:33 AM UTC, comment #5: 

The log now contains the full linker command that is failing. There doesn't seem to be any `-pthread` or `-lpthread` argument in that command.
My first guess is that this might be an issue with the build rules (or sources?) of Qt6.6. But it might also be an issue with the version of CMake installed on your Mageia.

It is failing while trying to link a native Linux library that is needed to bootstrap the cross-build for the MinGW target. Installing `mingw64-winpthreads` won't make a difference. Also, MXE Octave doesn't (or shouldn't) use any MinGW packages installed on the build system anyway (like you correctly assumed).

The configuration log says:

Support enabled for:
[...]
  Thread support ......................... no


So, maybe it is building something that it shouldn't be building in the first place?

I'll try to look into why that could be happening. But that might be difficult because it's just building fine for me on Ubuntu 23.10 (and on the buildbots).

Markus Mützel <mmuetzel>
Group administrator
Wed 01 Nov 2023 09:33:48 PM UTC, comment #4: 

No joy:

Failed to build package qt6-qtbase!
------------------------------------------------------------
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindPostgreSQL.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindWrapSystemJpeg.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindWrapSystemZLIB.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindWrapOpenSSL.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindWrapBacktrace.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindWrapBrotli.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/lib/cmake/Qt6/FindXRender.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/./libexec/ensure_pro_file.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/./libexec/qt-testrunner.py
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/./libexec/sanitizer-testrunner.py
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/./libexec/syncqt
-- Set runtime path of "/home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/./libexec/syncqt" to "$ORIGIN/../lib"
-- Installing: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/./libexec/moc
-- Set runtime path of "/home/philip/devel/octdev/mxe/mxe_64b_20231101H/usr/qt6/./libexec/moc" to "$ORIGIN/../lib"
CMake Error at tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/src/tools/rcc/cmake_install.cmake:53 (file):
  file INSTALL cannot find
  "/home/philip/devel/octdev/mxe/mxe_64b_20231101H/tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/libexec/rcc":
  No such file or directory.
Call Stack (most recent call first):
  tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/src/cmake_install.cmake:62 (include)
  tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/cmake_install.cmake:298 (include)

make[1]: *** [/home/philip/devel/octdev/mxe/mxe_64b_20231101H/Makefile:1006: build-only-qt6-qtbase] Error 1
make[1]: Leaving directory '/home/philip/devel/octdev/mxe/mxe_64b_20231101H'
real    1m56.231s
user    21m32.419s
sys     1m39.581s
------------------------------------------------------------
[log]      /home/philip/devel/octdev/mxe/mxe_64b_20231101H/log/qt6-qtbase

make: *** [Makefile:1008: /home/philip/devel/octdev/mxe/mxe_64b_20231101H/installed-packages/qt6-qtbase] Error 1

(qt6-base build log attached. Might be identical to the previous one)

After backing out the two csets ("minor update to build rules" & "Update Qt6 to v6.6.0") mxe just built all Qt6 (v6.5.3) packages.

I had a look in Mageia-8's package manager. libpthreads-stub is there, but mingw64-winpthreads isn't installed. Should I try again with that package? I'm unsure but I think that package relates to a locally installed mingw64 subsystem, i.e., separate from mxe-octave.


(file #55295)

Philip Nienhuis <philipnienhuis>
Group Member
Mon 30 Oct 2023 05:44:26 AM UTC, comment #3: 

The idea about a pthread package is just a guess. Iiuc, these functions should always be available on any Linux because they are part of the POSIX standard.
It might also be that for some reason some linker flags (-pthread and/or -lpthread) are missing for you. The log doesn't show the exact linker command. So, this is also just a guess.
I pushed a change yesterday to use Ninja as the CMake generator for the Qt6 packages. Iirc, that will echo the failing command to the log file.

Let's see what that will tell us (if anything at all).

Markus Mützel <mmuetzel>
Group administrator
Sun 29 Oct 2023 07:27:43 PM UTC, comment #2: 

Thanks for picking up.

> Which distribution are you on? Are the pthread development packages installed on your system?

Mageia 8.
You mean phtreads-dev (or so) is a build prerequisite of Qt 6.6.0? I wasn't aware of that. And it wasn't required for (I believe) Qt 6.5.2 in mxe-octave as ATM I'm running a crossbuild made with that Qt version. Nor did configure emit a warning.
I was using a fresh clone of mxe-octave, just like I did when trying Qt-6.5.2.

Would Qt 6.6.0's way of finding pthreads headers be different than 6.5.2 and fail on my host system?

(BTW I think only next Wednesday night I'll be able to further dive into this)

Philip Nienhuis <philipnienhuis>
Group Member
Sun 29 Oct 2023 06:39:15 AM UTC, comment #1: 

It's working for me locally and in the CI.

The actual error is probably a bit earlier in the log file:

[ 72%] Linking CXX shared library ../../lib/libQt6Core.so
/usr/bin/ld: CMakeFiles/Core.dir/ipc/qsystemsemaphore_posix.cpp.o: in function `QSystemSemaphorePosix::runtimeSupportCheck()':
qsystemsemaphore_posix.cpp:(.text+0x50): undefined reference to `sem_open'
/usr/bin/ld: CMakeFiles/Core.dir/ipc/qsystemsemaphore_posix.cpp.o: in function `QSystemSemaphorePosix::handle(QSystemSemaphorePrivate*, QSystemSemaphore::AccessMode)':
qsystemsemaphore_posix.cpp:(.text+0x11a): undefined reference to `sem_open'
/usr/bin/ld: qsystemsemaphore_posix.cpp:(.text+0x1bb): undefined reference to `sem_unlink'
/usr/bin/ld: CMakeFiles/Core.dir/ipc/qsystemsemaphore_posix.cpp.o: in function `QSystemSemaphorePosix::cleanHandle(QSystemSemaphorePrivate*)':
qsystemsemaphore_posix.cpp:(.text+0x327): undefined reference to `sem_close'
/usr/bin/ld: qsystemsemaphore_posix.cpp:(.text+0x3a1): undefined reference to `sem_unlink'
/usr/bin/ld: CMakeFiles/Core.dir/ipc/qsystemsemaphore_posix.cpp.o: in function `QSystemSemaphorePosix::modifySemaphore(QSystemSemaphorePrivate*, int)':
qsystemsemaphore_posix.cpp:(.text+0x493): undefined reference to `sem_wait'
/usr/bin/ld: qsystemsemaphore_posix.cpp:(.text+0x58a): undefined reference to `sem_open'
/usr/bin/ld: qsystemsemaphore_posix.cpp:(.text+0x623): undefined reference to `sem_post'
/usr/bin/ld: qsystemsemaphore_posix.cpp:(.text+0x65e): undefined reference to `sem_wait'
collect2: error: ld returned 1 exit status


Which distribution are you on? Are the pthread development packages installed on your system?

Markus Mützel <mmuetzel>
Group administrator
Sat 28 Oct 2023 10:29:24 PM UTC, original submission:  

Fresh up-to-date mxe-octave clone (fafb290c1dd7), build fails at Qt6-base:

Failed to build package qt6-qtbase!
------------------------------------------------------------
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindPostgreSQL.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindWrapSystemJpeg.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindWrapSystemZLIB.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindWrapOpenSSL.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindWrapBacktrace.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindWrapBrotli.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/lib/cmake/Qt6/FindXRender.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/./libexec/ensure_pro_file.cmake
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/./libexec/qt-testrunner.py
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/./libexec/sanitizer-testrunner.py
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/./libexec/syncqt
-- Set runtime path of "/home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/./libexec/syncqt" to "$ORIGIN/../lib"
-- Installing: /home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/./libexec/moc
-- Set runtime path of "/home/philip/devel/octdev/mxe/mxe_64w_20231028H/usr/qt6/./libexec/moc" to "$ORIGIN/../lib"
CMake Error at tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/src/tools/rcc/cmake_install.cmake:53 (file):
  file INSTALL cannot find
  "/home/philip/devel/octdev/mxe/mxe_64w_20231028H/tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/libexec/rcc":
  No such file or directory.
Call Stack (most recent call first):
  tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/src/cmake_install.cmake:62 (include)
  tmp-qt6-qtbase/qtbase-everywhere-src-6.6.0.native/cmake_install.cmake:298 (include)

make[1]: *** [/home/philip/devel/octdev/mxe/mxe_64w_20231028H/Makefile:1006: build-only-qt6-qtbase] Error 1
make[1]: Leaving directory '/home/philip/devel/octdev/mxe/mxe_64w_20231028H'


Qt6-base build log attached.

Philip Nienhuis <philipnienhuis>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #55299:  qt6-qtbase added by philipnienhuis (90KiB - application/octet-stream)
file #55295:  qt6-qtbase added by philipnienhuis (89KiB - application/octet-stream)
file #55288:  qt6-qtbase added by philipnienhuis (90KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by philipnienhuis (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-11-10 mmuetzel StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2023-11-05 lostbard StatusIn Progress Ready For Test
    2023-11-04 philipnienhuis StatusNone In Progress
    2023-11-03 philipnienhuis Attached File- Added qt6-qtbase, #55299
    2023-11-02 philipnienhuis Summary[MXE] Build falilure of Qt-6.6.0 [MXE] Build failure of Qt-6.6.0
    2023-11-01 philipnienhuis Attached File- Added qt6-qtbase, #55295
    2023-10-28 philipnienhuis Attached File- Added qt6-qtbase, #55288

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code