fix_glibc.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/bash
  2. # LGSM fix_glibc.sh function
  3. # Author: Daniel Gibbs
  4. # Website: http://gameservermanagers.com
  5. lgsm_version="020116"
  6. # Description: Downloads required glibc files and applys teh glibc fix if required
  7. info_glibc.sh
  8. local libstdc_servers_array=( "ARMA 3" "Blade Symphony" "Garry's Mod" "Just Cause 2" )
  9. for libstdc_server in "${libstdc_servers_array[@]}"
  10. do
  11. if [ "${gamename}" == "${libstdc_server}" ]; then
  12. fn_fetch_file_github "lgsm/lib/ubuntu12.04/i386" "libstdc++.so.6" "${lgsmdir}/lib" "noexecutecmd" "norun" "noforce" "nomd5"
  13. fi
  14. done
  15. local libm_servers_array=( "Double Action: Boogaloo" "Fistful of Frags" "Insurgency" "Natural Selection 2" "NS2: Combat" "No More Room in Hell" )
  16. for libm_server in "${libm_servers_array[@]}"
  17. do
  18. if [ "${gamename}" == "${libm_server}" ]; then
  19. fn_fetch_file_github "lgsm/lib/ubuntu12.04/i386" "libm.so.6" "${lgsmdir}/lib" "noexecutecmd" "norun" "noforce" "nomd5"
  20. fi
  21. done
  22. glibc_version="$(ldd --version | sed -n '1s/.* //p')"
  23. if [ "$(printf '%s\n$glibc_required\n' $glibc_version | sort -V | head -n 1)" != "${glibc_required}" ]; then
  24. if [ "${glibcfix}" == "yes" ]; then
  25. fn_print_info_nl "Glibc fix: Using Glibc fix"
  26. echo " * glibc required: $glibc_required"
  27. echo " * glibc installed: $glibc_version"
  28. export LD_LIBRARY_PATH=:"${libdir}"
  29. else
  30. fn_print_warn_nl "Glibc fix: No Glibc fix available!"
  31. echo -en "\n"
  32. echo " * glibc required: $glibc_required"
  33. echo " * glibc installed: $glibc_version"
  34. echo -en "\n"
  35. fn_print_infomation "The game server will probably not work. A distro upgrade is required!"
  36. fi
  37. echo -en "\n"
  38. else
  39. echo "GLIBC is OK no fix required"
  40. fi