http://bugs.winehq.org/show_bug.cgi?id=29021
Bug #: 29021 Summary: powerpc32 build broken on 64-bit hosts: /usr/bin/ld: powerpc:common architecture of input file `c_037.o' is incompatible with powerpc:common64 output Product: Wine Version: 1.3.32 Platform: ppc32 OS/Version: Linux Status: NEW Keywords: download, source Severity: major Priority: P2 Component: build-env AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com Blocks: 25744 Classification: Unclassified
Created attachment 37360 --> http://bugs.winehq.org/attachment.cgi?id=37360 make log
Found while investigating bug 28981. This is a powerpc64 host, with 32-bit libraries installed (Fedora 16): [austin@gcc1-power7 wine-git]$ uname -a Linux gcc1-power7.osuosl.org 3.1.0-0.rc9.git0.2.fc16.kh.ppc64 #1 SMP Wed Oct 12 22:41:01 UTC 2011 ppc64 ppc64 ppc64 GNU/Linux [austin@gcc1-power7 wine-git]$ cat /etc/issue Fedora release 16 (Verne) Kernel \r on an \m (\l)
I used: `CFLAGS="-m32 -g -O0" ./configure && make` to force a 32-bit build, but that fails: make[1]: Entering directory `/home/austin/wine-git/libs/wine' version=`(GIT_DIR=../../.git git describe HEAD 2>/dev/null || echo "wine-1.3.32") | sed -n -e '$s/(.*)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1) gcc -shared -Wl,-soname,libwine.so.1 -Wl,--version-script=./wine.map c_037.o c_10000.o c_10006.o c_10007.o c_10029.o c_1006.o c_10079.o c_10081.o c_1026.o c_1250.o c_1251.o c_1252.o c_1253.o c_1254.o c_1255.o c_1256.o c_1257.o c_1258.o c_1361.o c_20127.o c_20866.o c_20932.o c_21866.o c_28591.o c_28592.o c_28593.o c_28594.o c_28595.o c_28596.o c_28597.o c_28598.o c_28599.o c_28600.o c_28603.o c_28604.o c_28605.o c_28606.o c_424.o c_437.o c_500.o c_737.o c_775.o c_850.o c_852.o c_855.o c_856.o c_857.o c_860.o c_861.o c_862.o c_863.o c_864.o c_865.o c_866.o c_869.o c_874.o c_875.o c_878.o c_932.o c_936.o c_949.o c_950.o casemap.o collation.o compose.o config.o cptable.o debug.o fold.o ldt.o loader.o mbtowc.o mmap.o port.o sortkey.o string.o utf8.o wctomb.o wctype.o version.o ../../libs/port/libwine_port.a -ldl -o libwine.so.1.0 /usr/bin/ld: powerpc:common architecture of input file `c_037.o' is incompatible with powerpc:common64 output /usr/bin/ld: powerpc:common architecture of input file `c_10000.o' is incompatible with powerpc:common64 output /usr/bin/ld: powerpc:common architecture of input file `c_10006.o' is incompatible with powerpc:common64 output
looks like we're still trying to link something as 64-bit? Those fails are 32-bit though: [austin@gcc1-power7 wine-git]$ file libs/wine/*o libs/wine/c_037.o: ELF 32-bit MSB relocatable, PowerPC or cisco 4500, version 1 (SYSV), not stripped libs/wine/c_10000.o: ELF 32-bit MSB relocatable, PowerPC or cisco 4500, version 1 (SYSV), not stripped libs/wine/c_10006.o: ELF 32-bit MSB relocatable, PowerPC or cisco 4500, version 1 (SYSV), not stripped
http://bugs.winehq.org/show_bug.cgi?id=29021
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID
--- Comment #1 from Alexandre Julliard julliard@winehq.org 2011-11-07 14:03:53 CST --- User error, -m32 needs to be part of CC not CFLAGS.
http://bugs.winehq.org/show_bug.cgi?id=29021
--- Comment #2 from Austin English austinenglish@gmail.com 2011-11-07 14:43:14 CST --- (In reply to comment #1)
User error, -m32 needs to be part of CC not CFLAGS.
Doing that still fails: `CC="gcc -m32" ./configure && make`
make[1]: Entering directory `/home/austin/wine-git/dlls/acledit' ../../tools/winegcc/winegcc -B../../tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./acledit.spec main.o -o acledit.dll.so ../../libs/port/libwine_port.a /usr/bin/ld: Relocatable linking with relocations from format elf32-powerpc (main.o) to format elf64-powerpc (acledit.Cwk97h.o) is not supported winebuild: /usr/bin/ld failed with status 1 winegcc: ../../tools/winebuild/winebuild failed make[1]: *** [acledit.dll.so] Error 2 make[1]: Leaving directory `/home/austin/wine-git/dlls/acledit' make: *** [dlls/acledit] Error 2
[austin@gcc1-power7 acledit]$ make clean rm -f *.o *.a *.so *.mo *.ln *.res *.fake *.so #*# *~ *% .#* *.bak *.orig *.rej *.flc core rm -f [austin@gcc1-power7 acledit]$ make gcc -m32 -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wwrite-strings -Wpointer-arith -Wlogical-op -I/usr/include/freetype2 -g -O2 -o main.o main.c ../../tools/winegcc/winegcc -B../../tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./acledit.spec main.o -o acledit.dll.so ../../libs/port/libwine_port.a /usr/bin/ld: Relocatable linking with relocations from format elf32-powerpc (main.o) to format elf64-powerpc (acledit.UP0HNO.o) is not supported winebuild: /usr/bin/ld failed with status 1 winegcc: ../../tools/winebuild/winebuild failed make: *** [acledit.dll.so] Error 2
http://bugs.winehq.org/show_bug.cgi?id=29021
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2011-11-07 15:02:39 CST --- You also have to set TARGETFLAGS=-m32.
http://bugs.winehq.org/show_bug.cgi?id=29021
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Austin English austinenglish@gmail.com 2011-11-07 15:27:58 CST --- (In reply to comment #3)
You also have to set TARGETFLAGS=-m32.
Thanks.