꽤 오래 전 부터 젠투 리눅스에서 MongoDB가 빌드안되어 emerge 명령에서 --exclude dev-db/mongodb 옵션을 주어 무시해왔었다.
직접 패치라도 해볼 생각으로 ChatGPT에게 해당 오류를 복사하여 오류를 복사하여 보고 된 내용이 있는가? 했더니 GCC 최근 버전에서 변경된 사양으로 해당 오류가 발생한다고 알려주었다. 당시 오류 메시지는 남겨놓지 않았으므로 오류 메시지는 아쉽게도 생략. (나중에 GCC 15로 다시 빌드를 시도해서 오류를 발생시켜야겠다.)
결과적으로 GCC 15라면 아래처럼 GCC 14를 머지하여 MongoDB를 빌드해야한다.
emerge sys-devel/gcc:14
이후 MongoDB를 빌드할 때 GCC 14를 사용하도록 빌드 환경변수를 지정해야한다. /etc/portage/env/dev-db 폴더더를 생성 후 해당 폴더에 편집기로 mongodb 파일로 아래와같이 환경변수 값을 설정한다.
CC=gcc-14
CXX=g++-14
이 후 다시 emerge 명령으로 mongodb를 업데이트하면 오류없이 빌드된다. ldd 명령으로 확인하면 GCC 15의 stdc++를 문제없이 참조하지만 mongodb가 GCC 15에서 빌드 되기 전까지는 GCC 14로 빌드해야하므로 컴파일러는 지우지 말고 유지해야겠다.