Roswell-cartridgeを作った
OpenShiftでCommonLispのWebアプリケーションを動かしたいと思ったときに,Roswellがあると便利だと気付いた. 例えば,処理系を変えたい場合とか.
OpenShiftはデプロイ時などの前後でアクションを起こすことができる. なので,そこでRoswellを使っていろいろすると良さそう. 注意点として,cartridgeではRoswellにPATHを通すことができないので,実行時に指定する必要がある. ; sshで接続した場合は,bash_profileを読んでくれるので解決できる.
PATH=${OPENSHIFT_ROSWELL_DIR}/bin:$PATH HOME=${OPENSHIFT_ROSWELL_DIR}/home ros install ccl-bin
Roswellを好きな場所にインストールする
OpenShiftでGitBucket
最近,OpenShiftのcartridgeを作るのにはまっています.
OpenShiftって自由度高いんだなと思えるサンプルとして,GitBucketのcartridgeを作りました.
; Herokuでも可能だが...
使い方
rhc create-app gitbucket 'http://cartreflect-claytondev.rhcloud.com/reflect?github=mocchit/gitbucket-cartridge'
作成し終えたらすぐにアクセスして,ID/PASSWORD root/rootでSignInしてアカウント情報を書き換える.
外に立てたサーバで,private repositoryを使いたいだけならBitbucketで十分だった. 社内で,OpenShiftを使う場合に生きるかも?
GitBucketとは
pacstrapでこけた
Portable Arch Linuxを作成するために,USBメモリ*1へBaseSystemをインストールしようとしたら....
error: could not open file /mnt/usbstick/var/cache/pacman/pkg/vi-1:070224-2-x86_64.pkg.tar.xz.part: Invalid argument error: could not open file /mnt/usbstick/var/cache/pacman/pkg/vi-1:070224-2-x86_64.pkg.tar.xz.part: Invalid argument warning: failed to retrieve some files error: failed to commit transaction (failed to retrieve some files) Errors occurred, no packages were upgraded. ==> ERROR: Failed to install packages to new root
option:enable
style:terminal
初期
vi-1:070224-2-x86_64.pkg.tar.xz.part
のファイル名を疑ったがそうでもないらしい...
迷走
Fedoraでpacstrapを入れて試してみるも同じ失敗.
解決
ググったらでてきた.
USBメモリの容量が大き場合はext4じゃないとだめだったのか.
umount
してから
mkfs.ext4 /dev/sdb1
で解決した.
参照元:https://www.reddit.com/r/linux4noobs/comments/2u37mo/trouble_installing_arch_base_via_pacstrap/
メモ
デバイス探すとき
lsblk
*1:
OpenShiftでEmacs Webアプリケーションを動かす!!
Emacsでブログエンジンを動かしてる人*1もいるようだし, これからはEmacs Webアプリケーションの時代がくる予感!
また,僕はOpenShiftをよく使うので,Emacs cartridgeがあると便利だと思い作った. github.com
使い方
前提
- OpenShiftアカウント
- rhc
OpenShiftにアプリケーションを作成
rhc create-app emacs 'http://cartreflect-claytondev.rhcloud.com/reflect?github=mocchit/emacs-cartridge'
アプリケーションを書く場所
前行程を行うとemacs
というディレクトリが作成されている.
その中あるinit.elにガリガリ書き込んでいく.
cd emacs ls => init.el
Emacs cartridgeについて
elnodeが事前に(package-install 'elnode)
されている.
他に追加する必要があれば,(package-install XXX)
してください.
Macで自作エミュレータで学ぶx86アーキテクチャ本を進める...1章
Macで自作エミュレータで学ぶx86アーキテクチャ本を進めるには,以下のものが必要でした.
1章
- gcc
Xcodeのgccでは,オプションが使えないものがある.
調べて互換のあるオプションを探すのも骨が折れるので,
brew install gcc --universal
. もしくは,brew upgrade gcc
. - gobjdump
objdumpがないので,gobjdumpを入れる.
brew install binutils
で入れる. - nasm
現状では,なくてもよい.
brew install nsam
でいれる.起きたエラー
gcc
brew upgrade gcc
で解決
$ brew install gcc --universal ==> Downloading http://ftpmirror.gnu.org/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2 ==> Downloading from http://ftp.jaist.ac.jp/pub/GNU/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2 ######################################################################## 100.0% ==> Patching patching file gcc/jit/Make-lang.in patching file gcc/jit/jit-playback.c Hunk #1 succeeded at 2459 with fuzz 2 (offset 43 lines). ==> ../configure --build=x86_64-apple-darwin14.3.0 --prefix=/usr/local/Cellar/gcc/5.2.0 --libdir=/usr/local/Cellar/gcc/5.2.0/lib/gcc/5 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix= ==> make bootstrap ==> make install make[4]: *** [install-multi] Error 2 make[3]: *** [install-am] Error 2 make[2]: *** [install] Error 2 make[1]: *** [install-target-libgfortran] Error 2 make: *** [install] Error 2 couldn't understand kern.osversion `14.3.0' READ THIS: https://git.io/brew-troubleshooting These open issues may also help: apple-gcc42 takes priority over modern gcc https://github.com/Homebrew/homebrew/issues/41055 gcc 4.9.2 fails to produce debugging information https://github.com/Homebrew/homebrew/issues/34976 Object files deleted during build of gcc needed by gdb https://github.com/Homebrew/homebrew/issues/35734 MacOS.(gcc|clang|llvm)_version can return nil https://github.com/Homebrew/homebrew/issues/18781
option:enable
style:terminal
title:gcc