기타 Lobsters · 2026-09-22

"소스코드만 5천만 줄?" 러스트 직접 빌드해보다가 기겁한 개발자 후기

핵심 요약
  • 한 개발자가 러스트(Rust)를 소스코드에서 직접 빌드하려다 방대한 의존성과 파일 규모에 직면한 과정을 공유했습니다.
  • 압축 해제 후 1.9GB에 달하는 소스 트리에는 27만여 개 파일과 5천만 줄의 코드가 포함되어 있어 코드 집계에만 10분이 소요되었습니다.
  • 소스에서 빌드하기 위해 기존 러스트 바이너리가 필수적인 부트스트랩 문제와 과도한 의존성 구조가 주요 비판점으로 제기되었습니다.
요약 Rust 소스코드를 직접 빌드하려던 한 개발자가 상상을 초월하는 의존성과 파일 규모에 경악하며 작성한 경험담이 화제를 모으고 있습니다. 글쓴이는 바이너리 배포판을 신뢰하지 않거나 지원되지 않는 OS(DragonFly BSD 등) 환경, 혹은 순수한 호기심으로 러스트를 소스코드부터 직접 빌드해보려 했습니다. 하지만 공식 문서(README.md)부터 "소스코드 설치는 권장하지 않음"이라는 경고가 붙어 있었고, 안내된 INSTALL.md 파일은 정작 압축 파일에 포함조차 되어 있지 않았습니다. 더 큰 충격은 소스코드 자체의 용량과 복잡성이었습니다. 비교군으로 삼은 OCaml 5.4.0 툴체인은 압축 파일이 6MB에 불과하고 3분 만에 빌드가 끝난 반면, Rust 1.84.1 소스코드 압축본은 무려 699MB에 달했습니다. 압축을 해제하는 데만 2분 14초가 걸렸고, 해제된 소스 트리는 1.9GB에 달했습니다. 게다가 내부에는 1,000만 줄에 달하는 LLVM 코드와 서로 다른 세 가지 버전의 OpenSSL까지 통째로 포함되어 있었습니다. 빌드 전 코드 분석 도구(cloc)로 파일과 코드 라인을 측정하는 과정에서도 진풍경이 벌어졌습니다. 파일 수가 너무 방대해 카운트하는 데만 10분이 걸렸고 팬이 최고 속도로 돌아갔습니다. 집계 결과, 고유 텍스트 파일만 27만 6천 개가 넘었으며, 순수 코드 라인 수만 5,000만 줄(Rust 코드 약 2,000만 줄, C++ 768만 줄, C 572만 줄 등)에 달했고 심지어 난해한 프로그래밍 언어인 Brainfuck 10줄까지 발견되었습니다. 특히 러스트를 소스에서 빌드하려면 이미 컴파일된 러스트 바이너리(rustc 및 cargo)가 먼저 필요하다는 '닭이 먼저냐 달걀이 먼저냐' 식의 부트스트랩 의존성 문제가 큰 장벽으로 지적되었습니다. C++로 작성된 대체 컴파일러인 mrustc를 활용해 소스부터 빌드하는 대안도 존재하지만, 이 역시 추가 빌드 시간과 13만 줄의 C++ 코드가 더해지는 부담이 있어 경량 소프트웨어를 지향하는 환경에서는 여전히 무겁다는 비판이 이어졌습니다.
Sponsored · 광고