요즘 진행 중인 프로젝트가 있는데, 어찌하다 보니 디버깅을 위해서 버추어박스의 소스코드를 빌드할 일이 생겼습니다. 전체적인 빌드 과정은 https://www.virtualbox.org/wiki/Linux%20build%20instructions에 잘 정리되어 있긴 한데요... 아시겠지만 실제로 빌드를 해보면 다양한 문제에 봉착하게 되죠... 쿨럭..;;; 오라클 버추어박스의 소스코드를 빌드를 하다 보면 아래와 같은 오류가 발생합니다.

/home/user/project/VirtualBox-6.1.16/doc/manual/en_US/user_KnownIssues.xml:6: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
]>
  ^
/home/userproject/VirtualBox-6.1.16/doc/manual/en_US/user_ChangeLog.xml:6: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
]>
  ^
/home/user/project/VirtualBox-6.1.16/doc/manual/en_US/user_ThirdParty.xml:6: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
]>
  ^
/home/user/project/VirtualBox-6.1.16/doc/manual/en_US/user_PrivacyPolicy.xml:6: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
]>
  ^
/home/user/project/VirtualBox-6.1.16/doc/manual/en_US/user_Glossary.xml:6: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
]>
  ^
warning: failed to load external entity "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd"
Could not parse DTD /usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd
kBuild: Validating /home/user/project/VirtualBox-6.1.16/doc/manual/en_US/UserManual.xml

실제로 docbookx.dtd 파일에 문제가 있는 건 아닌 것 같고, 소스코드 tarball에서 파일이 한 개 없어서 발생한 오류였습니다. 아래와 같이 입력해서 빈 파일을 만들어주면 실제로 빌드가 잘 됩니다.

user@user:~/project/VirtualBox-6.1.16$ touch out/linux.amd64/release/obj/manual/en_US/validatemanual.run
user@user:~/project/VirtualBox-6.1.16$ chmod +x out/linux.amd64/release/obj/manual/en_US/validatemanual.run

뭔가 일부러 빠뜨렸을 것 같지는 않은데... 그리고 벌써 몇년이나 지난 버그인데, 아직도 고쳐지지 않았더라고요. 여하튼 빌드가 잘 되어 천만다행입니다. ^^;;;

그럼 좋은 밤 되세요.

+ Recent posts