[Wine] Re: ntdll.dll.so: invalid ELF header
ysa
wineforum-user at winehq.org
Tue Feb 9 05:20:19 CST 2010
vitamin: At least in the case of the debian source package I'm pretty sure that I have all the build dependencies, since I have run apt-get build-dep wine before compiling Wine.
However, I solved the problem by removing the line (commenting it out)
Code:
EXTRADLLFLAGS = -Wl,--image-base,0x7bc00000
from the file:
dlls/ntdll/Makefile.in
and removing (commenting out) the options -Wl, --image-base,0x7bc0000
from the line:
Code:
EXTRADLLFLAGS = -Wb,-F,KERNEL32.dll -Wl,--image-base,0x7b800000
in the file:
dlls/kernel32/Makefile.in
Afterwards I run ./configure && make depend && make again.
Then the corresponding dll.so files were real ELF binaries and winecfg works as well as well as the game Zork Nemesis (at least it starts now).
readelf -h dlls/ntdll/ntdll.dll.so reports now:
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x1fae0
Start of program headers: 52 (bytes into file)
Start of section headers: 2441904 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 5
Size of section headers: 40 (bytes)
Number of section headers: 38
Section header string table index: 35
I had the same problem when I tried to compile the stable version 1.0.1 from the debian source package. And the same solution applies there.
I am happy that it works now but I don't understand why this linker option (--image-base 0x7b800000) I removed was there in the first place. It seems to prevent Wine from running after compilation on my machine. And without it Wine seems to run without problems. So does anybody know why it there?
Yves
More information about the wine-users
mailing list