2010年1月13日

自行打包 deb for gretl 1.8.6 in ubuntu 8.04

上一則 PO 已成功 compile gretl-1.8.6, 我在想, 可以打包成 deb, 以便安裝在其它的 (ubuntu 8.04) 電腦嗎, google 之後, 發現有人討論, see 討論來源:


如果只是單純的從原始碼經過編譯之後,自己做成deb檔案自己用,應該不用這麼複雜的去宣告有的沒有的。

通常原始碼都有 autogen.sh 或者 configure 檔案可以執行設定系統資訊。執行之後如果有缺乏的套件,會顯示出來告訴你需要安裝。
只要沒有錯誤,就可以執行編譯了
編譯之前,請先安裝checkinstall這個套件
sudo apt-get install checkinstall

make clean # 預防萬一,先清除暫存檔案
make # 開始編譯

經過漫長的編譯過程,編譯完成之後,請執行

sudo checkinstall

會問你一些小問題,不知道就按enter過去就好。
這個程式會模擬安裝你所編譯好的軟體,並且將編譯好的檔案做成deb檔案。是個很方便很好用的軟體。
試試看吧!


最後顯示訊息:
**********************************************************************
 Done. The new package has been installed and saved to
 /home/yinung/gretl-1.8.6/gretl_1.8.6-1_i386.deb
 You can remove it from your system anytime using:
      dpkg -r gretl
**********************************************************************
 

待在其它電腦安裝看看囉!

/usr/local/bin$ cd ~
$ /usr/local/bin/gretl
/usr/local/bin/gretl_x11: error while loading shared libraries: libgretl-1.0.so.0: cannot open shared object file: No such file or directory

還是沒成功

在 /usr/local/lib 下, 找到
libgretl-1.0.so.0 和其它 3 個以 libgretl* 開始的檔案 (2個是 link 檔)
都複製到
/usr/lib

應該就 OK了

 

2010年1月12日

再次 try 安裝 gretl 1.8.6 on ubuntu 8.04

之前一直無法搞定 packages dependence 的問題, 在 gretl-user list 的建議下, 決定自行 compile

1. 先安裝基本 packages
sudo apt-get install gcc autoconf automake1.9 libtool flex bison gcc-doc
    以前找不到 libc6 和 libc6-dev 這次竟然會自動去找...


下列的【新】套件都將被安裝:
  autotools-dev cpp gcc-4.2-doc libc6 libc6-dev libc6-i686 linux-libc-dev m4
建議(Suggested)的套件:
  autoconf2.13 autobook autoconf-archive gnu-standards autoconf-doc
  automake1.9-doc bison-doc cpp-doc gcc-multilib manpages-dev glibc-doc gcj
  gfortran fortran95-compiler libtool-doc
推薦(Recommended)的套件:
  automaken libltdl3-dev
下列的【新】套件都將被安裝:
  autoconf automake1.9 autotools-dev bison flex gcc-4.2-doc gcc-doc libc6-dev
  libtool linux-libc-dev m4
下列的套件都將更新:
  cpp gcc libc6 libc6-i686
更新 4 個套件,新安裝 11 個套件,刪除 0 個套件,另不更新 503 個套件。
需要下載 13.5MB 的檔案。
After this operation, 29.9MB of additional disk space will be used.
繼續執行嗎? 是按 [Y] 鍵,否按 [n] 鍵 y


sudo apt-get install libgfortran1

下列的【新】套件都將被安裝:
  gcc-4.1-base
下列的【新】套件都將被安裝:
  gcc-4.1-base libgfortran1

sudo apt-get install libglib2.0-dev
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  libglib2.0-0
建議(Suggested)的套件:
  libglib2.0-doc
推薦(Recommended)的套件:
  libglib2.0-data
下列的【新】套件都將被安裝:
  libglib2.0-dev
下列的套件都將更新:
  libglib2.0-0


 sudo apt-get install libpng12-dev

讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  libpng12-0 zlib1g-dev
下列的【新】套件都將被安裝:
  libpng12-dev zlib1g-dev
下列的套件都將更新:
  libpng12-0


sudo apt-get install libxslt1-dev
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  libxml2 libxml2-dev libxslt1.1
下列的【新】套件都將被安裝:
  libxml2-dev libxslt1-dev
下列的套件都將更新:
  libxml2 libxslt1.1


 sudo apt-get install lapack3-dev
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  cpp-3.4 g77 g77-3.4 gcc-3.4 gcc-3.4-base lapack3 libg2c0 libg2c0-dev
  refblas3 refblas3-dev
建議(Suggested)的套件:
  g77-doc g77-3.4-doc gcc-3.4-doc lib64gcc1 libc6-dev-amd64
下列的【新】套件都將被安裝:
  cpp-3.4 g77 g77-3.4 gcc-3.4 gcc-3.4-base lapack3 lapack3-dev libg2c0
  libg2c0-dev refblas3 refblas3-dev


sudo apt-get install fftw3-dev
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
注意,選擇了 libfftw3-dev 而非 fftw3-dev
下列的【新】套件都將被安裝:
  libfftw3-dev


sudo apt-get install libreadline5-dev
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  libncurses5-dev
下列的【新】套件都將被安裝:
  libncurses5-dev libreadline5-dev


 sudo apt-get install libgmp3-dev
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  libgmpxx4ldbl
建議(Suggested)的套件:
  libgmp3-doc libmpfr-dev
推薦(Recommended)的套件:
  libstdc++-dev
下列的【新】套件都將被安裝:
  libgmp3-dev libgmpxx4ldbl


sudo apt-get install gnuplot
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  gnuplot-nox gnuplot-x11
建議(Suggested)的套件:
  gnuplot-doc
下列的【新】套件都將被安裝:
  gnuplot gnuplot-nox gnuplot-x11


sudo apt-get install texlive
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
下列的【新】套件都將被安裝:
  tex-common texlive-base texlive-base-bin texlive-common texlive-doc-base
  texlive-fonts-recommended texlive-latex-base texlive-latex-recommended
建議(Suggested)的套件:
  texlive-doc-en
推薦(Recommended)的套件:
  dvipdfmx lmodern perl-tk texlive-base-bin-doc texlive-fonts-recommended-doc
  tipa texlive-latex-base-doc latex-beamer latex-xcolor prosper
  texlive-latex-recommended-doc
下列的【新】套件都將被安裝:
  tex-common texlive texlive-base texlive-base-bin texlive-common
  texlive-doc-base texlive-fonts-recommended texlive-latex-base
  texlive-latex-recommended

缺的 packages:
libfortran1-dev  pkgconfig

sudo apt-get install libgtk2.0-dev
讀取套件清單中... 完成
了解套件依存關係中      
Reading state information... 完成
The following packages were automatically installed and are no longer required:
  libgfortran2 libblas3gf libmpfr1ldbl liblapack3gf
Use 'apt-get autoremove' to remove them.
下列的【新】套件都將被安裝:
  gtk2-engines-pixbuf libatk1.0-dev libcairo2 libcairo2-dev libexpat1-dev
  libfontconfig1-dev libfreetype6 libfreetype6-dev libgtk2.0-0 libice-dev
  libpango1.0-0 libpango1.0-common libpango1.0-dev libpixman-1-dev
  libpthread-stubs0 libpthread-stubs0-dev libsm-dev libx11-dev libxau-dev
  libxcb-xlib0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev
  libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev
  libxrandr-dev libxrender-dev x11proto-composite-dev x11proto-core-dev
  x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev
  x11proto-randr-dev x11proto-render-dev x11proto-xext-dev
  x11proto-xinerama-dev xtrans-dev
建議(Suggested)的套件:
  libcairo2-doc libgtk2.0-doc ttf-arphic-bsmi00lp ttf-arphic-gbsn00lp
  ttf-arphic-gkai00mp ttf-baekmuk ttf-thryomanes libpango1.0-doc
下列的【新】套件都將被安裝:
  libatk1.0-dev libcairo2-dev libexpat1-dev libfontconfig1-dev
  libfreetype6-dev libgtk2.0-dev libice-dev libpango1.0-dev libpixman-1-dev
  libpthread-stubs0 libpthread-stubs0-dev libsm-dev libx11-dev libxau-dev
  libxcb-xlib0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev
  libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev
  libxrandr-dev libxrender-dev x11proto-composite-dev x11proto-core-dev
  x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev
  x11proto-randr-dev x11proto-render-dev x11proto-xext-dev
  x11proto-xinerama-dev xtrans-dev
下列的套件都將更新:
  gtk2-engines-pixbuf libcairo2 libfreetype6 libgtk2.0-0 libpango1.0-0
  libpango1.0-common


2. ./configure (網友 Hélio Guilherme 建議先不要用 ./configure --enable-build-doc)
   這次果然成功了, 告訴我可以 "make" 了
3. make and sudo make install
   但發現在 /usr/local/bin 下, 只有 gretlcli 和 gretl-config, 並沒有 gui 介面的 gretl
   檢查後, 發現沒有 libgtk2.0-dev
   再次安裝
   sudo apt-get install libgtk2.0-dev
   再重覆步驟 2-3, 終於成功了!

2009年11月22日

在 ubuntu 8.04 下, 安裝 gretl 1.8.5

(假設己在 ubuntu 8.04 下, 裝好 alien 和 gdebi)
至 http://gretl.sourceforge.net/ 下載 gretl-1.8.5-1gtk2.i586.rpm
用 sudo alien -k gretl-1.8.5-1gtk2.i586.rpm 將 rpm 轉成 debian 格式
在 icon 上 (在由 alien 產生的gretl_1.8.5-1gtk2_i386.deb 檔) 點兩下, 會自動用 gdebi 開啟, 不過最後是失敗的, 訊息:

(正在讀取資料庫 ... 系統目前總共安裝有 144309 個檔案和目錄。)
正預備替換 gretl 1.8.0-1 (使用 gretl_1.8.5-1gtk2_i386.deb) ...
正在解壓縮替換的套件檔 gretl ...
dpkg:處理 gretl_1.8.5-1gtk2_i386.deb (--install)時出錯:
正試圖覆蓋“/usr/lib/libgretl-1.0.la”,它屬於套件 libgretl1
dpkg-deb: 子程序 paste 被信號(中斷的 pipe)終止了
在處理時有錯誤發生:
gretl_1.8.5-1gtk2_i386.deb

試了很多種方法, 問題應該是 gtk 版本太低所致, 後來先裝 OOO 3.1 (看能否幫我解決我不太懂的 dependence 的問題), 後來果然成功了! 可以 run gretl 1.8.6, 方法
1. 在 Ubuntu 安裝 OpenOffice.org 3.0

#ubuntu 8.04
deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu hardy main
deb-src http://ppa.launchpad.net/openoffice-pkgs/ubuntu hardy main


接著匯入 GPG Key:
$ gpg --keyserver keyserver.ubuntu.com --recv-key 60D11217247D1CFF
$ gpg --export --armor 60D11217247D1CFF > ooo.gpg
$ sudo apt-key add ooo.gpg
OK


最後進行套件更新:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

2009年11月12日

Ubuntu 9.04 下, 裝 gretl 1.8.5

libxcb-xlib0_1.1-1.1_i386.deb
   copy to /usr/lib
   libxcb-xlib.so.0.0.0
   libxcb-xlib0.so.0
liblapack
   liblapack-dev
   liblapack3gf
libfftw3-3

2009年10月26日

如何知道目前 ubuntu 的版本?

試裝了很多種 ubuntu 的衍生版本後 (像 ubuklite, LXDE, gOS,... 不知道哪一個是基於 8.04, 8.10, 9.04, 9.10, ... 可在 terminal 中輸入
cat /etc/issue
系統會回應像是:
Ubuntu 8.10 \n \l
就知道版本 是 8.10 了!


至於 ...

如何知道 Ubuntu 是 32 位元還是 64 位元的版本?

則可下指令

   uname -m

32Bit版的 Ubuntu 顯示 i686,64 Bit版 會顯示 x86_64。

2009年10月20日

Virtualbox 分享資料夾設定- Host: ubuntu, Guest:ubuntu

之前參考了 重灌狂人的讓Windows與「VirtualBox裡的Ubuntu系統」共用「分享資料夾」一文, 但我的系環境有點不同, 所以不能畢竟其功, 經試驗後, 紀錄如下:

Host: ubuntu 8.10 AMD
Virtualbox: 2.0.4 OSE (open source edition?)
Guest: ubuntu 9.04

1. 在 guest 中安裝 「安裝客端額外功能」,以支援分享資料夾
   在 virtualbox 選單上, 點選「安裝客端額外功能」, 之後會出現一個光碟在桌面上, 用 terminal 進去找光碟位置 (我的是在 /media/cdrom0), 下指令:
   cd /media/cdrom0
   sudo ./VBoxLinuxAdditions-x86.run
結果:
Verifying archive integrity... All good.
Uncompressing VirtualBox 2.0.4 Guest Additions for Linux installation..............................................................................
...............................................................................................
VirtualBox 2.0.4 Guest Additions installation
Building the VirtualBox Guest Additions kernel module...
Building the shared folder support kernel module...
Installing the VirtualBox Guest Additions...

Successfully installed the VirtualBox Guest Additions.
You must restart your guest system in order to complete the installation.
表示安裝好了...

2.建立新資料夾,並將「分享資料夾」掛載到新位置
例如在桌面上建立一個叫 disk 的資料夾, 然後用指令將原來已經先建立的分享資料夾 shared01
   sudo mount -t vboxsf shared01 /home/xxx/桌面/disk

3. 執行完上述的掛載磁碟指令後,  檢查是否正確掛載
我的情況和重灌狂人上所 PO不同, 我無法用滑鼠開啟剛剛自行在桌面建立的 disk 資料夾, 因為權限不足, 我發現是因為用 root 權限掛載所導致, 但是用 root 權限進去是看得到內容的:
   sudo ls ~/桌面/disk 

4. 用 chown -R xxx disk 指令更改權限, 也沒有發生作用 ....不知道問題在何處?


                                                                                                        
2019.7月: 有新解! 新版 virtualbox 4.x (我目前用 5.x),只要將自己的帳號加入 vboxsf 群組即可。                                                                                
                                                                                                        
 
2010.2月: 有解! 在掛載時多下一個 option, 指定 owner (xxx 是 user id), 例如:


sudo mount -t vboxsf shared01 /home/xxx/桌面/disk -o uid=xxx


--------------------------------------------------------------------------
要自動掛載 「分享資料夾」, VirtualBox 官網記載在 /etc/fstab 的寫法是:

To mount a shared folder during boot, add the following entry to /etc/fstab:

sharename   mountpoint   vboxsf   defaults  0
 
但使用者必需加入群組 vboxsf 


我自己使用的方法則可參見: 楊奕農: Virtualbox 掛載共用資料夾(Client 端是ubuntu)
    sudo gedit /etc/fstab
    在其中最後一行加入
    shared         /home/yourname/ntfs    vboxsf    uid=xxxx 0 0




PS: virtualbox OSE for ubuntu 並不能使用 USB 功能, 爬文之後找到以下文章, 尚未試驗:


2009年10月16日

equation editor 方程式編輯 在 wine + Ubuntu 問題的解決

這個問題已經困擾很久, 終於找到解決的辦法, 就是利用 Crossover 所發表的版本中之
   ole32.dll.so (參考頁 & 下載處:南方的猪*窝)
檔, 蓋過 ubuntu 下 wine 原有的
   /usr/lib/wine/ole32.dll.so
若是 AMD64 版的, 則蓋過
    /usr/lib32/wine/ole32.dll.so
然后在 winecfg 里把 usp10 改為 native,就能正常使用 equation editor 3.0 了。

不過, 我發現此時 word 97 版在 ubuntu + wine 之下, 插入「物件」功能是正常了, 但部份字形無法顯示 (我猜是 MT Extra 沒法被正確使用... 尚待確定