mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-05 02:24:29 +00:00
dac73f4b57
libsilkworm requires libstdc++.so.6.0.30, but Rocky Linux 9.3 has only libstdc++.so.6.0.29, and `make erigon` produces an error about the GLIBCXX Version needed 3.4.30 (available 3.4.29). see: https://stackoverflow.com/questions/10354636/how-do-you-find-what-version-of-libstdc-library-is-installed-on-your-linux-mac https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
88 lines
1.8 KiB
Bash
Executable File
88 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
set -u
|
|
set -o pipefail
|
|
|
|
OS_RELEASE_PATH=/etc/os-release
|
|
|
|
function glibc_version {
|
|
cmd="ldd --version"
|
|
$cmd | head -1 | awk '{ print $NF }'
|
|
}
|
|
|
|
function glibcpp_version {
|
|
link_path=$(/sbin/ldconfig -p | grep libstdc++ | awk '{ print $NF }')
|
|
if [[ ! -L "$link_path" ]]
|
|
then
|
|
echo "0"
|
|
else
|
|
file_name=$(readlink "$link_path")
|
|
echo "${file_name##*.}"
|
|
fi
|
|
}
|
|
|
|
function version_major {
|
|
IFS='.' read -a components <<< "$1"
|
|
echo "${components[0]}"
|
|
}
|
|
|
|
function version_minor {
|
|
IFS='.' read -a components <<< "$1"
|
|
echo "${components[1]}"
|
|
}
|
|
|
|
case $(uname -s) in
|
|
Linux)
|
|
if [[ ! -f "$OS_RELEASE_PATH" ]]
|
|
then
|
|
echo "not supported Linux without $OS_RELEASE_PATH"
|
|
exit 2
|
|
fi
|
|
|
|
source "$OS_RELEASE_PATH"
|
|
|
|
if [[ -n "$ID" ]] && [[ -n "$VERSION_ID" ]]
|
|
then
|
|
version=$(version_major "$VERSION_ID")
|
|
case "$ID" in
|
|
"debian")
|
|
if (( version < 12 ))
|
|
then
|
|
echo "not supported Linux version: $ID $VERSION_ID"
|
|
exit 3
|
|
fi
|
|
;;
|
|
"ubuntu")
|
|
if (( version < 22 ))
|
|
then
|
|
echo "not supported Linux version: $ID $VERSION_ID"
|
|
exit 3
|
|
fi
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
version=$(version_minor "$(glibc_version)")
|
|
if (( version < 34 ))
|
|
then
|
|
echo "not supported glibc version: $version"
|
|
exit 4
|
|
fi
|
|
|
|
version=$(glibcpp_version)
|
|
if (( version < 30 ))
|
|
then
|
|
echo "not supported glibcpp version: $version"
|
|
exit 5
|
|
fi
|
|
|
|
;;
|
|
Darwin)
|
|
;;
|
|
*)
|
|
echo "unsupported OS"
|
|
exit 1
|
|
;;
|
|
esac
|