| Summary: | sys-libs/glibc-2.25-r10 - /usr/x86_64-pc-linux-gnu/bin/ld: .../work/build-amd64-x86_64-pc-linux-gnu-nptl/csu/crt1.o: relocation R_X86_64_32S against symbol `__libc_csu_fini' can not be used when making a shared object; recompile | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Ted Marston <ted> |
| Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
| Status: | RESOLVED OBSOLETE | ||
| Severity: | normal | CC: | ted |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
emerge -v --info
glibc-2.25-r10:20180109-215232.log.gz |
||
Created attachment 514048 [details]
glibc-2.25-r10:20180109-215232.log.gz
This is glibc-2.25-r10:20180109-215232.log.gz build log.
The log for glibc-2.25-r9:20180109-215232.log.gz was very similar.
Trying to build glibc-2.25-r9 with gcc:2.7.0 also results in a similar error message. To be clear, the steps were as follows: 1. add sys-devel/gcc:7.2.0 to package.accept_keywords 2. emerge -1 sys-devel/gcc:7.2.0 3. gcc-config 5 <- this is x86_64-pc-linux-gnu-7.2.0 4. . /etc/profile 5. emerge -1 sys-devel/libtool <- this is libtool-2.4.6-r3 6. eselect profile set 12 <- this is "default/linux/amd64/17.0" 7. emerge -1 sys-devel/gcc:7.2.0 8. . /etc/profile 9. emerge -1 sys-devel/binutils <- this is binutils-2.29.1-r1 10. emerge -1 sys-libs/glibc <- failed Repeating similar steps, using gcc-6.4.0 and glibc-2.25-r9, or gcc-6.4.0-r1 and glibc-2.25-r10, or gcc-7.2.0 and glibc-2.25-r9, have all led to a similar error message from ld. So it seems I am unable to build a working toolchain on profile "default/linux/amd64/17.0" Why am I the only one reporting this? After reading https://sourceware.org/bugzilla/show_bug.cgi?id=22626 for the powerpc I wonder whether a later version of binutils is needed. After a very thorough clear out of old versions of gcc
(NB. emerge -C failed to remove parts of old versions of gcc)
so that all was left was sys-devel/gcc-6.4.0-r1,
and returning to sys-libs/glibc-2.25-r9,
and adding pie to sys-devel/gcc package.use flags
and adding CFLAGS="${CFLAGS} -fPIE" to sys-devel/gcc's emerge environment,
and rebuilding sys-devel/gcc-6.4.0-r1,
and rebuilding sys-devel/libtool-2.4.6-r3,
and rebuilding sys-devel/binutils-2.29.1-r1
and updating portage,
and updating world,
I noticed that glibc-2.25-r9 rebuilt fully without errors.
eix -I /gcc$ now reports
Installed versions: 6.4.0-r1(6.4.0)^s(07:18:38 01/17/18)(cxx fortran multilib nls nptl openmp pch pie sanitize ssp vtv -altivec -awt -cilk -debug -doc -fixed-point -gcj -go -graphite -hardened -jit -libssp -mpx -objc -objc++ -objc-gc -pgo -regression-test -vanilla)
So USE="pie" is now set.
I'm not sure whuch of the above changes fixed this but the problem seems to have disappeared.
Sorry for the noise.
(In reply to Ted Marston from comment #3) > After a very thorough clear out of old versions of gcc > (NB. emerge -C failed to remove parts of old versions of gcc) > so that all was left was sys-devel/gcc-6.4.0-r1, > and returning to sys-libs/glibc-2.25-r9, > and adding pie to sys-devel/gcc package.use flags > and adding CFLAGS="${CFLAGS} -fPIE" to sys-devel/gcc's emerge environment, > and rebuilding sys-devel/gcc-6.4.0-r1, > and rebuilding sys-devel/libtool-2.4.6-r3, > and rebuilding sys-devel/binutils-2.29.1-r1 > and updating portage, > and updating world, > I noticed that glibc-2.25-r9 rebuilt fully without errors. > > eix -I /gcc$ now reports > Installed versions: 6.4.0-r1(6.4.0)^s(07:18:38 01/17/18)(cxx fortran > multilib nls nptl openmp pch pie sanitize ssp vtv -altivec -awt -cilk -debug > -doc -fixed-point -gcj -go -graphite -hardened -jit -libssp -mpx -objc > -objc++ -objc-gc -pgo -regression-test -vanilla) > > So USE="pie" is now set. > > I'm not sure whuch of the above changes fixed this but the problem seems to > have disappeared. > > Sorry for the noise. Thanks for your efforts. Sorry for not reacting earlier... I had a quick look here, but no clue what to do... |
Created attachment 514046 [details] emerge -v --info glibc-2.25-r9 and glibc-2.25-r10 both fail to build during upgrade to profile-17. /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/crtbegin.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object I've followed the instructions in the news item "2017-11-30 New 17.0 profiles in the Gentoo repository", step by step, choosing the "default/linux/amd64/17.0" profile, first using gcc-6.4.0 to build glibc-2.25-r9 and then gcc-6.4.0-r1 to build glibc-2.25-r10. Both routes led to the same error message.