Sebastian Redl wrote:
Hi,
        >
While trying to compile OpenOffice.org, I was blocked by the inability
to compile icu-3.4.1.
The compilation fails on linking the third library it tries to build,
libicui18n.so, with this message:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld:
ucol_wgt.o: relocation R_X86_64_PC32 against `compareRanges' can not be
used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld:
final link failed: Bad value
collect2: ld returned 1 exit status

It worked fine on my working system (CFLAGS="-O2 -march=opteron -pipe"), but failed the same way in my development chroot (CFLAGS="-ggdb -march=k8 -pipe").

I didn't look at the code yet, but I guess it has some #ifndef __OPTIMIZED__. __OPTIMIZED__ is set by gcc with -O2 and above. I guess if you switch back to your -O3 CFLAGS it will compile.

I even manually removed the previously built libraries (libicudata.so
and libicuuc.so) and relinked them with -fPIC, although I don't even
know whether the flag has any influence on linking. Same error.

-fPIC only affects compilation

I have the same problem when manually trying to compile any
Mozilla-based application. However, most programs and libraries build
fine - I just finished merging KOffice without any problems.


So, is my toolchain screwed up? Am I doing something wrong? Is the icu
ebuild simply broken?

I have exactly the same versions of binutils in both working and development system and never had problems, so I'd say all is fine on your side. We'll have to fix the ebuild I guess.

--
Kind Regards,

Simon Stelling
Gentoo/AMD64 developer
--
[email protected] mailing list

Reply via email to