docs: expand libtinfo troubleshooting; add scripts/env-no-ld.sh
- README: deactivate may not clear LD_LIBRARY_PATH; unset, /usr/bin/vi, diagnostics - scripts/env-no-ld.sh: run commands without LD_LIBRARY_PATH for vi/bash - run.sh: include in commit if changed (verify diff) Made-with: Cursor
This commit is contained in:
42
run.sh
42
run.sh
@@ -1,22 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
# libtinfo 경고: 터미널에 이미 conda가 켜져 LD_LIBRARY_PATH가 잡혀 있으면
|
||||
# env -u LD_LIBRARY_PATH ./run.sh
|
||||
# 로 실행해 보세요.
|
||||
#!/bin/sh
|
||||
# conda가 LD_LIBRARY_PATH에 lib를 넣은 상태에서 bash가 스크립트를 읽으면
|
||||
# 시스템 bash가 conda의 libtinfo를 물어 경고가 난다. /bin/sh로 한 번 감싼 뒤
|
||||
# LD_LIBRARY_PATH 없이 bash를 다시 실행한다.
|
||||
if [ -z "${STT_RUN_WITH_CLEAN_LDLIB:-}" ]; then
|
||||
export STT_RUN_WITH_CLEAN_LDLIB=1
|
||||
exec env -u LD_LIBRARY_PATH /bin/bash "$0" "$@"
|
||||
fi
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [[ -z "${BASH_VERSION:-}" ]]; then
|
||||
echo "ERROR: bash로 실행하세요. 예) ./run.sh 또는 bash run.sh" >&2
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
if [[ -z "${CONDA_BASE:-}" || ! -f "${CONDA_BASE}/bin/activate" ]]; then
|
||||
CONDA_BASE=""
|
||||
for cand in "${HOME}/workspace/miniconda3" "${HOME}/miniconda3" "${HOME}/anaconda3" "/opt/anaconda3"; do
|
||||
if [[ -n "$cand" && -f "$cand/bin/activate" ]]; then
|
||||
CONDA_BASE="$cand"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [[ -z "${CONDA_BASE:-}" || ! -f "${CONDA_BASE}/bin/activate" ]]; then
|
||||
echo "ERROR: conda를 찾을 수 없습니다. 예: export CONDA_BASE=/path/to/miniconda3" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /home/dsyoon/workspace/stt
|
||||
# 기본은 ncue (기존 동작). 다른 환경은 CONDA_ENV=stt 등으로 지정.
|
||||
CONDA_ENV="${CONDA_ENV:-ncue}"
|
||||
# shellcheck source=/dev/null
|
||||
source "${CONDA_BASE}/bin/activate" "${CONDA_ENV}"
|
||||
|
||||
CONDA_BASE="/home/dsyoon/workspace/miniconda3"
|
||||
source "${CONDA_BASE}/bin/activate" ncue
|
||||
|
||||
# 전역 LD_LIBRARY_PATH에 conda lib를 넣으면, 같은 터미널의 bash가 conda의
|
||||
# libtinfo.so 를 물며 «no version information available» 경고가 날 수 있음.
|
||||
# torch/ctranslate2 등은 uvicorn 자식 프로세스에만 경로를 넘긴다.
|
||||
# 전역 LD_LIBRARY_PATH에 conda lib를 넣지 않음 (bash/libtinfo 경고 방지).
|
||||
# torch/ctranslate2 등은 uvicorn 자식에만 경로 전달.
|
||||
PORT="${PORT:-8025}"
|
||||
RELOAD="${RELOAD:-0}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user