Skip to content

enable PIC in recent x265 easyconfigs to solve compilation errors on RISC-V#20971

Merged
boegel merged 1 commit intoeasybuilders:developfrom
bedroge:x265_enable_pic
Jul 5, 2024
Merged

enable PIC in recent x265 easyconfigs to solve compilation errors on RISC-V#20971
boegel merged 1 commit intoeasybuilders:developfrom
bedroge:x265_enable_pic

Conversation

@bedroge
Copy link
Copy Markdown
Contributor

@bedroge bedroge commented Jul 5, 2024

This solves the following issue on RISC-V:

/cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld: encoder/CMakeFiles/encoder.dir/analysis.cpp.o: relocation R_RISCV_HI20 against `_ZN4x26510g_log2SizeE' can not be used when making a shared object; recompile with -fPIC
/cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld: encoder/CMakeFiles/encoder.dir/search.cpp.o: relocation R_RISCV_HI20 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld: encoder/CMakeFiles/encoder.dir/bitcost.cpp.o: relocation R_RISCV_HI20 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

<more of those....>

/cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld: common/CMakeFiles/common.dir/deblock.cpp.o: relocation R_RISCV_HI20 against `_ZN4x26515g_zscanToRasterE' can not be used when making a shared object; recompile with -fPIC
/cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld: common/CMakeFiles/common.dir/scaler.cpp.o: relocation R_RISCV_HI20 against `_ZTVN4x26512ScalerFilterE' can not be used when making a shared object; recompile with -fPIC
/cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld: unresolvable R_RISCV_CALL_PLT relocation against symbol `log@@GLIBC_2.27'
/cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld: unresolvable R_RISCV_CALL_PLT relocation against symbol `__cxa_atexit@@GLIBC_2.27'
/tmp/eb-xqbykceq/tmp9gre4wcp/rpath_wrappers/ld_wrapper/ld: line 69: 234648 Segmentation fault      /cvmfs/riscv.eessi.io/versions/20240402/compat/linux/riscv64/usr/bin/ld "${CMD_ARGS[@]}"
collect2: error: ld returned 139 exit status

Note that adding 'pic': True to toolchainopts didn't work, the CMake configuration of x265 has a specific option to enable this.

@bedroge
Copy link
Copy Markdown
Contributor Author

bedroge commented Jul 5, 2024

Test report by @bedroge
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
starfive - Linux Debian GNU/Linux n/a, RISC-V-64, UNKNOWN, Python 3.10.9
See https://gist.github.com/bedroge/03198fc6e860244591dfd1a78f494784 for a full test report.

@bedroge
Copy link
Copy Markdown
Contributor Author

bedroge commented Jul 5, 2024

Test report by @bedroge
SUCCESS
Build succeeded for 7 out of 7 (5 easyconfigs in total)
bob-Latitude-5300 - Linux Ubuntu 22.04, x86_64, Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz, Python 3.10.12
See https://gist.github.com/bedroge/8c2c4c39a551c2a661e71812b7a4f675 for a full test report.

@bedroge
Copy link
Copy Markdown
Contributor Author

bedroge commented Jul 5, 2024

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@bedroge: Request for testing this PR well received on login1

PR test command 'EB_PR=20971 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_20971 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 13897

Test results coming soon (I hope)...

Details

- notification for comment with ID 2211385194 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@bedroge
Copy link
Copy Markdown
Contributor Author

bedroge commented Jul 5, 2024

Test report by @bedroge
SUCCESS
Build succeeded for 6 out of 6 (5 easyconfigs in total)
interactive1 - Linux Rocky Linux 8.9, x86_64, AMD EPYC-Milan Processor (zen2), Python 3.6.8
See https://gist.github.com/bedroge/5b259ea02852b2fe3fd18fb3d3b4b2dc for a full test report.

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 5 out of 5 (5 easyconfigs in total)
cns1 - Linux Rocky Linux 8.9, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/31c3b245893883108ca46e62a51ce2ad for a full test report.

@bedroge
Copy link
Copy Markdown
Contributor Author

bedroge commented Jul 5, 2024

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@bedroge: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=20971 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_20971 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 4530

Test results coming soon (I hope)...

Details

- notification for comment with ID 2211391883 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel boegel added this to the release after 4.9.2 milestone Jul 5, 2024
Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 5 out of 5 (5 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.4, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.18
See https://gist.github.com/boegelbot/4d81862cdfddc9106394840b9acb1ce4 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Jul 5, 2024

Test report by @boegel
SUCCESS
Build succeeded for 5 out of 5 (5 easyconfigs in total)
node3158.skitty.os - Linux RHEL 8.8, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz, Python 3.6.8
See https://gist.github.com/boegel/815118daa65b64384dc867e1f6b979b0 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Jul 5, 2024

Going in, thanks @bedroge!

@boegel boegel merged commit 3e40e2d into easybuilders:develop Jul 5, 2024
@bedroge bedroge deleted the x265_enable_pic branch July 5, 2024 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

EESSI Related to EESSI project enhancement riscv

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants