今天心血來潮, 要來作一件已經想了很久的事, 就是把 /etc 整個丟進 Subversion 裡.
svn import
跑完之後, 發現檔案庫路徑弄錯了, 打算把它取消掉. 先 checkout 成工作複本, 然後再 merge 回去, 結果得到以下的錯誤訊息:
subversion/libsvn_wc/entries.c:669: (apr_err=130003) svn: XML 剖析器無法處理 'apsfilter' subversion/libsvn_subr/xml.c:364: (apr_err=130003) svn: Malformed XML: not well-formed (invalid token) at line 32
我想, 大概是 1.1.1 太舊了吧. 1.1.3 都出來了, 只是 FreeBSD ports 一直都沒有更新. 好吧, 手動改一下 ports, 更新成 1.1.3. 不過在開始編之前, 先把 ldconfig -r 裡看到的舊的, 還存在 /usr/local/lib 下的 libaprutil 給砍掉.
砍掉之後, ldconfig -R 讓它重新掃一次. 開始編... 咦? 遇到這個錯誤:
cc: /usr/local/lib/libaprutil-0.so: No such file or directory
會不會是 Apache 2 也要跟著重編呢? 重編吧. 結果還是一樣.
會不會有舊的 apr-config 還存在著? find /usr/local -name apr-config -print
找一下, 發現 /usr/local/apr, 砍掉. 再編一次, 結果還是一樣.
奇怪? 為什麼呢?
努力尋找 ldconfig 的 manpage, ldconfig -r 怎麼看, 裡面的連結都是對的. 後來執行 ls -la /usr/local/lib/*apu* 一看, 還有幾個餘孽在裡面... 而且 symbolic link 還不對. 砍掉之後, 重編就沒問題了.
我推測 ldconfig 去掃瞄時, 只會紀錄 +x 的 .so 檔, 但是這幾個並沒有 +x, 所以 ldconfig 不會紀錄下來. 但是 cc 去連結時, 還是會認得, 於是就出問題了.
編好之後, 再執行 svn, 那個 XML 的問題還是在... 得再來想要怎麼去解決這個問題.
由 plasma 於 2005-01-26 17:25:00 所發表