| Summary: | media-libs/openjpeg-1.5.0: build failure: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC CMakeFiles/openjpeg.dir/cio.c.o: could not read symbols: Bad value | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Gavin Pryke <gavinlee303> |
| Component: | [OLD] Library | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
| Status: | RESOLVED TEST-REQUEST | ||
| Severity: | normal | CC: | gavinlee303, tomwij |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | media-libs:openjpeg-1.5.0:20130201-095704.log | ||
|
Description
Gavin Pryke
2013-02-01 10:13:29 UTC
Created attachment 337576 [details]
media-libs:openjpeg-1.5.0:20130201-095704.log
Sorry for more noise but another package failed after doing emerge --resume --skipfirst media-libs/qimageblitz-0.0.6-r1 /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/qimageblitz.dir/blitz.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC CMakeFiles/qimageblitz.dir/blitz.o: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [blitz/libqimageblitz.so.4.0.0] Error 1 tried to find others in the bug tracker with this: https://bugs.gentoo.org/buglist.cgi?quicksearch=recompile%20with%20pic Bugs #454978, #444012, #382211, #398677, #407435 showed up. Please tell me if I should file another bug for media-libs/qimageblitz. Thanks Problem was CFLAGS/CXXFLAGS containing tabs, it seems cmake based ebuilds do not like this as the rest of system set compiled fine. After removing tabs from CFLAGS/CXXFLAGS the packages mentioned build successfully. Yes, best to use spaces in those since it uses these to execute commands. Are you sure you solely converted the tabs to spaces? There are a lot of other uncommon and perhaps unsafe things in your flags. Yes, tested with minimal cflags then added them all back without the tabs. If I put a few random tabs back in and compile the above packages again, the failure is exactly the same. My CFLAGS are just copy and pasted from what -march=native shows plus -O2, -ggdb and -pipe. I only added more after the update to gcc-4.6.3 which showed more flags appended. Sometimes I use distcc helper machines and having -march=native there causes problems. Maybe this should be renamed "tabs in CFLAGS breaks packages with CMake build scripts" but I consider this my error and this probably should be closed as invalid if tabs are not legal there (it's just whitespace though, no? :). It threw me that most of the system set (something like 400 packages) compiled fine until those couple of cryptic errors showed up. After reading the other bugs it gave me the idea that something in CFLAGS could be the problem and it turned out not to be the flags but tabs. So sorry for all the fuss. Thanks. |