fortran66のブログ

fortran について書きます。

AWS Cloud9 で gfortran Ver.7 (EC2 Ubuntu)

Amazon Web Services の Cloud9 なるオンライン IDEFortran (その2)

我慢して How to を読んだら比較的簡単に出来ました。英語を読むのはだるいが、どうせ日本語訳で読んでも意味不明なので大差なしw

スマホからの初めての共同作業のスクリーンショット
f:id:fortran66:20171209024545p:plain


今回、簡単のためオレゴン地区上に ubuntu および Cloud9 のインスタンスを作りました。ubuntu 上に Cloud9 のソフトがインストールされるようです?

手順メモ帳

「AdBlockerを切る事!」

putty の設定(1.インストール、2.AWS がくれる pem ファイルを PuttyGen にて ppk ファイルに変換、3.Putty->connection->SSH->Auth-> Browse... で ppk ファイル読み込み設定。4.ホスト名は ubuntu インスタンス起動の時に表示される)

  • Cloud9 用の下準備をする

以下の9番参照
docs.aws.amazon.com

  • Python2.7 インストール

docs.aws.amazon.com

sudo apt install python-minimal

pipインストール

curl -O https://bootstrap.pypa.io/get-pip.py # Get the install script.
sudo python get-pip.py # Install pip.
rm get-pip.py # Delete the install script.

botoインストール

sudo python -m pip install boto3

  • node.js

Installing Node.js via package manager | Node.js

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

だったかw

  • SSH key 設定

vi ~/.ssh/authorized_keys

すでに何か書かれているので、それに付け加える形で、次のステップで得られる SSH KEY を足す。

  • AWS の サービス->開発者用ツール-> Cloud9 から Create environment

名前を付けた後のページで、connect and run in remote server (SSH) を選ぶ。
User 名 ubuntu
Host 名 ubuntu インスタンスの与えるアドレス
を記入。
また copy key to clipboard でSSH keyをコピーする。
ubuntu 端末に戻って vi で append して足してやる。

後は適当にクリックしたら何とかなった。

  • gfortran 設定

ubuntu 端末側から gfortran-7 の設定
fortran66.hatenablog.com

Cloud9 Fortran Run&Go ファイル設定
fortran66.hatenablog.com

fortran.run   gfortran-7 f2008 設定

// This file overrides the built-in C runner
// For more information see http://docs.aws.amazon.com/console/cloud9/change-runner
{
  "script": [
    "set -e",
    "if [ \"$debug\" == true ]; then ",
    "gfortran-7 -std=f2008 $file -o $file.o",
    "chmod 755 \"$file.o\"",
    "node $HOME/.c9/bin/c9gdbshim.js \"$file.o\" $args",
    "else",
    "gfortran-7 -std=f2008 $file -o $file.o",
    "chmod 755 $file.o",
    "$file.o $args",
    "fi"
  ],
  "info": "Running $file",
  "debugger": "gdb",
  "$debugDefaultState": false,
  "env": {},
  "selector": "^.*\\.(f90)$"
}