ushidayの日記

主に「IBMi」のメモに・・・

GNU CコンパイラーをPASE環境に

PASE環境にbashを入れようと思い、bashのtarボール落としてきて、「./configure」をPASE上で、やったら、「gccがねえぞ!」って言われました。
「find」で探しても、PASEにはデフォで無さそうなので、”GNU Cコンパイラー”をPASE環境に入れた時のメモです。
こちらを参考にしました。(ただ”usr/local”は、既にZend Coreやら、g*やら色々入っていて、参考リンクに記載の様に”QOpenSys/usr/local”に移行する勇気も根性も無いので、/usr/localに放り込みました。)

gccのバイナリー入手
  • ここからAIX 5.3”用のgccバイナリーのtarボールをDownloadします。
  • iナビでもftpでも良いので、AS/400にtarボールをUploadします。


gccのインストール
  • 「call qp2term」でPASEシェルを起動
  • tarボールを置いたディレクトリへ移動
  • tarボールの解凍
    > cd /home/ushida5035/temp
    $
    > ls
    gcc.4.1.0.tar.Z
    $
    > uncompress gcc.4.1.0.tar.Z
    $
    > ls
    gcc.4.1.0.tar
    $
    > cd /
    $
    tar xvf /home/ushida5035/temp/gcc.4.1.0.tar
    ----- 解凍ログ  --------
    $


QOpenSysの環境作成

参考にしたサイトとは逆ですが、こちらの環境には”/QOpenSys/usr/local”が無いので、QOpenSysにシンボリックリンクを割り当てます。

  • 「ln -s /usr/local /QOpenSys/usr/local」を実行。


PASEシェル設定ファイル作成
  • シェル設定ファイル”.profile”に、”/usr/local/bin”へパスが通るように、「echo export PATH='$PATH:/usr/local/bin' >> /home/ユーザー名/.profile」を実行します。

.profileの例

	export PATH=$PATH:/usr/local/bin
	export PATH=$PATH:$GROOVY_HOME/bin
	export PATH=$PATH:$GRAILS_HOME/bin
	export PATH=$PATH:$ANT_HOME/bin
	export PATH=$PATH:$RUBY_HOME/bin
動作確認
  • シェル再起動後、「gcc -v」で動作確認。

  • Cで”Hello World”を作成して、「gcc -o gcctest(オブジェクト) gcctest.c(ソース)」でコンパイル。「./gcctest」で確認。
    #include <stdio.h>
    int main(void) {
          printf("Hello World\n");
          return 0;
    }


bash入れてみて

このあと「configure」→「make」→「make install」で無事bashを入れる事は、出来たのですが、結局AS/400のターミナル(call qp2term)だと、うまく動かないような感じで(何となく予想は出来ていたけど...)、”bashrc”とかも有効になりませんでした。