Skip to content

Commit

Permalink
[fbgemm_gpu] Remove errant RPATHs from binaries
Browse files Browse the repository at this point in the history
- Remove errant RPATHs from binaries (pytorch#3098)
  • Loading branch information
q10 committed Sep 23, 2024
1 parent 2889f3a commit bf99cd2
Show file tree
Hide file tree
Showing 7 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
21 changes: 21 additions & 0 deletions .github/scripts/fbgemm_gpu_postbuild.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/sh
# 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
find . -name *.so | xargs 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
4 changes: 4 additions & 0 deletions fbgemm_gpu/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,7 @@ if(NOT FBGEMM_CPU_ONLY AND NOT USE_ROCM)
#
add_subdirectory(experimental/gen_ai)
endif()


# install(CODE "execute_process(COMMAND ../.github/scripts/fbgemm_gpu_postbuild.sh)")
# ; patchelf --remove-rpath *.so)
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)
6 changes: 6 additions & 0 deletions fbgemm_gpu/experimental/example/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,9 @@ 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)
6 changes: 6 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,9 @@ 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 bf99cd2

Please sign in to comment.