From 52c20efff5178c24f49b8fba2c709f78ef365034 Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Sat, 25 Jan 2020 15:05:48 +0100 Subject: [PATCH] Better library generation --- server/repro/.gitignore | 2 +- server/repro/generate_libraries.sh | 30 ++++++++++++++---------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/server/repro/.gitignore b/server/repro/.gitignore index dacf9dc..17a5a67 100644 --- a/server/repro/.gitignore +++ b/server/repro/.gitignore @@ -1 +1 @@ -env/libs \ No newline at end of file +env/libs/ \ No newline at end of file diff --git a/server/repro/generate_libraries.sh b/server/repro/generate_libraries.sh index df9792c..71736ac 100755 --- a/server/repro/generate_libraries.sh +++ b/server/repro/generate_libraries.sh @@ -33,51 +33,49 @@ cd env || { echo "failed to enter env"; exit 1; } mkdir libs || { echo "failed to create lib directory"; exit 1; } cd libs || { echo "failed to enter lib directory"; exit 1; } -# Creating symbolic links +# Creating copied library_base=$(realpath ../../../../../libraries) # Setting up ssl library_path=$(realpath "${library_base}/boringssl/${build_path}/ssl/libssl.so") -ln -s "$library_path" . || { echo "failed to link libssl.so"; exit 1; } +cp "$library_path" . || { echo "failed to copy libssl.so"; exit 1; } # Setting up crypto library_path=$(realpath "${library_base}/boringssl/${build_path}/crypto/libcrypto.so") -ln -s "$library_path" . || { echo "failed to link libcrypto.so"; exit 1; } +cp "$library_path" . || { echo "failed to copy libcrypto.so"; exit 1; } # Setting up DataPipes library_path=$(realpath "${library_base}//DataPipes/${build_path}/lib/libDataPipes.so") -ln -s "$library_path" . || { echo "failed to link libDataPipes.so"; exit 1; } +cp "$library_path" . || { echo "failed to copy libDataPipes.so"; exit 1; } # Setting up Sqlite3 query_system_link "libsqlite3.so.0" -ln -s "${library_path}" . || { echo "failed to link libsqlite3.so.0"; exit 1; } +cp "${library_path}" . || { echo "failed to copy libsqlite3.so.0"; exit 1; } # Setting up jemalloc query_system_link "libjemalloc.so.2" -ln -s "${library_path}" . || { echo "failed to link libjemalloc.so.2"; exit 1; } +cp "${library_path}" . || { echo "failed to copy libjemalloc.so.2"; exit 1; } # Setting up TeaMusic library_path=$(realpath "../../../../MusicBot/libs/libTeaMusic.so") -ln -s "$library_path" . || { echo "failed to link libTeaMusic.so"; exit 1; } +cp "$library_path" . || { echo "failed to copy libTeaMusic.so"; exit 1; } if ldd "../../../environment/TeaSpeakServer" | grep -q "libnice.so.10"; then echo "Adding web libraries" # Setting up libnice library_path=$(realpath "${library_base}/libnice/${build_os_type}_${build_os_arch}/lib/libnice.so.10") - ln -s "$library_path" . || { echo "failed to link libnice.so.10"; exit 1; } + cp "$library_path" . || { echo "failed to copy libnice.so.10"; exit 1; } # Setting up libpcre query_system_link "libpcre.so.3" - ln -s "${library_path}" . || { echo "failed to link libpcre.so.3"; exit 1; } + cp "${library_path}" . || { echo "failed to copy libpcre.so.3"; exit 1; } fi -# Validate setup -broken_links=$(find . -type l ! -exec test -e {} \; -print) -[[ -n ${broken_links} ]] && { - echo "Failed to setup all links. Some seem to be broken:" - echo "$broken_links" - exit 1 -} +# Fix rpaths +for file in *.so*; do + echo "Editing rpath for $file" + patchelf --set-rpath "./libs/:./" "$file" +done echo "All libraries have been linked successfully" \ No newline at end of file