run.sh: avoid global LD_LIBRARY_PATH; pass conda lib only to uvicorn

Prevents bash/libtinfo 'no version information available' when conda ncurses
shadows system libtinfo. Document env -u LD_LIBRARY_PATH fallback.

Made-with: Cursor
This commit is contained in:
dosangyoon
2026-03-23 13:40:52 +09:00
parent ff5086db81
commit a984b86766

12
run.sh
View File

@@ -1,4 +1,7 @@
#!/usr/bin/env bash
# libtinfo 경고: 터미널에 이미 conda가 켜져 LD_LIBRARY_PATH가 잡혀 있으면
# env -u LD_LIBRARY_PATH ./run.sh
# 로 실행해 보세요.
set -euo pipefail
if [[ -z "${BASH_VERSION:-}" ]]; then
@@ -11,9 +14,9 @@ cd /home/dsyoon/workspace/stt
CONDA_BASE="/home/dsyoon/workspace/miniconda3"
source "${CONDA_BASE}/bin/activate" ncue
# Torch/ctranslate2 런타임 로딩에 conda lib 경로 필요할 수 있음
export LD_LIBRARY_PATH="${CONDA_PREFIX}/lib:${LD_LIBRARY_PATH:-}"
# 전역 LD_LIBRARY_PATH에 conda lib를 넣으면, 같은 터미널의 bash가 conda의
# libtinfo.so 를 물며 «no version information available» 경고가 날 수 있음.
# torch/ctranslate2 등은 uvicorn 자식 프로세스에만 경로를 넘긴다.
PORT="${PORT:-8025}"
RELOAD="${RELOAD:-0}"
@@ -29,5 +32,6 @@ if [[ "${RELOAD}" == "1" ]]; then
fi
echo "Starting uvicorn on 127.0.0.1:${PORT} (reload=${RELOAD})"
nohup uvicorn app.main:app "${UVICORN_ARGS[@]}" > server.log 2>&1 &
nohup env LD_LIBRARY_PATH="${CONDA_PREFIX}/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" \
uvicorn app.main:app "${UVICORN_ARGS[@]}" > server.log 2>&1 &
echo "Server started (PID: $!). Logs: server.log"