[Bug 33377] New: Dependencies on third-party import dlls are undetected

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Apr 12 18:47:41 CDT 2013


http://bugs.winehq.org/show_bug.cgi?id=33377

             Bug #: 33377
           Summary: Dependencies on third-party import dlls are undetected
           Product: Wine-Testbot
           Version: unspecified
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: unknown
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: fgouget at codeweavers.com
    Classification: Unclassified


Created attachment 44167
  --> http://bugs.winehq.org/attachment.cgi?id=44167
Patch to reproduce this bug

The attached patch reproduces an issue first encountered 'in the wild' with
this set of patches:

* [1/3] include: Add COM interface definitions needed for PrintDlgEx
implementation.
  http://www.winehq.org/pipermail/wine-patches/2013-April/123420.html
* [3/3] comdlg32: Add an interactive PrintDlgEx test. 
  http://www.winehq.org/pipermail/wine-patches/2013-April/123422.html

* Re: [3/3] comdlg32: Add an interactive PrintDlgEx test.
  http://www.winehq.org/pipermail/wine-devel/2013-April/099397.html

Here is the core of the issue:
* The patch contains a first chunk that modifies include/commdlg.h.
* This causes a new symbol to be exported by libuuid.a.
* The comdlg32:printdlg test needs that symbol to be relinked.

The problem is that the WineTestBot does not do a full recompile (for
performance reasons), and thus libuuid.a is not rebuilt. So the comdlg32 relink
fails because of the missing symbol.

Unfortunately there's really no clear indication in the patch that libuuid.a
needs to be rebuilt. We could very well run into the same issue with dxguid or
a number of other dlls.

Some options:
 * Systematically do a full rebuild. This would be pretty wasteful.
 * Do a full rebuild whenever the patch touches 'include/'.
 * Hardcode a list of uuid-like dlls and rebuild them all whenever a patch
touches 'include/'.
 * Detect which uuid-like dlls the test links with (by parsing the Makefile?),
and rebuild those whenever the patch touches 'include/'.

It's also possible that any chunk outside of the test directory could get us
into trouble if we link with the corresponding dll.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list