Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 913412 - media-libs/x265-3.5-r2[-pic,abi_x86_32] fails to compile with sys-devel/binutils-2.41-r1: read-only segment has dynamic relocations
Summary: media-libs/x265-3.5-r2[-pic,abi_x86_32] fails to compile with sys-devel/binut...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on: 920463
Blocks: binutils-2.41
  Show dependency tree
 
Reported: 2023-09-01 14:06 UTC by Miroslav Šulc
Modified: 2023-12-21 09:59 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miroslav Šulc gentoo-dev 2023-09-01 14:06:20 UTC
FAILED: libx265.so.199 
: && /usr/bin/x86_64-pc-linux-gnu-g++ -m32 -mfpmath=sse -fPIC -march=native -O2 -pipe -frecord-gcc-switches  -Wl,-O1 -Wl,--as-needed  -L. -Wl,-Bsymbolic,-znoexecstack -shared -Wl,-soname,libx265.so.199 -o libx265.so.199 encoder/CMakeFiles/encoder.dir/analysis.cpp.o encoder/CMakeFiles/encoder.dir/search.cpp.o encoder/CMakeFiles/encoder.dir/bitcost.cpp.o encoder/CMakeFiles/encoder.dir/motion.cpp.o encoder/CMakeFiles/encoder.dir/slicetype.cpp.o encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o encoder/CMakeFiles/encoder.dir/framefilter.cpp.o encoder/CMakeFiles/encoder.dir/level.cpp.o encoder/CMakeFiles/encoder.dir/nal.cpp.o encoder/CMakeFiles/encoder.dir/sei.cpp.o encoder/CMakeFiles/encoder.dir/sao.cpp.o encoder/CMakeFiles/encoder.dir/entropy.cpp.o encoder/CMakeFiles/encoder.dir/dpb.cpp.o encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o encoder/CMakeFiles/encoder.dir/reference.cpp.o encoder/CMakeFiles/encoder.dir/encoder.cpp.o encoder/CMakeFiles/encoder.dir/api.cpp.o encoder/CMakeFiles/encoder.dir/weightPrediction.cpp.o common/CMakeFiles/common.dir/x86/pixel-a.asm.o common/CMakeFiles/common.dir/x86/const-a.asm.o common/CMakeFiles/common.dir/x86/cpu-a.asm.o common/CMakeFiles/common.dir/x86/ssd-a.asm.o common/CMakeFiles/common.dir/x86/mc-a.asm.o common/CMakeFiles/common.dir/x86/mc-a2.asm.o common/CMakeFiles/common.dir/x86/pixel-util8.asm.o common/CMakeFiles/common.dir/x86/blockcopy8.asm.o common/CMakeFiles/common.dir/x86/pixeladd8.asm.o common/CMakeFiles/common.dir/x86/dct8.asm.o common/CMakeFiles/common.dir/x86/seaintegral.asm.o common/CMakeFiles/common.dir/x86/sad-a.asm.o common/CMakeFiles/common.dir/x86/intrapred8.asm.o common/CMakeFiles/common.dir/x86/intrapred8_allangs.asm.o common/CMakeFiles/common.dir/x86/v4-ipfilter8.asm.o common/CMakeFiles/common.dir/x86/h-ipfilter8.asm.o common/CMakeFiles/common.dir/x86/ipfilter8.asm.o common/CMakeFiles/common.dir/x86/loopfilter.asm.o common/CMakeFiles/common.dir/x86/pixel-32.asm.o common/CMakeFiles/common.dir/x86/asm-primitives.cpp.o common/CMakeFiles/common.dir/vec/vec-primitives.cpp.o common/CMakeFiles/common.dir/vec/dct-sse3.cpp.o common/CMakeFiles/common.dir/vec/dct-ssse3.cpp.o common/CMakeFiles/common.dir/vec/dct-sse41.cpp.o common/CMakeFiles/common.dir/primitives.cpp.o common/CMakeFiles/common.dir/pixel.cpp.o common/CMakeFiles/common.dir/dct.cpp.o common/CMakeFiles/common.dir/lowpassdct.cpp.o common/CMakeFiles/common.dir/ipfilter.cpp.o common/CMakeFiles/common.dir/intrapred.cpp.o common/CMakeFiles/common.dir/loopfilter.cpp.o common/CMakeFiles/common.dir/constants.cpp.o common/CMakeFiles/common.dir/cpu.cpp.o common/CMakeFiles/common.dir/version.cpp.o common/CMakeFiles/common.dir/threading.cpp.o common/CMakeFiles/common.dir/threadpool.cpp.o common/CMakeFiles/common.dir/wavefront.cpp.o common/CMakeFiles/common.dir/md5.cpp.o common/CMakeFiles/common.dir/bitstream.cpp.o common/CMakeFiles/common.dir/yuv.cpp.o common/CMakeFiles/common.dir/shortyuv.cpp.o common/CMakeFiles/common.dir/picyuv.cpp.o common/CMakeFiles/common.dir/common.cpp.o common/CMakeFiles/common.dir/param.cpp.o common/CMakeFiles/common.dir/frame.cpp.o common/CMakeFiles/common.dir/framedata.cpp.o common/CMakeFiles/common.dir/cudata.cpp.o common/CMakeFiles/common.dir/slice.cpp.o common/CMakeFiles/common.dir/lowres.cpp.o common/CMakeFiles/common.dir/piclist.cpp.o common/CMakeFiles/common.dir/predict.cpp.o common/CMakeFiles/common.dir/scalinglist.cpp.o common/CMakeFiles/common.dir/quant.cpp.o common/CMakeFiles/common.dir/deblock.cpp.o common/CMakeFiles/common.dir/scaler.cpp.o  -Wl,-Bstatic  -lx265_main12  -lx265_main10  -Wl,-Bdynamic  -lpthread  -lrt  -ldl && :
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: common/CMakeFiles/common.dir/x86/pixel-a.asm.o: warning: relocation in read-only section `.text'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: read-only segment has dynamic relocations
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.


# emerge -pqv '=media-libs/x265-3.5-r2::gentoo'
[ebuild   R   ] media-libs/x265-3.5-r2  USE="10bit 12bit -numa -pic -test" ABI_X86="32 (64) (-x32)"
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-01 14:09:05 UTC
Does USE=pic help?
Comment 2 Miroslav Šulc gentoo-dev 2023-09-01 14:15:27 UTC
(In reply to Sam James from comment #1)
> Does USE=pic help?

it does help.
Comment 3 Larry the Git Cow gentoo-dev 2023-12-13 21:44:31 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7df93674f9e3aef31b49307e3edd955c52a8ee74

commit 7df93674f9e3aef31b49307e3edd955c52a8ee74
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-10-09 02:42:18 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-13 21:44:19 +0000

    profiles/features/hardened/amd64: enable USE=pic
    
    There's no real reason not to do this. The status quo is wrong for when
    we're doing multilib 32-bit builds on x86, and we already have to undo
    this on musl because its handling for TEXTRELs is limited (see bug #707660).
    
    (I noted my intention to do this in 80a72bac2350811712c018b68f61a031736c579f
    as well.)
    
    This seems to have been added originally in e718e1dc1781b3bb5cd80233c217aea3b0e46755
    and bb28d08f1cf8cf16f6e57929a8de6b7c85bbe714 (git graft commit).
    
    Bug: https://bugs.gentoo.org/707660
    Bug: https://bugs.gentoo.org/913412
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/features/hardened/amd64/make.defaults             | 2 +-
 profiles/features/hardened/amd64/no-multilib/make.defaults | 6 ------
 2 files changed, 1 insertion(+), 7 deletions(-)
Comment 4 Larry the Git Cow gentoo-dev 2023-12-21 09:57:15 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95c1bdc571f49363a2e8c3acc9c65cb3d51131e3

commit 95c1bdc571f49363a2e8c3acc9c65cb3d51131e3
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-12-21 08:16:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-12-21 09:56:23 +0000

    media-libs/x265: always build as PIC
    
    Linkers are getting stricter.
    
    Closes: https://bugs.gentoo.org/913412
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/x265/x265-3.5-r3.ebuild | 217 +++++++++++++++++++++++++++++++++++++
 media-libs/x265/x265-9999.ebuild   |  15 +--
 2 files changed, 223 insertions(+), 9 deletions(-)
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-21 09:58:13 UTC
There's a chance that the next release might be better here for ARM at least (https://bitbucket.org/multicoreware/x265_git/commits/02a961bcd26cb299108a2065692500ab895059e9).