Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 644082 - 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
Summary: sys-libs/glibc-2.25-r10 - /usr/x86_64-pc-linux-gnu/bin/ld: .../work/build-amd...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-10 00:36 UTC by Ted Marston
Modified: 2018-01-17 23:18 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge -v --info (info-r1,18.68 KB, text/plain)
2018-01-10 00:36 UTC, Ted Marston
Details
glibc-2.25-r10:20180109-215232.log.gz (glibc-2.25-r10:20180109-215232.log.gz,983.93 KB, application/gzip)
2018-01-10 00:44 UTC, Ted Marston
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ted Marston 2018-01-10 00:36:28 UTC
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.
Comment 1 Ted Marston 2018-01-10 00:44:31 UTC
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.
Comment 2 Ted Marston 2018-01-11 14:05:16 UTC
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.
Comment 3 Ted Marston 2018-01-17 16:58:47 UTC
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.
Comment 4 Andreas K. Hüttel archtester gentoo-dev 2018-01-17 23:18:21 UTC
(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...