기본 콘텐츠로 건너뛰기

추천 가젯

Tmux 환경에서 Vim 컴파일 시 발생하는 termio/termios 감지 오류 해결 방법

 리눅스 환경에서 소스코드를 직접 빌드하다 보면 의외의 환경 변수나 터미널 세션 설정 때문에 엉뚱한 빌드 에러를 마주할 때가 있습니다. 대표적인 예로 Tmux 세션 내부에서 Vim 소스를 컴파일할 때 발생하는 termio/termios 감지 오류 가 있습니다. 이번 글에서는 해당 에러가 발생하는 원인과, 단순한 clean 으로는 해결되지 않는 이유 및 올바른 해결 방법을 정리합니다. 1. 문제 원인 Vim의 소스 코드 빌드 과정( configure )은 시스템이 System V 계열인지 Linux 계열인지 판별하기 위해 termio.h 와 termios.h 헤더 파일 및 터미널 인터페이스를 검사(Probe)합니다. 하지만 Tmux 내부(세션 안)에서 컴파일을 진행할 경우 , Tmux가 제공하는 PTY(Pseudo-Terminal) 환경과 TERM=screen 등의 특수한 환경 변수 영향으로 인해 Autoconf가 터미널 인터페이스를 검출하는 과정에서 오동작을 일으킵니다. 그 결과, 실제 시스템 조건과 무관하게 설정 에러를 발생시키게 됩니다. 2. 왜 make clean 으로는 해결되지 않을까? 일반적인 개발 과정에서는 빌드가 꼬였을 때 make clean 을 실행하곤 합니다. 하지만 make clean 은 컴파일된 오브젝트 파일이나 바이너리( .o 파일 등)만 삭제할 뿐, Autotools가 시스템 환경을 탐색한 결과로 남긴 캐시( config.cache 또는 내부 매크로 변수)나 설정 파일들은 그대로 유지 합니다. 일반적인 상황에서는 시스템의 하드웨어/OS 정보가 바뀌지 않기 때문에 이 잔여물이 문제가 되지 않습니다. 그러나 Tmux나 Screen 같은 터미널 멀티플렉서 환경에서 탐색된 왜곡된 정보가 캐시에 박혀버리면, 나중에 Tmux 외부(일반 터미널)로 나와서 빌드를 시도해도 이전의 오염된 캐시 때문에 계속해서 오류가 발생하게 됩니다. 3. 해결 방법 이 문제를 해결하기 위해서는 반드시 Tmux 외부 환경 에서 기존의 오염된 설정 파일을 ...

남들 다 결혼 하느라 바쁘구만...

우리 연구실 거쳐간 09학번 친구도 결혼 소식을 알려왔음... 삼성전자 취업소식과 더불어...

결혼초대는 한 5~6번 받았는데... 실제로 간 결혼식은 성진이형, 05동기 김명수(성을 붙여야함) 밖에 없음...
이번에도 고민 중...



사실 김명수 결혼식은 나이 먹어가는 것을 자각 못하는 나에게 너도 친구 결혼식 갈 나이라는 것을 자각 시키려는 목적이 들어간 것이라...(그리고 축의금 한번 내고 싶었음... 얼마냈는지 기억이 안난다. 3아니면 5겠지... ) 간거지 그런 생각 없었으면 안 갔을 것 같음...

명수가 워낙 발이 넓고 친구가 많다보니 온갖 동기 선후배 등이 모일 텐데...

아웃사이더 기간이 워낙 길다 보니... 약간 그들의 시선의 부담을 (??? 니가???) 느끼지 않을까라는
걱정이 들었고, 축하해줄 사람 많을테니까...



음 주일(일요일)로 잡혔으면 그냥 당연히 안가는건데 이 친구도 크리스찬이라 일단은 토요일이라 고민도 해보게 되네...
친하게 지냈지만 그냥 후배들 결혼식은 안 갔는데... 연구실 후배라 근데 또 시간을 같이 쓴건 그렇게 길지 않으니 고민이 됨.



그리고 나쁜 일을 위로하는 건 1순위지만 좋은 일을 축하하는 것은 내 의사결정에서 그렇게 중요한 순위가 아니라......



애고 모르겠다.




옛날에는 결혼은 안하고 싶고 자식은 가지고 싶었는데...

지금은 딱히 욕심이 없음....


댓글

  1. 이제는... 자식도 별로 낳고 싶은 생각이 없는게 세상이 너무 험하다.

    답글삭제
  2. 아 5냈음. 은행에서 동기를 만났음. 5만원권 기억이 난다.

    아닌가 아이고 모르겠다.

    답글삭제

댓글 쓰기