2010年7月30日 星期五

博客來書籍館>沒有中國模式這回事!

博客來書籍館>沒有中國模式這回事!:

"他還充滿了創見的從金融角度解釋傳統儒家文化,指出儒家文化其實是一種隱形金融工具,但這一文化制度使得中國人勤勞而不富有、快樂,使得政府陷入財務危機而走入王朝循環週期。"

他的意思應該是「使得中國人勤勞而不富有、不快樂」吧,我猜。Coincides with my observation though.

Apple Magic Trackpad for Mac OS X / Windows (Boot Camp)驅動開放下載 | T客邦 - 我只推薦好東西

Apple Magic Trackpad for Mac OS X / Windows (Boot Camp)驅動開放下載 | T客邦 - 我只推薦好東西:

"Apple推出了超大面積的Magic Trackpad算是這次更新最有梗的產品(如果不算電池的話XD),隨後也接放出了Mac OS X的更新來支援Magic Trackpad,Windows驅動也跟放了出來,現在只要到Apple網站上就能下載來使用。不管是Mac OS還是Windows的系統,都已經可以支援Trackpad多點觸控功能。"

真是想幫老婆大人買一個啊~可是我們都用 MBP,都已經內建 trackpad 了。

2010年7月28日 星期三

繼續昨天的奮鬥──Subversion + Trac on Solaris, Part 2

今天花的時間比較少,但是一樣遇到問題。

依照昨天的作法,已經把所有該 compile 的東西都 compile 好了,但是今天啟動 apache 的時候才發現,mod_dav_svn 和 mod_authz_svn 這兩個 module 版本和 Solaris 內建的 Apache 不合。內建的是 2.0.x 系列,Collabnet 上面抓下來的是給 2.2 系列用的。所以……係裡~又要自己來惹~

參考了這篇文章,先去這裡抓 subversion 最新版的 source 回來。後來發現直接用 Sun Studio 12 也可以順利 compile,唯二的麻煩是 neon 和 sqlite3;這兩個 lib 在系統裡面都是沒有的,要另外抓。sqlite3 要抓這個版本,neon 要抓這個

sqlite3 裡面有個 sqlite3.c,解開後放在 subversion/sqlite-amalgamation 底下,然後把 neon 整個放在 subversion/neon 下。這時還要解決 ld 找 library 的問題。

Solaris 下,常用 LD_LIBRARY_PATH 來取得 ld(1) 找 library 的位置,但是也可以用 crle(1) 來設定整個機器上整體的 library search path。編譯 subversion 需要 libexpat (會在 install phase 的時候用到),這個奧妙的 library 放在 /usr/sfw/lib 裡面,往裡面一看還有好多其他常用的 3rd party library。

總結一下我們需要以下幾個 LD_LIBRARY_PATH:

/usr/local/lib
/usr/local/ssl/lib
/usr/sfw/lib

PATH 裡面則必須至少含

/usr/local/bin
/usr/ccs/bin

全部準備好,就可以開始下指令了:

./configure --prefix=/opt/subversion --with-apxs=/usr/apache2/bin/apxs --enable-shared --enable-ssl

這樣編譯出來的 subversion 會自動把該有的 module 丟進 apache2 的 libexec 目錄裡面,也會把 LoadModule 的敘述行放進 /etc/apache2/httpd.conf

經過這樣下來,至少已經把 subversion/apache2 這對工具搞定了,已經可以開始提供服務了,至於 Trac,那又是另外一個我還沒寫的故事了~

2010年7月27日 星期二

Subversion + Trac on Solaris

今天為了要把 SVN + Trac系統移植到 Solaris上吃足了苦頭。

Trac 0.12 推出了,好處是可以一次使用多個 repository,但是最低要求要有 Python 2.5 or 2.6。Solaris 10u6 內建的只到 2.4,所以得要裝套件。找來找去沒有很好的套件,只好自己抓 source 來編。

自己抓來的東西有個麻煩就是不知道該放哪,於是把 --prefix 設定到 /opt/python-2.6 底下去,這樣如果要砍掉重練比較單純一點。用安裝好的 gcc-3.4.6 來編。 Python 安裝完成,抓了 setuptools, Genshi-0.6 和 Trac-0.12 下來,直接就安裝到 python 2.6 的 site-packages 裡面去。

沒想到要裝 mod_wsgi 的時候卻出了包。mod_xxx 在編譯的時候,最好使用和 apache 編譯的原始編譯器一樣,根據 /var/apache2/build 裡面的 libtool 表示,原來的 apache2 是用 /opt/SUNWspro/bin/cc 編出來的,查了一下發現是 SUN 自己的 compiler...orz,還好現在的 Sun Studio 12u1 是不要錢的,抓了放進去,才知道原來新的 cc 已經不放在 SUNWspro 裡面了,解決的方法也不難,直接把 /usr/ccs/bin/cc symlink 過來,這樣 libtool 就不會抱怨找不到正確的 compiler 了。

解決了 mod_wsgi 的編譯問題。整理一下整個的編譯過程和 flags:

Python:

export CC="cc -mt -fast"
export CFLAGS="-fast"
./configure --prefix=/opt/python-2.6 --with-threads --without-gcc --disable-ipv6 --without-fpectl --enable-shared

後面的 enable-shared 很重要,不然編譯會出錯。mod_wsgi 需要 multi-threaded python,所以 CC 那邊要加上"-mt",而且 configure 要加上 --with-threads

mod_wsgi:

./configure --with-apxs=/usr/apache2/bin/apxs --with-python=/opt/python-2.6/bin/python

SVN 用的是 CollabNet 出的安裝包,明天再來看看這樣配起來能不能動吧~

 

2010年7月12日 星期一

MacRuby, Python, Ruby 在 OS/X 下, interactive shell 中文輸入的問題

之前不管是 Ruby 或是 Python,在 OS/X 下,interactive shell 輸入中文大部分都會出現問號。今天找了一下 MacRuby 的相關資料,發現原來是 readline 的問題。

雖然說 macirb 可以用 macirb --noreadline 跳過去,可是這樣就失去了豐富的 history 功能,也無法使用 Readline module了。

網路上有些文章建議直接去抓新版的 readline 來改,但是從 MacRuby 的這個看來,是系統內的 libedit 缺乏了 multibyte 支援導致的,所以連帶 python 也會有一樣的問題。於是直接去抓了 libedit 2.6.7 下來,configure 完 make 了以後,丟到 /usr/lib 裡面取代 libedit.2.dylib (當然,要先備份),這樣不管是 python 或是 ruby interactive shell 都可以直接打中文了。

**後記**

話說太滿果然會爆炸,放進去以後有些功能就變得怪怪的,正規的作法還是要先拉 Apple 自己的 libedit-13 下來再說。