https://bugs.winehq.org/show_bug.cgi?id=49507
Bug ID: 49507 Summary: 32-bit libwine fails to link: relocations against non-PIC objects in libwine_port.a Product: Wine Version: 5.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: bero@lindev.ch Distribution: ---
Building the 32-bit part of wine in a WoW64 setup fails:
gcc -m32 -o libwine.so.1.0 c_037.o [...] -shared -Wl,-soname,libwine.so.1 -Wl,--version-script=../../../libs/wine/wine.map \ ../../libs/port/libwine_port.a -ldl -Os -fomit-frame-pointer -g1 -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -fstack-protector-all --param=ssp-buffer-size=4 -O3 -m64 -march=znver1 -mtune=znver1 -mmmx -msse -msse2 -mssse3 -msse4a -msse4.1 -msse4.2 -mavx -mavx2 -msha -maes -mclflushopt -mfsgsbase -mrdrnd -mfma -mrdseed -mpopcnt -madx -mbmi -mbmi2 -mfxsr -mxsave -mxsaveopt -mxsavec -mxsaves -mmwaitx -mclzero -mfpmath=sse -Wl,-O2 /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: compose.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: config.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: cptable.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: debug.o: relocation R_X86_64_32S against `.bss' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: fold.o: relocation R_X86_64_32S against hidden symbol `wine_compatmap' can not be used when making a shared object /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: loader.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: mbtowc.o: relocation R_X86_64_32S against hidden symbol `nfd_table' can not be used when making a shared object /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: mmap.o: relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: port.o: relocation R_X86_64_32S against symbol `wine_casemap_lower' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: sortkey.o: relocation R_X86_64_32S against hidden symbol `collation_table' can not be used when making a shared object /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: utf8.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: wctomb.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-openmandriva-linux-gnu/10.1.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: ../../libs/port/libwine_port.a(string.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC collect2: error: ld returned 1 exit status