diff mbox series

[1/1] package/wine: needs NPTL

Message ID 20220615201622.25057-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/wine: needs NPTL | expand

Commit Message

Fabrice Fontaine June 15, 2022, 8:16 p.m. UTC
wine unconditionally uses pthread_attr_setstack resulting in the
following build failure without NPTL:

/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/i586-buildroot-linux-uclibc/11.3.0/../../../../i586-buildroot-linux-uclibc/bin/ld: dlls/ntdll/unix/thread.o: in function `NtCreateThreadEx':
thread.c:(.text+0x61b): undefined reference to `pthread_attr_setstack'

Fixes:
 - http://autobuild.buildroot.org/results/a866d65cda97845a8c829acad2c057bab00cde08

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/wine/Config.in | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Thomas Petazzoni July 20, 2022, 8:38 p.m. UTC | #1
On Wed, 15 Jun 2022 22:16:22 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> wine unconditionally uses pthread_attr_setstack resulting in the
> following build failure without NPTL:
> 
> /home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/i586-buildroot-linux-uclibc/11.3.0/../../../../i586-buildroot-linux-uclibc/bin/ld: dlls/ntdll/unix/thread.o: in function `NtCreateThreadEx':
> thread.c:(.text+0x61b): undefined reference to `pthread_attr_setstack'
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/a866d65cda97845a8c829acad2c057bab00cde08
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  package/wine/Config.in | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

The pthread_attr_setstack() has been around for a while in Wine, so I
was wondering why we're only seeing this issue now. Turns out that Wine
depends on BR2_i386, and until the relatively recent move to fully
random configurations, we never tested an i386 toolchain that has
linuxthreads suport instead of NPTL.

Therefore: applied, thanks!

Thomas
Peter Korsgaard Aug. 11, 2022, 11:50 a.m. UTC | #2
>>>>> "Thomas" == Thomas Petazzoni via buildroot <buildroot@buildroot.org> writes:

 > On Wed, 15 Jun 2022 22:16:22 +0200
 > Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

 >> wine unconditionally uses pthread_attr_setstack resulting in the
 >> following build failure without NPTL:
 >> 
 >> /home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/i586-buildroot-linux-uclibc/11.3.0/../../../../i586-buildroot-linux-uclibc/bin/ld:
 >> dlls/ntdll/unix/thread.o: in function `NtCreateThreadEx':
 >> thread.c:(.text+0x61b): undefined reference to `pthread_attr_setstack'
 >> 
 >> Fixes:
 >> - http://autobuild.buildroot.org/results/a866d65cda97845a8c829acad2c057bab00cde08
 >> 
 >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
 >> ---
 >> package/wine/Config.in | 6 ++++--
 >> 1 file changed, 4 insertions(+), 2 deletions(-)

 > The pthread_attr_setstack() has been around for a while in Wine, so I
 > was wondering why we're only seeing this issue now. Turns out that Wine
 > depends on BR2_i386, and until the relatively recent move to fully
 > random configurations, we never tested an i386 toolchain that has
 > linuxthreads suport instead of NPTL.

 > Therefore: applied, thanks!

Committed to 2022.05.x and 2022.02.x, thanks.
diff mbox series

Patch

diff --git a/package/wine/Config.in b/package/wine/Config.in
index 9de8cf0f6d..18fb0a64a2 100644
--- a/package/wine/Config.in
+++ b/package/wine/Config.in
@@ -13,6 +13,8 @@  config BR2_PACKAGE_WINE
 	depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS
 	# Wine unconditionally builds shared libraries
 	depends on !BR2_STATIC_LIBS
+	# pthread_attr_setstack
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	help
 	  Wine is a compatibility layer capable of running Windows
 	  applications on Linux. Instead of simulating internal
@@ -23,6 +25,6 @@  config BR2_PACKAGE_WINE
 
 	  http://www.winehq.org
 
-comment "wine needs a toolchain w/ dynamic library"
+comment "wine needs a toolchain w/ dynamic library, NPTL"
 	depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS
-	depends on BR2_STATIC_LIBS
+	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL