https://bugs.winehq.org/show_bug.cgi?id=41463
Bug ID: 41463 Summary: Undefined symbols: _DisableThreadLibraryCalls _RaiseException Product: Wine Version: 1.8.5 Hardware: x86 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: wine-2016@ryandesign.com
wine 1.8.5 fails to build on Mac OS X 10.6 Snow Leopard:
Undefined symbols: "_DisableThreadLibraryCalls", referenced from: _DllMain in main.o "_RaiseException", referenced from: ___wine_spec_unimplemented_stub in libwinecrt0.a(stub.o) ld: symbol(s) not found collect2: ld returned 1 exit status
A full build log can be found here: https://build.macports.org/builders/ports-10.6_x86_64_legacy-builder/builds/...
The last versions to build on this system were 1.8.4 and 1.9.10.
The problem does not affect OS X 10.7 Lion or later.
I found a similar problem reported 5 years ago on Solaris in Bug #26291
https://bugs.winehq.org/show_bug.cgi?id=41463
--- Comment #1 from Ken Thomases ken@codeweavers.com --- Preceding these linker errors is, in each case, an error like:
/usr/bin/nm: object: acledit.OsCMzM.o malformed object (unknown load command 4)
This suggests a problem with the build tools. The compiler is building an object file that nm can't parse.
For what it's worth, I don't get this problem on 10.6 with Apple's gcc-4.2.1.
https://bugs.winehq.org/show_bug.cgi?id=41463
--- Comment #2 from Ryan Schmidt wine-2016@ryandesign.com --- Ken, with which version of Xcode were you able to build wine 1.8.5 on Snow Leopard? The automated build machine where the problem was observed uses the last free version of Xcode for Snow Leopard, which is 3.2.6.
Another MacPorts user just reported the same problem on their Snow Leopard system; see https://trac.macports.org/ticket/52612.
The reason why 1.9.10 and later fail to build on Snow Leopard is different and is reported in bug #41220.
https://bugs.winehq.org/show_bug.cgi?id=41463
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ken@codeweavers.com
--- Comment #3 from Ken Thomases ken@codeweavers.com --- (In reply to Ryan Schmidt from comment #2)
Ken, with which version of Xcode were you able to build wine 1.8.5 on Snow Leopard? The automated build machine where the problem was observed uses the last free version of Xcode for Snow Leopard, which is 3.2.6.
$ xcodebuild -version Xcode 3.2.6 Component versions: DevToolsCore-1809.0; DevToolsSupport-1806.0 BuildVersion: 10M2518
$ gcc --version i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Now, admittedly, I don't have all of Wine's dependencies installed on this system. From configure:
configure: XInput2 headers not found, the XInput 2 extension won't be supported. configure: libsane 32-bit development files not found, scanners won't be supported. configure: libv4l 32-bit development files not found. configure: libgphoto2 32-bit development files not found, digital cameras won't be supported. configure: libgphoto2_port 32-bit development files not found, digital cameras won't be auto-detected. configure: liblcms2 32-bit development files not found, Color Management won't be supported. configure: libpulse 32-bit development files not found or too old, Pulse won't be supported. configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported. configure: libcapi20 32-bit development files not found, ISDN won't be supported. configure: libgsm 32-bit development files not found, gsm 06.10 codec won't be supported. configure: libtiff 32-bit development files not found, TIFF won't be supported. configure: openal-soft 32-bit development files not found (or too old), XAudio2 won't be supported
configure: WARNING: libjpeg 32-bit development files not found, JPEG won't be supported.
It's possible that the presence/absence of these dependencies changes how things are built, but one of the affected DLLs in your log is acledit which has no external dependencies that I can see.
Can you repeat one of the failed winegcc commands with the "-v -save-temps" options and attach the output? Also, run "otool -lV" on the .o file that produces the nm error and attach that.
https://bugs.winehq.org/show_bug.cgi?id=41463
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- Hi, Ryan.
Have you managed to resolve your problem?
https://bugs.winehq.org/show_bug.cgi?id=41463
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |build-env
https://bugs.winehq.org/show_bug.cgi?id=41463
Ryan Schmidt wine@ryandesign.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #5 from Ryan Schmidt wine@ryandesign.com --- A user provided this otool output; I don't know how to interpret it:
https://trac.macports.org/attachment/ticket/52612/aclui_main.otool.out.txt
The problem must've gotten fixed somewhere along the way because wine 2.0.3 builds successfully in MacPorts on Snow Leopard.
Note however that MacPorts has a local fix for bug #41220. That bug should be fixed in the wine code so that people not using MacPorts can also build wine on Snow Leopard.
https://bugs.winehq.org/show_bug.cgi?id=41463
--- Comment #6 from Ken Thomases ken@codeweavers.com --- (In reply to Ryan Schmidt from comment #5)
A user provided this otool output; I don't know how to interpret it:
https://trac.macports.org/attachment/ticket/52612/aclui_main.otool.out.txt
Well, the error from "nm" said "unknown load command 4". Load command 4 would show up as LC_THREAD in the otool output[1], but it's not in this output. I wonder if this is from the same file that got the nm error during that build.
[1] See /usr/include/mach-o/loader.h
The problem must've gotten fixed somewhere along the way because wine 2.0.3 builds successfully in MacPorts on Snow Leopard.
Hmm. That's good, I guess, but mysterious. I'm dubious that it was fixed by a change in Wine rather than your build machine configuration (or the port configuration, in terms of how it's built). *shrug*
https://bugs.winehq.org/show_bug.cgi?id=41463
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.0-rc2.