1
0
Fork 0
forked from lthn/blockchain

build: an attempt to fix boost lib paths in macOS CLI binaries

This commit is contained in:
sowle 2023-11-20 15:50:16 +01:00
parent 46f4e317f4
commit dec913c4e9
2 changed files with 25 additions and 24 deletions

View file

@ -59,12 +59,12 @@ if [ $? -ne 0 ]; then
fi
# copy all necessary libs into the bundle in order to workaround El Capitan's SIP restrictions
mkdir -p Zano.app/Contents/Frameworks/boost_libs
cp -R "$ZANO_BOOST_LIBS_PATH/" Zano.app/Contents/Frameworks/boost_libs/
if [ $? -ne 0 ]; then
echo "Failed to cp workaround to MacOS"
exit 1
fi
#mkdir -p Zano.app/Contents/Frameworks/boost_libs
#cp -R "$ZANO_BOOST_LIBS_PATH/" Zano.app/Contents/Frameworks/boost_libs/
#if [ $? -ne 0 ]; then
# echo "Failed to cp workaround to MacOS"
# exit 1
#fi
# rename process name to big letter
mv Zano.app/Contents/MacOS/zano Zano.app/Contents/MacOS/Zano
@ -81,10 +81,10 @@ fi
# fix boost libs paths in main executable and libs to workaround El Capitan's SIP restrictions
source ../../../utils/macosx_fix_boost_libs_path.sh
fix_boost_libs_in_binary @executable_path/../Frameworks/boost_libs Zano.app/Contents/MacOS/Zano
fix_boost_libs_in_binary @executable_path/../Frameworks/boost_libs Zano.app/Contents/MacOS/simplewallet
fix_boost_libs_in_binary @executable_path/../Frameworks/boost_libs Zano.app/Contents/MacOS/zanod
fix_boost_libs_in_libs @executable_path/../Frameworks/boost_libs Zano.app/Contents/Frameworks/boost_libs
fix_boost_libs_in_binary @executable_path/../Frameworks Zano.app/Contents/MacOS/Zano
fix_boost_libs_in_binary @executable_path/../Frameworks Zano.app/Contents/MacOS/simplewallet
fix_boost_libs_in_binary @executable_path/../Frameworks Zano.app/Contents/MacOS/zanod
#fix_boost_libs_in_libs @executable_path/../Frameworks/boost_libs Zano.app/Contents/Frameworks/boost_libs

View file

@ -2,12 +2,12 @@ set -e
function rel_path() # $1 - path to a target dir/file, $2 - base dir
{
python -c "import os.path; print os.path.relpath('$1', os.path.dirname('$2'))"
python3 -c "import os.path; print(os.path.relpath('$1', os.path.dirname('$2')))"
}
function abs_path()
{
python -c "import os.path; print os.path.abspath('$1')"
python3 -c "import os.path; print(os.path.abspath('$1'))"
}
function fix_boost_libs_in_binary() # $1 - path to boost libs, $2 - binary to fix
@ -17,23 +17,24 @@ function fix_boost_libs_in_binary() # $1 - path to boost libs, $2 - binary to fi
echo "fix_boost_libs_in_binary is called with no or invalid parameters"
return 1
fi
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2
install_name_tool -change libboost_filesystem.dylib $1/libboost_filesystem.dylib $2
install_name_tool -change libboost_thread.dylib $1/libboost_thread.dylib $2
install_name_tool -change libboost_date_time.dylib $1/libboost_date_time.dylib $2
install_name_tool -change libboost_chrono.dylib $1/libboost_chrono.dylib $2
install_name_tool -change libboost_regex.dylib $1/libboost_regex.dylib $2
install_name_tool -change libboost_serialization.dylib $1/libboost_serialization.dylib $2
install_name_tool -change libboost_atomic.dylib $1/libboost_atomic.dylib $2
install_name_tool -change libboost_program_options.dylib $1/libboost_program_options.dylib $2
install_name_tool -change libboost_locale.dylib $1/libboost_locale.dylib $2
install_name_tool -change libboost_timer.dylib $1/libboost_timer.dylib $2
install_name_tool -change libboost_chrono.dylib $1/libboost_chrono.dylib $2
install_name_tool -change @rpath/libboost_system.dylib $1/libboost_system.dylib $2
install_name_tool -change @rpath/libboost_filesystem.dylib $1/libboost_filesystem.dylib $2
install_name_tool -change @rpath/libboost_thread.dylib $1/libboost_thread.dylib $2
install_name_tool -change @rpath/libboost_date_time.dylib $1/libboost_date_time.dylib $2
install_name_tool -change @rpath/libboost_chrono.dylib $1/libboost_chrono.dylib $2
install_name_tool -change @rpath/libboost_regex.dylib $1/libboost_regex.dylib $2
install_name_tool -change @rpath/libboost_serialization.dylib $1/libboost_serialization.dylib $2
install_name_tool -change @rpath/libboost_atomic.dylib $1/libboost_atomic.dylib $2
install_name_tool -change @rpath/libboost_program_options.dylib $1/libboost_program_options.dylib $2
install_name_tool -change @rpath/libboost_locale.dylib $1/libboost_locale.dylib $2
install_name_tool -change @rpath/libboost_timer.dylib $1/libboost_timer.dylib $2
install_name_tool -change @rpath/libboost_chrono.dylib $1/libboost_chrono.dylib $2
return 0
}
function fix_boost_libs_in_libs() # $1 - path to boost libs, $2 - path to libs folder
{
return 0 # temporary disabled -- 2023-11-20, sowle
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_filesystem.dylib
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_thread.dylib
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_chrono.dylib