[Bug 49507] New: 32-bit libwine fails to link: relocations against non-PIC objects in libwine_port.a
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(a)winehq.org Reporter: bero(a)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 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49507 Zebediah Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12(a)gmail.com --- Comment #1 from Zebediah Figura <z.figura12(a)gmail.com> --- Those are 64-bit relocations. You probably reused a 64-bit build tree for a 32-bit one; you'll need to run 'make clean' in that case first. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49507 --- Comment #2 from Bernhard Rosenkränzer <bero(a)lindev.ch> --- After some more debugging, the problem was a "-m64" in the CFLAGS environment variable. Will leave the bug report open because it would be nice if the configure script caught a -m64 in compiler flags when asked to build 32-bit libraries. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49507 Bernhard Rosenkränzer <bero(a)lindev.ch> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|32-bit libwine fails to |32-bit libwine fails to |link: relocations against |build with a non-obvious |non-PIC objects in |error if CFLAGS contains |libwine_port.a |-m64 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49507 --- Comment #3 from Rafał Mużyło <galtgendo(a)o2.pl> --- ...I'd say that's a pure GIGO - you just don't put either '-m64' or '-m32' into your CFLAGS if you aren't explicitly cross-compiling. wine does, so it does, but the user should only do that if they have a specific need for a project. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla