I've been tracking Wine for sometime in git, and attempting to build it on Mac OS X just to have repetitive failure. I finally had some time to look at the cause, and figured out that it was failing due to a prototype mismatch in dlls/dbghelp/dbghelp_private.h and dlls/ dbghelp/elf_loader.c. The problem is that the function elf_load_module uses a DWORD in elf_loader.c and an unsigned load in the dbghelp_private.h. I changed the header to a DWORD which fixed the compile right up and allowed it to successfully build Wine, but after talking to vitamin, this change might cause issues with Wine on 64-bit systems. Since I only own 32-bit, and know little about differences when programming 64-bit systems, I thought I should ask before I submit the patch to wine-patches.
The full prototype and arguments are: dbghelp_private.h: extern struct module* elf_load_module(struct process* pcs, const char* name, unsigned long)
elf_loader.c: struct module* elf_load_module(struct process* pcs, const char* name, DWORD addr)
For good measure, I've also attached the patch to this email. Regard, Michael
On 7 déc. 06, at 18:04, Michael Casadevall wrote:
I've been tracking Wine for sometime in git, and attempting to build it on Mac OS X just to have repetitive failure.
This issue has already been fixed 6 days ago, see [1]. And I think your patch was correct ;)
[1] http://source.winehq.org/git/wine.git/? a=commit;h=c20afad60846ef86be60a6860f4a03a07509edb8
Pierre.
Odd, I did a fetch and rebase just before I tried recompiling to no avail. Very odd, but then again, I'm not so good with git so it might be a problem on my end. Michael
On Dec 7, 2006, at 1:35 PM, Pierre d'Herbemont wrote:
On 7 déc. 06, at 18:04, Michael Casadevall wrote:
I've been tracking Wine for sometime in git, and attempting to build it on Mac OS X just to have repetitive failure.
This issue has already been fixed 6 days ago, see [1]. And I think your patch was correct ;)
[1] http://source.winehq.org/git/wine.git/? a=commit;h=c20afad60846ef86be60a6860f4a03a07509edb8
Pierre.
On 7 déc. 06, at 19:35, Pierre d'Herbemont wrote:
On 7 déc. 06, at 18:04, Michael Casadevall wrote:
I've been tracking Wine for sometime in git, and attempting to build it on Mac OS X just to have repetitive failure.
And I think your patch was correct ;)
It probably doesn't matter but your patch was wrong indeed, I didn't read it at first, but you should have just changed the empty function definition, otherwise you break wine on non elf system.
Pierre.
Michael Casadevall a écrit :
I've been tracking Wine for sometime in git, and attempting to build it on Mac OS X just to have repetitive failure. I finally had some time to look at the cause, and figured out that it was failing due to a prototype mismatch in dlls/dbghelp/dbghelp_private.h and dlls/dbghelp/elf_loader.c. The problem is that the function elf_load_module uses a DWORD in elf_loader.c and an unsigned load in the dbghelp_private.h. I changed the header to a DWORD which fixed the compile right up and allowed it to successfully build Wine, but after talking to vitamin, this change might cause issues with Wine on 64-bit systems. Since I only own 32-bit, and know little about differences when programming 64-bit systems, I thought I should ask before I submit the patch to wine-patches.
The full prototype and arguments are: dbghelp_private.h: extern struct module* elf_load_module(struct process* pcs, const char* name, unsigned long)
elf_loader.c: struct module* elf_load_module(struct process* pcs, const char* name, DWORD addr)
this is already fixed in git (with unsigned long) A+