2011年8月22日 星期一

build database drvier (mysql/postgresql) plugin in linux environment - qt4

mysql

./configure -plugin-sql-mysql -plugin-sql-db2 -plugin-sql-ibase
-plugin-sql-mysql -plugin-sql-oci -plugin-sql-odbc -plugin-sql-psql
-plugin-sql-sqlite -plugin-sql-sqlite2 -plugin-sql-sqlite_symbian
-plugin-sql-tds -no-qt3support

If got odbc error message:
ODBC support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue

這不一定是 odbc 出問題, 在我的系統上是 db2 出了問題, 也會產生這 message, 加上 -v 就清楚了, -v 會列出更多的訊息,可以用來判斷是哪裡出問題。不過 windows 版本似乎要到開始 compile 才會發生問題, 而不是在 configure 階段就秀出問題。

./configure -plugin-sql-mysql -plugin-sql-db2 -plugin-sql-ibase
-plugin-sql-mysql -plugin-sql-oci -plugin-sql-odbc -plugin-sql-psql
-plugin-sql-sqlite -plugin-sql-sqlite2 -plugin-sql-sqlite_symbian
-plugin-sql-tds -no-qt3support -v

我最後的 command:
./configure -plugin-sql-mysql -plugin-sql-odbc -plugin-sql-sqlite
-no-qt3support -v

所以 db2 沒辦法通過 configure 測試是很正常的, 我的系統根本沒有安裝 db2 開發工具, 怎麼有辦法編譯出 db2 的 sql plugin。

odbc support 要安裝:
apt-get install odbcinst odbcinst1debian2 unixodbc unixodbc-dev

所以記得在編譯前先安裝好 mysql 開發相關檔案。
apt-get install mysql-server-core-5.1 libmysqlclient-dev 


最簡單的方式是使用套件商幫我們 build 好的 binary:
apt-get install libqt4-sql-odbc

輕鬆搞定。


不過身為程式開發人員, 把這些事情搞清楚是很重要的。

postgresql

postgresql 也是一樣的行為。

安裝 postgresql 開發套件:
root@ubuntu:/home/descent# apt-get install postgresql-8.4 postgresql-server-dev-8.4
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:

comerr-dev krb5-multidev libgssrpc4 libkadm5clnt-mit7 libkadm5srv-mit7 
libkdb5-4 libkrb5-dev libpq-dev libpq5 libssl-dev postgresql-client-8.4 
postgresql-client-common postgresql-common 
Suggested packages: 
krb5-doc krb5-user postgresql-doc-8.4 oidentd ident-server 
The following NEW packages will be installed: 
comerr-dev krb5-multidev libgssrpc4 libkadm5clnt-mit7 libkadm5srv-mit7 
libkdb5-4 libkrb5-dev libpq-dev libpq5 libssl-dev postgresql-8.4 
postgresql-client-8.4 postgresql-client-common postgresql-common 
postgresql-server-dev-8.4

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。