Skip to content

Commit

Permalink
Remove errant RPATHs from binaries (pytorch#3163)
Browse files Browse the repository at this point in the history
Summary:
X-link: facebookresearch/FBGEMM#261

- Remove errant RPATHs from binaries (pytorch#3098)

Pull Request resolved: pytorch#3163

Reviewed By: basilwong

Differential Revision: D63294995

Pulled By: q10

fbshipit-source-id: a104c5958ba0d4caa954155aae898cda703943ce
  • Loading branch information
q10 authored and facebook-github-bot committed Sep 25, 2024
1 parent dad29b2 commit 85de260
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/scripts/fbgemm_gpu_build.bash
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,9 @@ __print_library_infos () {

echo "[CHECK] Listing out external shared libraries linked:"
print_exec ldd "${library}"

echo "[CHECK] Displaying ELF information:"
print_exec readelf -d "${library}"
echo "################################################################################"
echo ""
echo ""
Expand Down
23 changes: 23 additions & 0 deletions .github/scripts/fbgemm_gpu_postbuild.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

echo "################################################################################"
echo "[CMAKE] Running post-build script ..."

# Print directory
pwd

# List all generated .SO files
find . -name '*.so'

# Remove errant RPATHs from the .SO
# https://github.com/pytorch/FBGEMM/issues/3098
# https://github.com/NixOS/patchelf/issues/453
find . -name '*.so' -print0 | xargs -0 patchelf --remove-rpath

echo "[CMAKE] Removed errant RPATHs"
echo "################################################################################"
1 change: 1 addition & 0 deletions .github/scripts/utils_build.bash
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ install_build_tools () {
ncurses \
ninja \
openblas \
patchelf \
scikit-build \
wheel) || return 1

Expand Down
6 changes: 6 additions & 0 deletions fbgemm_gpu/FbgemmGpu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -725,3 +725,9 @@ install(FILES ${gen_python_source_files}

install(FILES ${gen_defused_optim_py_files}
DESTINATION fbgemm_gpu/split_embedding_optimizer_codegen)

add_custom_target(fbgemm_gpu_py_clean_rpath ALL
WORKING_DIRECTORY ${OUTPUT_DIR}
COMMAND bash ${FBGEMM}/.github/scripts/fbgemm_gpu_postbuild.bash)

add_dependencies(fbgemm_gpu_py_clean_rpath fbgemm_gpu_py)
7 changes: 7 additions & 0 deletions fbgemm_gpu/experimental/example/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,10 @@ install(TARGETS fbgemm_gpu_experimental_example_py

install(FILES ${experimental_example_python_source_files}
DESTINATION fbgemm_gpu/experimental/example)

add_custom_target(fbgemm_gpu_experimental_example_py_clean_rpath ALL
WORKING_DIRECTORY ${OUTPUT_DIR}
COMMAND bash ${FBGEMM}/.github/scripts/fbgemm_gpu_postbuild.bash)

add_dependencies(fbgemm_gpu_experimental_example_py_clean_rpath
fbgemm_gpu_experimental_example_py)
7 changes: 7 additions & 0 deletions fbgemm_gpu/experimental/gen_ai/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,10 @@ install(TARGETS fbgemm_gpu_experimental_gen_ai_py

install(FILES ${experimental_gen_ai_python_source_files}
DESTINATION fbgemm_gpu/experimental/gen_ai)

add_custom_target(fbgemm_gpu_experimental_gen_ai_py_clean_rpath ALL
WORKING_DIRECTORY ${OUTPUT_DIR}
COMMAND bash ${FBGEMM}/.github/scripts/fbgemm_gpu_postbuild.bash)

add_dependencies(fbgemm_gpu_experimental_gen_ai_py_clean_rpath
fbgemm_gpu_experimental_gen_ai_py)

0 comments on commit 85de260

Please sign in to comment.