ArchLinuxでLyra2REv2マイニング(CPU)

実際のところInstall Battleが面倒くさくてAntergos使っているので、ArchLinuxそのままではないんだけど。

 

https://blog.visvirial.com/articles/499#CPU

こちらを参考に。参考っていうかそのままなんだけど~

 

必要なパッケージを入れようってあるけど、実際どんな必要なパッケージがあるのかしらと思っても、ぶっちゃけわかんないので、取り敢えずビルドしたら何かしらエラー出るだろ、それに対処すればいいだろ…

と思って ./build.sh したら何のエラーもなくそのまま通ってしまった。

 

後はjsonで設定ファイル作って、それを食わせてcpuminerを実行するだけ。

 

何の問題も無かったし普通に動いた。何一つ有用な情報無し!!

 

 

 

追記:

文字見えねーよ!!!!!!

文字見えねーよ!!!!!!

pacmanで「無効または破損したパッケージ (PGP 鍵)」

久々に # pacman -Syuaした時に、

ファイル /path/to/pkg/hoge.fuga.tar.xz は破損しています (無効または破損したパッケージ (PGP 鍵))。

で軒並みパッケージが弾かれた。PGP鍵とあるし、だいぶ前からいじってなかったので、取り敢えず鍵を更新しましょう。

# pacman-key –refresh-keys

結構待っても(20分くらい?)かけらも進んでいる様子が無かった上に通信している様子も無いので、

# pacman-key –init
# pacman-key –refresh-keys

と、先にinitしてからにしたら普通に終わりました。

そのまま # pacman -Syua したらこれも普通に通った。問題無いですね。(たぶん)

Poderosaでssh接続出来なかった

別に全部の環境で接続出来なかった訳じゃなくて、Ubuntu使って家庭内鯖にしてるとこは接続できたんだけど、NASにしてるArchLinuxに接続出来なかった。

 

NASにしてるとは言え、何故かモニタもキーボードも付けてたので今までssh使ってなかったけれど、久しく触っていなかったらキーボードにほこりがだいぶ積もってしまっていたので、じゃあsshするか…と思い、有効にしてみた。宅内環境だし別に外からアクセスする必要もないし、取り敢えずパスワードでおkおkと思ったので以下な感じ。

$ systemctl start sshd
$ systemctl enable sshd

さて、意気揚々とメインマシンのWindowsからPoderosaでアクセスしようとすると……

 

何故か知らんが弾かれた

何故か知らんが弾かれた

 

取り敢えずエラーメッセージでぐぐってると以下のページに遭遇。

http://qiita.com/tukiyo3/items/a9b955f0fad03f6279d2

コメント欄でttdoda氏やtukiyo3氏がほむほむとしている側でclerk氏が「4.3.14bだと対応」と発言。どうやらPoderosaを更新すれば良いっぽい??

 

本当にバージョンでなんとかなるのか不安だったため今使っているPoderosaのバージョンを調べた所、4.1.0だった。これがいつリリースされたものなのかいまいちわからないけれど、4.3.0bが2010年末とかなので、やっぱりそれなりに古いんだなぁ。

これを入れた時はインストーラでいったっぽい(Program Files(x86)に入ってる)けど、今はただのzipアーカイブしか置いてない。好きなとこに置けて便利だけどね。

 

 

おまけ。

http://poderosa.sourceforge.net/index.html.ja

の最後のところにja.poderosa.orgへのリンクがあって、

(あまり更新されてない…)

とコメントがあるけど、

This domain may be for sale!

This domain may be for sale!

 

悲しいのう悲しいのう……

aviutlでバッチ出力中にバッチを追加するとどうなる?

バッチはaviutl本体と同じところに、batch0.aup, batch1.aup, batch2.aup, …と言った具合に順繰りに保存されていき、バッチ出力をするときにはこのaupを読み取って出力されていく。

正常に出力が完了したaupファイルは削除するというオプションがデフォルトでONになっているので、batch0.aupから消されていく。

さて、それではバッチ出力中に追加するとどうなるのか?

 

結論から言うと、特に意識する必要は無く、問題無い。(たぶん)

 

想像した懸念は、

・0~2を作る

・出力を始める

・0が完了する

・0が削除される

・1の処理が始まる

ここで追加すると、新たなaupファイルは3になるのか?それとも0になるのか?aviutlが認識しているバッチ出力リストは更新されるのか?0になっていた場合出力リストの頭に追加されるのか?

 

実験してみた所、

・追加したaupファイルは0として保存された

・1の処理が完了し2の処理が始まった時、aviutlのバッチ出力リストは0を認識

・0はバッチ出力リストの最後(2の後)に追加された

といった具合。

 

aviutlのバッチ出力リストは、てっきりファイル名から順番を作っているのかと思っていたけど、違うっぽい。作成日時とかかな。(未確認)

 

結局(最初に言ったけど)、特に意識しなくても、特に心配しなくても、大丈夫という事だ。うんうん。

 

 

aviutlを使ったエンコ鯖、データ突っ込んでaupは別環境で作ってとにかく放り込めばそれで後はひたすら出力してくれる感じに作れるのでは(aupの中でのファイルパスの取り扱いがよくわからないからそこをもうちょっと調べればデータ突っ込むのも不要にならないかな)。

どうせh265のトランスコードはめちゃくちゃ時間かかるし、深夜帯のアニメはほぼ全て録画している訳だから常に(ロスタイムなしに)処理させるつー事も可能なのでは…と妄想が広がる。

ただ、以前1クール分くらい一気にバッチ出力した時には、途中でffmpegがエラー落ちして処理が止まってしまっていたので、そういう所をなんとかできないかなぁ、と…

動画編集は大した事してなくて、aviutlを使っているのは、基本的には映像を見ながらCMの場所を探しているだけ。フレーム単位でカット場所が決められればffmpegでやれば色々良いのに、とは思う。Windowsである必要がなくなるし。

 

デスクトップPC、そろそろ新調したいなぁと思っているけれど、今使っているのをエンコ鯖にしちゃおっかなとか思っているのは前々からなので、こういうあたりから色々捗るかなーと(頭の中だけ)

Linuxでクロスコンパイル 〜その1〜

Linuxの上でWindows向けバイナリを吐き出してみるテスト

詳しいことは詳細が決まってから書くけれど、学校で「コンパイルサーバが欲しい」という話を持ちかけられて、そういえばやった事がないのでちょっくらやってみようって感じ。

とにかく取り敢えずで、それらしい感じになれば今回はそれでオッケーという事で。

 

ArchLinuxの上でWindows向けを吐くぞ!!ゲロロロ

 

何はともあれインストール

[tea@teaarch ~]$ yaourt -S mingw-w64-gcc
[sudo] tea のパスワード:
依存関係を解決しています…
衝突するパッケージがないか確認しています…

パッケージ (5) mingw-w64-binutils-2.25.1-1 mingw-w64-crt-4.0.4-1
mingw-w64-headers-4.0.4-1 mingw-w64-winpthreads-4.0.4-1
mingw-w64-gcc-5.2.0-1

合計ダウンロード容量: 136.10 MiB
合計インストール容量: 780.51 MiB

〜以下略

 

恒例のHello world.

$ cat hello.cpp

#include <iostream>

int main(){
std::cout <<“hello ” <<std::endl;
return 0;
}

 

さてコンパイル

$ g++ -o hello.out hello.cpp

$ x86_64-w64-mingw32-g++ -o hello.exe hello.cpp -static

$ ls

hello.cpp

hello.exe

hello.out

 

実行します。まずは普通のLinux用バイナリ

$ ./hello.out

hello

当然想定通りの結果。よろしい。

次はクロスコンパイルしたWindows向けバイナリ

$ ./hello.exe

bash: ./test.exe: cannot execute binary file: 実行形式エラー

実行できない。良さそう

Windowsに移動させるのがめんどかったからwineで実行してみる

$ wine ./hello.exe

fixme:service:scmdatabase_autostart_services Auto-start service L”Mobizen plugin” failed to start: 2
hello
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}

なんかものっそいエラー吐かれたけど一応「hello」は出たし良いとするか(((

MobizenってこのMobizenかな??

 

クロスコンパイル自体はそりゃ出来るでしょうねって感じでした。

問題はこれにどういうフロントエンドを付けるのかっていうとこなんだけど、というかそもそも鯖にLinuxを使うのかどうかとか、色々決まってない部分があるし、加えて言うなら今回はCっぽい空気だったけど、求められているのはFORTRANなのであった……

 

 

ちなみに

上ではしれっと-static付けているけど、ダイナミックリンクでやるとlibstdc++-6.dllあたりが必要そうなエラーを吐いて実行できない。適切に用意してあげれば実行出来るんだろうけどね。

データの大きさを比べると、

  • test.cpp  84
  • test.exe  11206980
  • test.out  9192
  • test_d.exe 134968

みたいな感じ。スタティックリンクだと11MBくらいになる。(ただのHelloWorldである)

.vimrc書いてた

 

大した事は書いてないんだけどね。

Vundleを入れて、TweetVimを使えるようにしたのをベースにして、そこから楽しそうなプラグインをてきとうに突っ込んでいった感じ

set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin ‘gmarik/Vundle.vim’

call vundle#end()

Vundleインストールの時のコピペ

 

Bundle ‘basyura/TweetVim’
Bundle ‘mattn/webapi-vim’
Bundle ‘basyura/twibill.vim’
Bundle ‘tyru/open-browser.vim’
Bundle ‘h1mesuke/unite-outline’
Bundle ‘basyura/bitly.vim’
Bundle ‘Shougo/unite.vim’

TweetVimに使うもの。TweetVimはさらっと呟きたい時に便利。迂闊にmikutterとか開くと作業が捗らない捗らない…

 

Bundle ‘scrooloose/nerdtree’

ツリー状のファイルビューできる感じ

 

Bundle ‘tomtom/tcomment_vim’

大抵の文法でコメントアウトできる。行選択してCtrl+-を2回押すだけ

 

Bundle ‘tomasr/molokai’
syntax on
colorscheme molokai
hi Comment ctermfg=gray

カラースキームを指定している。我が家の環境ではコメントアウトが異常に見難かったのでそれだけ色変更。

 

Bundle ‘nathanaelkane/vim-indent-guides’
let g:indent_guides_enable_on_vim_startup=1
let g:indent_guides_start_level=1
let g:indent_guides_auto_colors=0
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=darkgreen
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=darkblue
let g:indent_guides_color_change_percent=30
let g:indent_guides_guide_size=1

インデントに色を付ける。ネストの状態をサッと確認できて良い。次にするタブ幅の設定が必要らしい(tsとswが同じである事、expandtabが有効であること)

 

set ts=2 sw=2 sts=0
set expandtab

タブ幅の設定。

 

set number
set cursorline
hi clear CursorLine
hi CursorLine ctermbg=darkred

行番号を表示するのと、カーソルが今いる行をハイライトする。

 

Plugin ‘itchyny/lightline.vim’
set laststatus=2
let g:lightline = {‘colorscheme’:’wombat’,}
if !has(‘gui_running’)
set t_Co=256
endif

ステータス行の設定。lightline使って取り敢えずカッコヨサゲになればいいかなって感じ。あんまり真面目に取り組んでない(フォントにパッチ当てると色々表示できて面白いらしいんだけどめんどくてやってない)

 

Bundle ‘miyakogi/seiya.vim’
let g:seiya_auto_enable=1

molokaiで背景が真っ黒にされちゃうのでそれを上書きして背景が半透明に見えるように。molokaiを書き換えてもいいけれど、別のカラースキームにしても手間なく行きたいためこちらを使う。どうやらこのプラグインは随分簡単な仕組みらしくて、それを直接書いてもいいんだけど、2行には収まらないため使わせて頂く。ありがたやありがたや

 

filetype plugin indent on

これもVundleインストールの時のコピペ

 

ずっとviを使っていた(多くの場合viと入力すればvimが起動されると書いてある記事が大変多いけど、我が家の環境ではviとすればきちんとviが起動しました)けれど、楽しそうだし触ってみるか的な感じで、取り敢えず.vimrc書かないと始まらないかなーと

.bashrcにはきちんとalias vi=’vim’を追記しておいたので、むしろviを起動したい場合にはwhich viとかで探して直接実行せねばならぬ。誰得

 

しかし操作がマジに覚えられん。みんな、そんなに覚えてるもんなのかな、怖い

ImageMagickで画像を2値化

スキャナで楽譜を取り込んだのだけど、カラーだったので、全体的に灰色になってしまった。

2値化したればよろしいなと思ったので、ImageMagickのconvertコマンドでパラメータ調べて、mogrifyでゴリゴリっと回してやろうという方針にした。

 

2値化するにあたって、-thresholdオプションを使えば良いというのは知っていた(以前どこかの記事で見た)のだが、その値が訳わからんかったのだ。

-thresholdオプションに指定する値は、閾値となる輝度を指定する。確かその記事では80や120といったくらいの数値だったが、その周辺の値も含めて色々試しに調べたが、ぜーんぶまっしろしろの画像しか出力されない。

入力ファイル名にスペースが入ってるとダメなのかなとか、png形式のままじゃダメかな?とか色々やったけれど状況は改善されず。

半ばやけくそになって設定する輝度をゴリゴリ上げていったら、55000くらいのとても大きい数値で期待した動作が得られた。

 

例示として80とか120とかで紹介していた記事を書いた人、ちゃんと期待した動作が出来たのだろうか?

スキャナで拾った画像だとまた違うとか、ImageMagickのバージョンで状況が違うとかなのかなぁ。

 

ちなみに使ったスキャナはこちら。

2年ほど前にヨドバシアキバで買った時は1万円ギリギリしないくらいだったかな。ArchLinuxの上だったので、てきとうにsaneとか入れてsimple-scanでスキャンしました。

ちなみに色々なところに例示されているGUIフロントエンド、xsaneを使わなかったのは、ただ使いこなせなかっただけです(´・ω・`)