[Wine] Suffix or Operands invalid during AMD64 compile
Martin.Fuhrer at cggveritas.com
Martin.Fuhrer at cggveritas.com
Mon Mar 12 18:23:15 CDT 2007
Hi Peter,
> Are you sure you want Win64? Normally you only need 32bit wine
> because almost all windows applications are 32bit.
> Just remove '--enable-wine64' from the above line.
Yes, good point. I had it enabled thinking it may be required for
compiling wine on a 64-bit machine, but it appears this is not the case.
> > gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__
-D_REENTRANT
> > -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement
> > -Wwrite-strings -Wpointer-arith -g -O2 -D__i386__ -o interlocked.o
> > interlocked.c
> As for the compile error. The problem is the -D__i386.
> No idea though how that ended up there for a win64 build.
Great, thanks! I replaced the flag with -D__x86_64__ and the compile worked
fine. I notice that all the compile commands are executed with the
-D__i386__ flag. Perhaps this is a configure bug? Or do I need to
explicitly specify that I am on a 64 bit machine when running configure?
In any case, running configure without '--enable-wine64' still produces the
same errors (ie. files are compiled with the -D__i386__ flag). On a lark, I
tried modifying line 1979 of the configure script.
1972 case $host in
1973 x86_64*linux*)
1974 if test "x$enable_win64" != "xyes"
1975 then
1976 test -n "$CC" || CC="gcc -m32"
1977 test -n "$LD" || LD="ld -m elf_i386"
1978 test -n "$AS" || AS="as --32"
1979 host_cpu="x86_64" # "i386"
1980 fi
1981 ;;
1982 esac
Now I ran configure:
./configure --prefix=/home/mfuhrer/sw/linux
and 'make depend && make'. Compilation proceeds much further, but
eventually halts with another error:
make[2]: Entering directory `/mnt/io/home/mfuhrer/sw/src/wine-0.9.32
/dlls/activeds'
../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./activeds.spec
activeds_main.o -o activeds.dll.so -lkernel32
../../libs/port/libwine_port.a
activeds.4v7l8L.s: Assembler messages:
activeds.4v7l8L.s:2: Error: cannot represent relocation type BFD_RELOC_64
activeds.4v7l8L.s:3: Error: cannot represent relocation type BFD_RELOC_64
activeds.4v7l8L.s:4: Error: cannot represent relocation type BFD_RELOC_64
activeds.4v7l8L.s:5: Error: cannot represent relocation type BFD_RELOC_64
activeds.4v7l8L.s:6: Error: cannot represent relocation type BFD_RELOC_64
activeds.4v7l8L.s:7: Error: cannot represent relocation type BFD_RELOC_64
winebuild: as --32 failed with status 256
winegcc: ../../tools/winebuild/winebuild failed.
make[2]: *** [activeds.dll.so] Error 2
make[2]: Leaving directory `/mnt/io/home/mfuhrer/sw/src/wine-0.9.32
/dlls/activeds'
make[1]: *** [activeds] Error 2
make[1]: Leaving directory `/mnt/io/home/mfuhrer/sw/src/wine-0.9.32/dlls'
make: *** [dlls] Error 2
Any other ideas?
Cheers,
Martin
More information about the wine-users
mailing list