Freebsd
在freebsd上同步源的正確方法
更新:我很高興報告@dartonw 的答案有效,我去結賬,然後 buildworld,它在大約 6 小時內成功建構。
所以我在 freebsd 中遇到了一些關於監獄的問題。我在 EC2 上執行 FreeBSD9.1 64 位作為一個小實例。我最近嘗試過:
cd /usr/src;make buildworld
經過九個小時的編譯,它給了我:
{standard input}:12044: Warning: end of file not at end of a line; newline inserted {standard input}:12142: Error: invalid character '_' in mnemonic c++: Internal error: Killed: 9 (program cc1plus) Please submit a full bug report. See <URL:http://gcc.gnu.org/bugs.html> for instructions. *** [TransAutoreleasePool.o] Error code 1 Stop in /usr/src/lib/clang/libclangarcmigrate. *** [all] Error code 1 Stop in /usr/src/lib/clang. *** [all] Error code 1 Stop in /usr/src/lib. *** [lib__L] Error code 1 Stop in /usr/src. *** [libraries] Error code 1 Stop in /usr/src. *** [_libraries] Error code 1 Stop in /usr/src. *** [buildworld] Error code 1 Stop in /usr/src.
我看到這篇文章說:
Let's synchronise sources. # cd /usr/share/examples/cvsup/ # cp standard-supfile /etc/freebsd-supfile The list CVSup mirror sites is here.
但是,連結說:
警告: cvsup 已被項目棄用,不推薦使用。應該使用顛覆。
那我該怎麼辦?我在哪裡可以找到更新的文章?我應該更新我的埠集合嗎?
您可以按照與 cvsup 記錄的方式基本相同的方式使用 Subversion。簡而言之:
# portsnap update # cd /usr/ports/devel/subversion # make install clean
然後更新 /usr/src (假設您已安裝源):
# svn update /usr/src
如果源尚未安裝在 /usr/src 中,您可以檢查一個新的工作副本:
# svn checkout svn+ssh://svn.freebsd.org/base/head /usr/src
有關更多選項,請參閱FreeBSD 手冊中的使用 Subversion。您可以在Subversion Primer中獲得有關使用 Subversion 的更多資訊。
除非您想自定義埠(即對原始碼進行本地更改),否則請使用
portsnap
. 它是以前由 cvsup 處理的埠管理功能的官方替代品,可能會滿足您的大部分需求。請參閱FreeBSD 手冊中的portsnap以獲得詳細但易於遵循的指南。