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:
48
README.md
48
README.md
@@ -165,6 +165,54 @@ uvicorn app.main:app --reload --host 127.0.0.1 --port 8025
|
||||
|
||||
---
|
||||
|
||||
## Linux + Conda: `libtinfo.so.6` / `vi`·`bash` 경고
|
||||
|
||||
`(ncue)` 등 conda 환경을 켠 뒤 **`LD_LIBRARY_PATH`에 `${CONDA_PREFIX}/lib`가 들어가면**, 터미널에서 돌아가는 **시스템 프로그램(`vi`, `bash`, `less` 등)** 이 conda에 들어 있는 `libtinfo.so.6`을 먼저 물 수 있습니다. 그 라이브러리에 ELF 버전 태그가 맞지 않을 때 **«no version information available»** 가 납니다. (`run.sh`는 스크립트 안에서 이를 피하도록 처리해 두었습니다.)
|
||||
|
||||
**`conda deactivate` 해도 경고가 남는 경우**
|
||||
|
||||
- `deactivate`만으로 **`LD_LIBRARY_PATH`가 비워지지 않을 수 있습니다** (이전 셸 값 복원 실패, `.bashrc`에서 직접 export, 다른 툴이 덧붙임).
|
||||
- **`vi`가 conda·vim 빌드**일 수 있습니다. `type -a vi`, `which -a vi` 로 확인하고, 가능하면 **`/usr/bin/vi`** 또는 **`/usr/bin/vim`** 을 쓰세요.
|
||||
|
||||
**당장 편집·실행**
|
||||
|
||||
```bash
|
||||
unset LD_LIBRARY_PATH
|
||||
vi run.sh
|
||||
```
|
||||
|
||||
또는 한 줄로:
|
||||
|
||||
```bash
|
||||
env -u LD_LIBRARY_PATH /usr/bin/vi run.sh
|
||||
LD_LIBRARY_PATH= /usr/bin/vi run.sh
|
||||
```
|
||||
|
||||
저장소 헬퍼 (`chmod +x scripts/env-no-ld.sh` 후):
|
||||
|
||||
```bash
|
||||
./scripts/env-no-ld.sh vi run.sh
|
||||
./scripts/env-no-ld.sh /usr/bin/vi run.sh
|
||||
```
|
||||
|
||||
**원인 확인**
|
||||
|
||||
```bash
|
||||
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH-<비어 있음>}"
|
||||
type -a vi
|
||||
conda deactivate
|
||||
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH-<비어 있음>}" # 여전히 miniconda 경로면 .bashrc 등 확인
|
||||
grep -n LD_LIBRARY_PATH ~/.bashrc ~/.profile ~/.bash_profile 2>/dev/null
|
||||
```
|
||||
|
||||
**장기적으로**
|
||||
|
||||
1. `grep -r LD_LIBRARY_PATH "$HOME/workspace/miniconda3/envs/ncue/etc/conda/activate.d/"` 등으로 어떤 패키지가 넣는지 확인합니다.
|
||||
2. GPU/torch가 꼭 필요한 터미널과 **편집·git용 터미널**을 나누거나, 편집 전에 `unset LD_LIBRARY_PATH` 를 습관화합니다.
|
||||
3. `conda install -c conda-forge ncurses` 로 env 안 ncurses를 맞추면 완화되는 경우가 있습니다(환경마다 다름).
|
||||
|
||||
---
|
||||
|
||||
## 플랫폼 요약
|
||||
|
||||
| 항목 | Ubuntu | macOS |
|
||||
|
||||
Reference in New Issue
Block a user