ultra_infer_init.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # source this file to import libraries
  2. PLATFORM=`uname`
  3. ULTRAINFER_LIBRARY_PATH=${BASH_SOURCE:-$0}
  4. if [[ "$PLATFORM" = "Linux" ]];then
  5. ULTRAINFER_LIBRARY_PATH=`readlink -f ${ULTRAINFER_LIBRARY_PATH}`
  6. fi
  7. ULTRAINFER_LIBRARY_PATH=$(cd `dirname ${ULTRAINFER_LIBRARY_PATH}`; pwd)
  8. echo "=============== Information ======================"
  9. echo "UltraInfer Library Path: $ULTRAINFER_LIBRARY_PATH"
  10. echo "Platform: $PLATFORM"
  11. echo "=================================================="
  12. # Find all the .so files' path
  13. if [[ "$(ps -a $$)" =~ "zsh" ]]; then
  14. ALL_SO_FILES=(`find $ULTRAINFER_LIBRARY_PATH -name "*.so*"`)
  15. ALL_DYLIB_FILES=(`find $ULTRAINFER_LIBRARY_PATH -name "*.dylib*"`)
  16. else
  17. ALL_SO_FILES=`find $ULTRAINFER_LIBRARY_PATH -name "*.so*"`
  18. ALL_DYLIB_FILES=`find $ULTRAINFER_LIBRARY_PATH -name "*.dylib*"`
  19. fi
  20. for SO_FILE in $ALL_SO_FILES;do
  21. LIBS_DIRECTORIES+=(${SO_FILE%/*})
  22. done
  23. # Find all the .dylib files' path
  24. # ALL_DYLIB_FILES=(`find $ULTRAINFER_LIBRARY_PATH -name "*.dylib*"`)
  25. for DYLIB_FILE in $ALL_DYLIB_FILES;do
  26. LIBS_DIRECTORIES+=(${DYLIB_FILE%/*})
  27. done
  28. # Remove the duplicate directories
  29. LIBS_DIRECTORIES=($(awk -v RS=' ' '!a[$1]++' <<< ${LIBS_DIRECTORIES[@]}))
  30. # Print the dynamic library location and output the configuration file
  31. IMPORT_PATH=""
  32. output_file=${ULTRAINFER_LIBRARY_PATH}/ultra_infer_libs.conf
  33. rm -rf $output_file
  34. for LIB_DIR in ${LIBS_DIRECTORIES[@]};do
  35. echo "Find Library Directory: $LIB_DIR"
  36. echo "$LIB_DIR" >> $output_file
  37. IMPORT_PATH=${LIB_DIR}":"$IMPORT_PATH
  38. done
  39. if [ -f "ascend_init.sh" ]
  40. then
  41. source ascend_init.sh
  42. fi
  43. echo "[Execute] Will try to export all the library directories to environments, if not work, please try to export these path by your self."
  44. PLATFORM=`uname`
  45. if [[ "$PLATFORM" = "Linux" ]];then
  46. NEW_LIB_PATH=$(tr ":" "\n" <<< "${IMPORT_PATH}:$LD_LIBRARY_PATH" | sort | uniq | tr "\n" ":")
  47. export LD_LIBRARY_PATH=$NEW_LIB_PATH
  48. fi
  49. if [[ "$PLATFORM" = "Darwin" ]];then
  50. NEW_LIB_PATH=$(tr ":" "\n" <<< "${IMPORT_PATH}:$DYLD_LIBRARY_PATH" | sort | uniq | tr "\n" ":")
  51. export DYLD_LIBRARY_PATH=$NEW_LIB_PATH
  52. fi