[Webkit-unassigned] [Bug 67864] New: Qt Win32 build broken due to MachineStackMarker.cpp/.o failing to link against pthreads library

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 9 14:20:33 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=67864

           Summary: Qt Win32 build broken due to MachineStackMarker.cpp/.o
                    failing to link against pthreads library
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: New Bugs
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: ggaren at apple.com
                CC: ggaren at apple.com


As of http://trac.webkit.org/changeset/94872, the Qt Win32 build is broken:

i486-mingw32-g++ -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,console -mthreads -o release/jsc.exe obj/release/jsc.o  -L'./release' -L'/usr/local/Trolltech/Qt-4.7.3-mingw/lib' -ljscore -lwinmm -ladvapi32 -lQtCore4 
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x43): undefined reference to `__imp__pthread_self'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x88): undefined reference to `__imp__pthread_equal'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0xab): undefined reference to `__imp__pthread_equal'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x1f5): undefined reference to `__imp__pthread_key_delete'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x2d0): undefined reference to `__imp__pthread_key_create'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x338): undefined reference to `__imp__pthread_getspecific'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x366): undefined reference to `__imp__pthread_setspecific'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x36b): undefined reference to `__imp__pthread_self'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x386): undefined reference to `__imp__pthread_getw32threadhandle_np'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x588): undefined reference to `__imp__pthread_self'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x5cd): undefined reference to `__imp__pthread_equal'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x5f0): undefined reference to `__imp__pthread_equal'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0x9ba): undefined reference to `__imp__pthread_self'
./release/libjscore.a(MachineStackMarker.o):MachineStackMarker.cpp:(.text+0xa00): undefined reference to `__imp__pthread_equal'

Here's a description of the problem:

[9:12pm] ggaren: kling: MachineStackMarker.cpp is a little strange. Regardless of what a port does for other things (i.e., USE(PTHREAD) or not), MachineStackMarker.cpp assumes it can call the pthreads APIs for certain things like thread-specific data and access to self.
[9:13pm] ggaren: kling: so, even though qt win32 doesn't use pthreads for most things, MachineStackMarker.cpp still expects it to link against the pthreads library.
[9:13pm] ggaren: kling: and, it seems to #include all the pthreads headers, so the library seems to be present in the build; it's just not linked against.

And my proposed solution:

We'd like a Qt Win32 maintainer to get the Qt Win32 build to link against the pthreads library. I think this is possible because it already #includes the library's headers, so it must build with the library. If this is not possible, perhaps we can find another solution.

I'm sorry, I'm just not familiar enough with the Qt Win32 port to fix this myself.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list