[筆記] FreeBSD 更新 port tree…
可以參考 official manual 的 4.5 Using the Ports Collection 這一節。
只想要更新 port tree 的內容而不想幫已安裝的 pkg 升級,應該要用 portsnap。(但我沒試過)
後面的 Upgrading Ports 一節提到的方法,執行後會幫你更新所有已安裝的 pkg,會花很多時間....
哎呀呀,我只是想捉最新版的 Mercurial 啊.... orz
可以參考 official manual 的 4.5 Using the Ports Collection 這一節。
只想要更新 port tree 的內容而不想幫已安裝的 pkg 升級,應該要用 portsnap。(但我沒試過)
後面的 Upgrading Ports 一節提到的方法,執行後會幫你更新所有已安裝的 pkg,會花很多時間....
哎呀呀,我只是想捉最新版的 Mercurial 啊.... orz
噢!這個標題真是個亂七八糟的組合……XDD
看起來很好笑,但實際遇到就很難笑出來了。
在這樣的組合下,若是我們直接執行 gcc 的話,會有下列的錯誤訊息:
$ gcc test.c /tmp/cc7YTML2.s: Assembler messages: /tmp/cc7YTML2.s:13: Error: suffix or operands invalid forpush' /tmp/cc7YTML2.s:14: Error: suffix or operands invalid for
' /tmp/cc7YTML2.s:16: Error: suffix or operands invalid forpush' /tmp/cc7YTML2.s:25: Error: suffix or operands invalid for
' /tmp/cc7YTML2.s:26: Error: suffix or operands invalid forpop'</pre> <p>會有這樣的錯誤訊息,主要是因為 gcc 產生了 32-bit 的 assembly file,餵給 as (assmebler);但此時系統裝的 as 卻是 64-bit 版的,因此預設會用 64-bit 的方式去組譯 32-bit 的 assembly,結果當然是出不來。</p> <p>as 有個參數
-32’,可以強制 as 用 32-bit 的方式去組譯。我們可以把原本 gcc 幫我們做的動作拆成下列的分解動作,手動編譯 test.c:$gcc -S test.c # 編譯,產生 test.s $as -32 -o test.o test.s # 以 32-bit 模式組譯,產生 test.o $gcc -o test.out test.o # 產生執行檔但每個程式這樣做不是很麻煩嗎(笑)?還好,gcc 另外提供了一個方法,可以把參數送給 as:
$gcc -Wa,-32 -o test.out test.c要注意 32 前面的減號不能省略。這樣做就 ok 了。
X11BASE is now deprecated. Unset X11BASE in make.conf and try again. *** Error code 1 Stop.
/etc/make.conf
中加入下列一行:X11BASE=${LOCALBASE}
參考網站:http://forums.freebsd.org/showthread.php?t=13030
apachectl start
後,沒有錯誤訊息,但 httpd 沒有起來。查看 /var/log/httpd-error.log
看到下面的錯誤訊息:
[Sat Jun 05 00:20:46 2010] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "host.name.and.domain" Configuration Failed
其中 host.name.and.domain
是 host 的 domain name。
/etc/hosts
中加入下列兩行:10.1.1.203 host.name.and.domain host 10.1.1.203 host.name.and.domain.
記得將 10.1.1.203
代換成這台機器的虛擬 IP。
Failed to enable the 'httpready' Accept Filter
。
accf_http
這個 kernel module。手動動態安裝的方法是在 shell 中鍵入以下指令:
> kldload accf_http
再 restart apache 即可。若要開機時自動載入,請在 /boot/loader.conf
加入下面這行:
accf_http_load="YES"
參考資料:
呃.... 今天才赫然發現還沒在 blog 貼今年的賀年卡... orz
(可見這個地方被荒廢多久了....)
最近這一年我的網路重心都移到噗浪上面,blog 幾乎是被我遺忘了(汗)。現在大概沒幾個人在盯這個 blog 了吧?
無論如何,還是要在這兒祝大家新年快樂!
(反正要到正月十五才算過完年,現在拜年還不算太遲!)
方法一:
System.Reflection.Assembly a = System.Reflection.Assembly.GetEntryAssembly();
string baseDir = System.IO.Path.GetDirectoryName(a.Location);
方法二:
string baseDir = Application.ExecutablePath;
baseDir = baseDir.Remove( baseDir.LastIndexOf('\\')); // 去掉執行檔部份
參考資料:http://bytes.com/topic/c-sharp/answers/252592-how-can-i-get-my-exe-path