Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add target libraries/executables to executable's RPATH #17

Merged
merged 2 commits into from
Nov 5, 2024

Conversation

billysuh7
Copy link
Contributor

@billysuh7 billysuh7 commented Oct 31, 2024

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

conda-forge/cuda-feedstock#10

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@jakirkham
Copy link
Member

Seeing the following warnings on CI

WARNING (cuda-gdb,bin/cuda-gdb): $RPATH/libstdc++.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
   INFO (cuda-gdb,bin/cuda-gdb): Needed DSO aarch64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-aarch64==2.17=h5b4a56d_18
WARNING (cuda-gdb,bin/cuda-gdb): $RPATH/libgcc_s.so.1 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?

Both of those packages are there. So this suggests we might still be missing something with how the RPATH is set. So let's give this one another look

@billysuh7
Copy link
Contributor Author

Seeing the following warnings on CI

WARNING (cuda-gdb,bin/cuda-gdb): $RPATH/libstdc++.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
   INFO (cuda-gdb,bin/cuda-gdb): Needed DSO aarch64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-aarch64==2.17=h5b4a56d_18
WARNING (cuda-gdb,bin/cuda-gdb): $RPATH/libgcc_s.so.1 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?

Both of those packages are there. So this suggests we might still be missing something with how the RPATH is set. So let's give this one another look

Pushed the fix. These missing DSO warnings are gone now after patching cuda-gdb file for aarch64. I was ignoring it because it was a shell script for linux-64, but didn't realize it is a binary executable for aarch64. Thanks.

if [[ $i == "bin" ]]; then
for j in `ls "${i}"`; do
[[ -f "bin/${j}" ]] || continue
[[ ${j} == "cuda-gdb" && ${target_platform} == "linux-64" ]] && continue # cuda-gdb is a shell script for linux-64
Copy link
Member

Choose a reason for hiding this comment

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

Thanks for catching this Billy! 🙏

Just to clarify for anyone who reads this thread...

  • cuda-gdb is a binary on linux-aarch64
  • cuda-gdb is a shell script on linux-64

So we patch the former and skip the latter

@jakirkham jakirkham merged commit 7f6c2d6 into conda-forge:main Nov 5, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants