顯示具有 r910a 標籤的文章。 顯示所有文章
顯示具有 r910a 標籤的文章。 顯示所有文章

2020年6月18日 星期四

CentOS 6上編譯GCC 4.8.5

CentOS 6上面預設的編譯器是GCC-4.4.7,自行編譯一套GCC-4.8.5的步驟如下:
  1. 安裝GMP,這邊選4.3.2版
  2. 安裝MPFR,這邊選2.4.2版
  3. 安裝MPC,這裡選0.8.1版
  4. 安裝ISL,這裡選0.14版
  5. 下載GCC-4.8.5原始碼,設定編譯與安裝

2020年6月17日 星期三

gnu/stubs-32.h: No such file or directory

在CentOS 6的機器上編譯GCC-4.8.5的時候,出現錯誤訊息:
  • gnu/stubs-32.h: No such file or directory

這是因為缺少32-bit C library,最簡單的解決方式是在編譯GCC時,在configure那個步驟加入下面的參數,把32-bit的支援給關掉:
  • --disable-multilib

2019年8月23日 星期五

手動安裝R-3.4.0到指定資料夾

在手動安裝R-3.4.0的時候,因為系統版本太舊,許多函式庫都過舊而不支援;加上並沒有管理者權限,無法使用yum等套件管理程式來升級這些函式庫,故必須要先手動安裝一些所需的函式庫,參考下面幾篇文章:
基本上就是在手動安裝R-3.4.0,在configure階段被提示缺什麼函式庫、或是函式庫太舊就安裝或升級某函式庫。至於R-3.4.0安裝過程如下:

2019年8月22日 星期四

手動安裝libcurl-7.65.3

libcurl是個免費開源的函式庫,自己寫的程式用了他就可以來下載檔案。手動安裝方式如下
$ wget https://curl.haxx.se/download/curl-7.65.3.tar.gz
$ md5 curl-7.65.3.tar.gz 
MD5 (curl-7.65.3.tar.gz) = 08e951e3da639bb4197d52222458b5dd

$ tar zxvf curl-7.65.3.tar.gz && cd curl-7.65.3
$ ./configure --prefix=/YOUR/DESTINATION
$ make -j 16
$ make install

參考資料

_EOF_

2019年8月19日 星期一

手動安裝PCRE-8.43

PCRE是Perl Compatible Regular Expression函式庫,安裝完以後,會有下面三個程式:
  • pcregrep:Perl相容的grep
  • pcretest:測試某個regular expression是否是Perl相容
  • pcre-config:用在編譯其他程式而需要鏈結到PCRE library
安裝的函示庫會有:
  • libpcre.so, libpcre16.so, libpcre32.so:支援一般、16, 32-bit character
  • libpcrecpp.so:應該是pcre給cpp用的函示庫
  • libpcreposix.so

手動安裝到指定資料夾(不需要root權限)如下:

2019年8月16日 星期五

手動安裝xz-5.2.4

xz也是個壓縮檔案的軟體,使用Lempel-Ziv-Markov chain-Algorithm (LZMA)演算法來壓縮。以下是xz相關的連結:
手動安裝方式如下:

2019年8月15日 星期四

手動安裝bzip2-1.0.8

bzip2是由Julian Seward開始發展的壓縮程式,使用的是Burrows–Wheeler algorithm。壓縮完的檔案會後綴.bz2,目前也可用BSD-like license。使用方法如下:
  1. bzip2 FILENAME
  2. cat FILENAME | bzip2 > FILENAME.bz2
  3. bunzip2 FILENAME.bz2
  4. bzcat FILENAME.bz2 > FILENAME
以上的指令1,2是壓縮檔案,後面兩者則是解壓縮。手動安裝法如下:

2019年8月13日 星期二

手動安裝zlib-1.2.11

zlib是非壞性壓縮的函示庫,作者有兩人:
安裝時1.2.9或1.2.10的應該要直接換成1.2.11,安裝過程如下:

2019年6月6日 星期四

CentOS沒有程式在跑卻顯示高負載

有台CentOS 6的舊機器,使用top沒有看到甚麼高負載的程式但使用uptime卻會看到很高的負載量。通常這種狀況都會是nfs在搞鬼,大概會是下面這種狀況:
  1. 本地端使用mount nfs掛載了遠端機器的資料夾
  2. 遠端機器的nfs service掛了或是關掉了
  3. 本地端使用df, ls等去看掛載的資料夾,然後就一直在等待nfs回應
    雖然這些程式不怎麼吃資源,但卻會出現在負載上面

解決方案就是把nfs給掛好,或是刪除這些卡住的指令: