Description of problem: Mesa cannot be built for i386 on x86-64 with the usual method: setarch i386 rpmbuild --rebuild --target i386 mesa-7.1-0.35.fc9.src.rpm or after unpacking the .src.rpm: setarch i386 rpmbuild -ba --target i386 mesa.spec because while RPM provides configure flags properly to Mesa, it still thinks it has to build for x86-64: ... gcc -c -I../../include -I../../src/mesa -I../../src/mesa/main -I../../src/mesa/glapi -I../../src/mesa/math -I../../src/mesa/tnl -I../../src/mesa/shader -I../../src/mesa/shader/grammar -I../../src/mesa/shader/slang -I../../src/mesa/swrast -I../../src/mesa/swrast_setup -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fvisibility=hidden -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fPIC -DUSE_X86_64_ASM -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN x86-64/xform4.S -o x86-64/xform4.o ... Note the "-m32 -march=i386" (that was added by RPM) and "-DUSE_X86_64_ASM" that's coming from Mesa. Version-Release number of selected component (if applicable): All? I tried mesa-7.1-0.35.fc9.src.rpm from koji. How reproducible: Always. Steps to Reproduce: 1. Grab any mesa .src.rpm 2. Try to compile it 3. Wait until it dies. Actual results: Compilation dies because of unexpected assembly: gcc -c -I../../include -I../../src/mesa -I../../src/mesa/main -I../../src/mesa/glapi -I../../src/mesa/math -I../../src/mesa/tnl -I../../src/mesa/shader -I../../src/mesa/shader/grammar -I../../src/mesa/shader/slang -I../../src/mesa/swrast -I../../src/mesa/swrast_setup -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fvisibility=hidden -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fPIC -DUSE_X86_64_ASM -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN x86-64/xform4.S -o x86-64/xform4.o x86-64/xform4.S: Assembler messages: x86-64/xform4.S:40: Error: bad register name `%rdx)' x86-64/xform4.S:41: Error: bad register name `%rdx)' x86-64/xform4.S:43: Error: bad register name `%rdi)' x86-64/xform4.S:44: Error: bad register name `%rdi)' x86-64/xform4.S:46: Error: bad register name `%rdi)' x86-64/xform4.S:49: Error: bad register name `%rsi)' x86-64/xform4.S:52: Error: bad register name `%rdx)' x86-64/xform4.S:53: Error: bad register name `%rdi)' x86-64/xform4.S:55: Error: bad register name `%rdx)' x86-64/xform4.S:57: Error: bad register name `%rsi)' x86-64/xform4.S:58: Error: bad register name `%rsi)' x86-64/xform4.S:60: Error: bad register name `%rsi)' x86-64/xform4.S:61: Error: bad register name `%rsi)' x86-64/xform4.S:65: Error: bad register name `%rdx)' x86-64/xform4.S:66: Error: bad register name `%rdi)' x86-64/xform4.S:68: Error: bad register name `%xmm8' x86-64/xform4.S:69: Error: bad register name `%rax' x86-64/xform4.S:70: Error: bad register name `%xmm8' x86-64/xform4.S:72: Error: bad register name `%xmm8' x86-64/xform4.S:74: Error: bad register name `%xmm8' x86-64/xform4.S:79: Error: bad register name `%rdx)' x86-64/xform4.S:82: Error: bad register name `%rdi)' x86-64/xform4.S:83: Error: bad register name `%rdi' x86-64/xform4.S:115: Error: bad register name `%rip)' x86-64/xform4.S:117: Error: bad register name `%rsi)' x86-64/xform4.S:119: Error: bad register name `%rax)' x86-64/xform4.S:120: Error: bad register name `%rax)' x86-64/xform4.S:122: Error: bad register name `%rdx)' x86-64/xform4.S:123: Error: bad register name `%rdx)' x86-64/xform4.S:125: Error: bad register name `%rdi)' x86-64/xform4.S:126: Error: bad register name `%rdi)' x86-64/xform4.S:127: Error: bad register name `%rdi)' x86-64/xform4.S:132: Error: bad register name `%rdx)' x86-64/xform4.S:133: Error: bad register name `%rdi)' x86-64/xform4.S:135: Error: bad register name `%rdx)' x86-64/xform4.S:137: Error: bad register name `%rsi)' x86-64/xform4.S:138: Error: bad register name `%rsi)' x86-64/xform4.S:139: Error: bad register name `%xmm9' x86-64/xform4.S:140: Error: bad register name `%rsi)' x86-64/xform4.S:141: Error: bad register name `%xmm9' x86-64/xform4.S:142: Error: bad register name `%rsi)' x86-64/xform4.S:143: Error: bad register name `%xmm9' x86-64/xform4.S:144: Error: bad register name `%xmm9' x86-64/xform4.S:146: Error: bad register name `%xmm10' x86-64/xform4.S:150: Error: bad register name `%rdx)' x86-64/xform4.S:151: Error: bad register name `%rdi)' x86-64/xform4.S:153: Error: bad register name `%xmm8' x86-64/xform4.S:154: Error: bad register name `%rax' x86-64/xform4.S:155: Error: bad register name `%xmm8' x86-64/xform4.S:157: Error: bad register name `%xmm8' x86-64/xform4.S:159: Error: bad register name `%xmm8' x86-64/xform4.S:164: Error: bad register name `%rdx)' x86-64/xform4.S:167: Error: bad register name `%rdi)' x86-64/xform4.S:168: Error: bad register name `%rdi' x86-64/xform4.S:182: Error: bad register name `%rdx)' x86-64/xform4.S:183: Error: bad register name `%rdx)' x86-64/xform4.S:185: Error: bad register name `%rdi)' x86-64/xform4.S:186: Error: bad register name `%rdi)' x86-64/xform4.S:187: Error: bad register name `%rdi)' x86-64/xform4.S:192: Error: bad register name `%rdx)' x86-64/xform4.S:193: Error: bad register name `%rdi)' x86-64/xform4.S:194: Error: bad register name `%rsi)' x86-64/xform4.S:195: Error: bad register name `%rdi)' x86-64/xform4.S:199: Error: suffix or operands invalid for `movs' x86-64/xform4.S:210: Error: bad register name `%rdx)' x86-64/xform4.S:211: Error: bad register name `%rdx)' x86-64/xform4.S:213: Error: bad register name `%rdi)' x86-64/xform4.S:214: Error: bad register name `%rdi)' x86-64/xform4.S:216: Error: bad register name `%rdi)' x86-64/xform4.S:222: Error: bad register name `%rdx)' x86-64/xform4.S:223: Error: bad register name `%rdi)' x86-64/xform4.S:225: Error: bad register name `%rdx)' x86-64/xform4.S:227: Error: bad register name `%rsi)' x86-64/xform4.S:229: Error: bad register name `%rsi)' x86-64/xform4.S:231: Error: bad register name `%rsi)' x86-64/xform4.S:232: Error: bad register name `%rsi)' x86-64/xform4.S:234: Error: bad register name `%rsi)' x86-64/xform4.S:238: Error: bad register name `%rdi)' x86-64/xform4.S:240: Error: bad register name `%rdx)' x86-64/xform4.S:241: Error: bad register name `%rdx)' x86-64/xform4.S:242: Error: bad register name `%rdx)' x86-64/xform4.S:255: Error: bad register name `%rax' x86-64/xform4.S:256: Error: bad register name `%rdi)' x86-64/xform4.S:257: Error: bad register name `%rdi)' x86-64/xform4.S:259: Error: bad register name `%rdi' x86-64/xform4.S:262: Error: bad register name `%rdx)' x86-64/xform4.S:274: Error: bad register name `%rdx)' x86-64/xform4.S:275: Error: bad register name `%rdx)' x86-64/xform4.S:277: Error: bad register name `%rdi)' x86-64/xform4.S:278: Error: bad register name `%rdi)' x86-64/xform4.S:279: Error: bad register name `%rdi)' x86-64/xform4.S:285: Error: bad register name `%rdx)' x86-64/xform4.S:286: Error: bad register name `%rdi)' x86-64/xform4.S:288: Error: bad register name `%rsi)' x86-64/xform4.S:290: Error: bad register name `%rsi)' x86-64/xform4.S:292: Error: bad register name `%rsi)' x86-64/xform4.S:293: Error: bad register name `%rdx)' x86-64/xform4.S:295: Error: bad register name `%rsi)' x86-64/xform4.S:298: Error: bad register name `%rsi)' x86-64/xform4.S:303: Error: bad register name `%rdi)' x86-64/xform4.S:305: Error: bad register name `%rdx)' x86-64/xform4.S:306: Error: bad register name `%rdx)' x86-64/xform4.S:307: Error: bad register name `%rdx)' x86-64/xform4.S:322: Error: bad register name `%rdi)' x86-64/xform4.S:323: Error: bad register name `%rax' x86-64/xform4.S:324: Error: bad register name `%rdi)' x86-64/xform4.S:326: Error: bad register name `%rdi' x86-64/xform4.S:329: Error: bad register name `%rdx)' x86-64/xform4.S:340: Error: bad register name `%rdx)' x86-64/xform4.S:341: Error: bad register name `%rdx)' x86-64/xform4.S:343: Error: bad register name `%rdi)' x86-64/xform4.S:344: Error: bad register name `%rdi)' x86-64/xform4.S:345: Error: bad register name `%rdi)' x86-64/xform4.S:351: Error: bad register name `%rdx)' x86-64/xform4.S:352: Error: bad register name `%rdi)' x86-64/xform4.S:354: Error: bad register name `%rsi)' x86-64/xform4.S:355: Error: bad register name `%rdx)' x86-64/xform4.S:356: Error: bad register name `%rsi)' x86-64/xform4.S:358: Error: bad register name `%rsi)' x86-64/xform4.S:362: Error: bad register name `%rdi)' x86-64/xform4.S:364: Error: bad register name `%rdx)' x86-64/xform4.S:365: Error: bad register name `%rdx)' x86-64/xform4.S:372: Error: bad register name `%rax' x86-64/xform4.S:375: Error: bad register name `%rdx)' x86-64/xform4.S:378: Error: bad register name `%rdi)' x86-64/xform4.S:379: Error: bad register name `%rdi)' x86-64/xform4.S:381: Error: bad register name `%rdi' x86-64/xform4.S:395: Error: bad register name `%rdx)' x86-64/xform4.S:396: Error: bad register name `%rdx)' x86-64/xform4.S:398: Error: bad register name `%rdi)' x86-64/xform4.S:399: Error: bad register name `%rdi)' x86-64/xform4.S:401: Error: bad register name `%rdi)' x86-64/xform4.S:407: Error: bad register name `%rdx)' x86-64/xform4.S:408: Error: bad register name `%rdi)' x86-64/xform4.S:410: Error: bad register name `%rsi)' x86-64/xform4.S:411: Error: bad register name `%rsi)' x86-64/xform4.S:413: Error: bad register name `%rdx)' x86-64/xform4.S:415: Error: bad register name `%rsi)' x86-64/xform4.S:417: Error: bad register name `%rsi)' x86-64/xform4.S:419: Error: bad register name `%rsi)' x86-64/xform4.S:423: Error: bad register name `%rdi)' x86-64/xform4.S:425: Error: bad register name `%rdx)' x86-64/xform4.S:426: Error: bad register name `%rdx)' x86-64/xform4.S:436: Error: bad register name `%rax' x86-64/xform4.S:440: Error: bad register name `%rdx)' x86-64/xform4.S:444: Error: bad register name `%rdi)' x86-64/xform4.S:445: Error: bad register name `%rdi)' x86-64/xform4.S:447: Error: bad register name `%rdi' gmake[2]: *** [x86-64/xform4.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... gmake[2]: Leaving directory `/home/zozo/rpmbuild/BUILD/mesa-20080612/src/mesa' make[1]: *** [subdirs] Error 1 make[1]: Leaving directory `/home/zozo/rpmbuild/BUILD/mesa-20080612/src' make: *** [default] Error 1 error: Bad exit status from /home/zozo/rpmbuild/TMP/rpm-tmp.67499 (%build) Expected results: Mesa should be compilable on x86-64 into 32-bit binaries. Additional info: I discovered "--enable-32-bit --disable-64-bit" in the Mesa configure file. I tried adding it to mesa.spec in the following way: --- mesa.spec 2008-06-12 05:33:40.000000000 +0200 +++ mesa.spec.new 2008-06-16 17:02:20.000000000 +0200 @@ -1,5 +1,10 @@ # When bootstrapping an arch, omit the -demos subpackage. +# Cheat for building i386 binaries on x86-64 systems +%ifarch i386 i486 i586 i686 +%define bitwidth --enable-32-bit --disable-64-bit +%endif + # S390 doesn't have video cards, so it's not much use building DRI there. %ifarch s390 s390x %define with_dri 0 and added "%bitwidth" to all %configure lines. Mesa now accepted that I want to build 32-bit binaries: gcc -c -I../../include -I../../src/mesa -I../../src/mesa/main -I../../src/mesa/glapi -I../../src/mesa/math -I../../src/mesa/tnl -I../../src/mesa/shader -I../../src/mesa/shader/grammar -I../../src/mesa/shader/slang -I../../src/mesa/swrast -I../../src/mesa/swrast_setup -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fvisibility=hidden -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32 -fPIC -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN main/extensions.c -o main/extensions.o Note all the -DUSE_*_ASM flags. But the compilation still dies with mismatched binaries: mklib: Making Linux static library: libmesa.a ar: creating libmesa.a ... mklib: Making Linux static library: libglapi.a ar: creating libglapi.a (cd drivers && gmake) gmake[3]: Entering directory `/home/zozo/rpmbuild/BUILD/mesa-20080612/src/mesa/drivers' gmake[4]: Entering directory `/home/zozo/rpmbuild/BUILD/mesa-20080612/src/mesa/drivers/osmesa' gmake[5]: Entering directory `/home/zozo/rpmbuild/BUILD/mesa-20080612/src/mesa/drivers/osmesa' gcc -c -I../../../../include -I../../../../src/mesa -I../../../../src/mesa/main -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fvisibility=hidden -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32 -fPIC -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN osmesa.c -o osmesa.o ../../../../bin/mklib -o OSMesa \ -linker "gcc" \ -major 6 -minor 5 -patch 3 \ -install ../../../../lib \ \ -L../../../../lib -lm -lpthread osmesa.o ../../../../src/mesa/libmesa.a ../../../../src/mesa/libglapi.a mklib: Making Linux shared library: libOSMesa.so.6.5.3 collect2: ld terminated with signal 11 [Segmentation fault], core dumped /usr/bin/ld: i386 architecture of input file `osmesa.o' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(context.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(debug.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(depth.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(dlist.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(enums.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(eval.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(extensions.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(feedback.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(fog.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(framebuffer.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(getstring.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(hash.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(hint.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(histogram.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(image.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(imports.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(light.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(lines.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(matrix.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(pixel.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(points.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(polygon.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(queryobj.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(rastpos.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(renderbuffer.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(state.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(stencil.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texcompress_s3tc.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texcompress_fxt1.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texenvprogram.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(teximage.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texobj.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texstate.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texstore.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(varray.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vtxfmt.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(m_matrix.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(m_xform.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_context.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_exec.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_exec_api.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_exec_array.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_exec_draw.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_exec_eval.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_save.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_save_api.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_save_draw.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_save_loopback.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_context.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_pipeline.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_draw.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_program.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_render.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_texgen.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_texmat.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_vertex.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_fog.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_light.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_normals.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vb_points.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vp_build.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vertex.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vertex_sse.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(t_vertex_generic.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(arbprogram.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(atifragshader.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(nvprogram.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(nvvertparse.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(program.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(prog_execute.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(prog_instruction.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(prog_parameter.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(prog_statevars.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(shader_api.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_context.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_lines.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_points.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_span.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_stencil.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_texcombine.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_texfilter.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_triangle.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(ss_context.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(ss_triangle.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(driverfuncs.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(common_x86.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(x86.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(3dnow.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(sse.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(x86sse.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_compile.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_compile_function.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_compile_operation.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_compile_struct.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_compile_variable.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_library_noise.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_link.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_log.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_mem.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_preprocess.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_simplify.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_storage.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_typeinfo.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_vartable.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_utility.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(common_x86_asm.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(x86_xform2.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(x86_xform3.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(x86_xform4.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(x86_cliptest.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(3dnow_xform2.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(3dnow_xform3.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(3dnow_xform4.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(sse_xform2.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(sse_xform3.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(sse_xform4.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(sse_normal.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(api_arrayelt.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(api_loopback.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(api_noop.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(api_validate.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(accum.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(attrib.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(arrayobj.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(blend.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(bufferobj.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(buffers.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(clip.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(colortab.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(convolve.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(depthstencil.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(drawpix.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(enable.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(execmem.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(fbobject.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(get.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(mipmap.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(mm.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(shaders.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texcompress.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texformat.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(texrender.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(m_eval.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(m_translate.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(m_vector.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_rebase.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_split.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_split_copy.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(vbo_split_inplace.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(arbprogparse.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(grammar_mesa.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(nvfragparse.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(prog_uniform.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(programopt.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_aaline.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_aatriangle.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_accum.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_alpha.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_atifragshader.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_bitmap.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_blend.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_blit.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_buffers.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_copypix.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_depth.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_drawpix.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_feedback.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_fog.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_fragprog.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_imaging.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_logic.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_masking.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_readpix.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_texstore.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(s_zoom.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_codegen.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_emit.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_ir.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_label.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(mmx_blend.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(prog_print.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libmesa.a(slang_builtin.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libglapi.a(glapi.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libglapi.a(glthread.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../../../../src/mesa/libglapi.a(glapi_x86.o)' is incompatible with i386:x86-64 output mklib: Installing libOSMesa.so.6.5.3 libOSMesa.so.6 libOSMesa.so in ../../../../lib mv: cannot stat `libOSMesa.so.6.5.3': No such file or directory
Created attachment 309537 [details] Compile libdricore.so as 32-bit This patch is conditionally applied by the modified specfile.
Created attachment 309538 [details] Modified specfile
These two patches fixed compilation as 32-bit on x86-64 for me.
Besides any philosophical objection I might have to conditional use of %patch, the libdricore change will break DRI on 64-bit arches, so, no. This really seems like it should be fixed in the mesa configure script to figure out bitness from target rather than host word size.
You are part of the X and Mesa developer ring, so please bring up this issue there. Thanks. Until then at least I have a temporary fix for "setarch i386 rpmbuild --target i386 ..."
How about using $(CC) $(CFLAGS) ... to compile libdricore.so instead of explicit gcc -m32 ...? This way, the patch can be applied unconditionally and it will still work on 64-bit archs.
Created attachment 311662 [details] Use $(CC) $(CFLAGS) to compile libdricore.so
Created attachment 311663 [details] Modified specfile, use the new patch
This message is a reminder that Fedora 9 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 9. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '9'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 9's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 9 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Since this bugzilla report was filed, there have been several major updates in various components of the Xorg system, which may have resolved this issue. Users who have experienced this problem are encouraged to upgrade their system to the latest version of their packages (at least F12Beta, but even better if the very latest versions). Please, if you experience this problem on the up-to-date system, let us now in the comment for this bug, or whether the upgraded system works for you. If you won't be able to reply in one month, I will have to close this bug as INSUFFICIENT_DATA. Thank you. [This is a bulk message for all open Fedora Rawhide Xorg-related bugs. I'm adding myself to the CC list for each bug, so I'll see any comments you make after this and do my best to make sure every issue gets proper attention.]
Fedora 9 has been deemed officially end of live and due to the fact that this bug wasn't updated beyond version 9 per comment 9, I am closing it with a status of wontfix. -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers