ライフゲームbotの缶バッヂを作ろうとしていて、副産物的にできたので置いておきます。
使用例
こういったものを作るときに使える。
魔法陣とかで、呪文めいた何かが外側に書かれている箇所とか、そういう局所的なところで使えると思う。
1時間ぐらい調べたけど分からなかった。
[ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec gem install cairo[ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec gem install cairoFetching: cairo-1.15.11.gem (100%)Building native extensions. This could take a while...ERROR: Error installing cairo: ERROR: Failed to build gem native extension.
current directory: /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/cairo-1.15.11/ext/cairo/home/ikatake/local/rbenv/versions/2.4.0/bin/ruby -r ./siteconf20171220-61631-1p7kndm.rb extconf.rbchecking for GCC... yeschecking for Win32 OS... nochecking for cairo version (>= 1.2.0)... no*** extconf.rb failed ***Could not create Makefile due to some reason, probably lack of necessarylibraries and/or headers. Check the mkmf.log file for more details. You mayneed configuration options.
Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/ikatake/local/rbenv/versions/2.4.0/bin/$(RUBY_BASE_NAME) --with-pkg-config --without-pkg-config --with-override-variables --without-override-variables
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-freebsd-9/2.4.0-static/cairo-1.15.11/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/cairo-1.15.11 for inspection.Results logged to /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-freebsd-9/2.4.0-static/cairo-1.15.11/gem_make.out[ikatake@www1928 ~/local/rbenv/plugins]$
/home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-freebsd-9/2.4.0-static/cairo-1.15.11/mkmf.logはこのような塩梅でした。
checking for GCC... -------------------- yes
"gcc -o conftest -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/x86_64-freebsd9.1 -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/backward -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0 -I. -I/home/ikatake/local/rbenv/versions/2.4.0/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations conftest.c -L. -L/home/ikatake/local/rbenv/versions/2.4.0/lib -Wl,-R/home/ikatake/local/rbenv/versions/2.4.0/lib -L. -L/home/ikatake/local/rbenv/versions/2.4.0/lib -fstack-protector -rdynamic -Wl,-R/home/ikatake/local/rbenv/versions/2.4.0/lib -L/home/ikatake/local/rbenv/versions/2.4.0/lib -lruby-static -lelf -lprocstat -lthr -lcrypt -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */"gcc -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/x86_64-freebsd9.1 -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/backward -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0 -I. -I/home/ikatake/local/rbenv/versions/2.4.0/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: #ifndef __GNUC__
5: # error
6: |:/ === __GNUC__ undefined === /:|
7: #endif
/* end */--------------------
checking for Win32 OS... -------------------- no
--------------------
have_package: checking for cairo version (>= 1.2.0)... -------------------- no
--------------------
上記リンク先のライフゲームbotプレイヤーにステッカーを作るボタンをつけました。右側にあります。表示している状態をステッカーにして、どこにでも貼ることができます。イタズラや反社会的行為には使わないでください。
上記の記事ではTシャツが制作可能になったことを告知しています。Tシャツは2000円から3000円ぐらいですが、ステッカーは400円ぐらいで買えますので、お気軽にお買い上げいただけます。
Tシャツ同様にシンプルな白地黒文字版と、ハッカー感のある黒地緑文字版をご用意しています。今回もSUZURIのAPIに頼み込んでいます。なお、Tシャツ・ステッカーが売れても私には1円たりともお金は入りませんので、安心してください。買うほどSUZURIが儲かって、サービスが続くと思いますので、よろしくお願いします。
Internal Server Errorが出たとき、だいたいPermissionが足りてないとか、.htaccessがアレとか、そういう感じなんだけど、そうでも無いときがあったのでメモしておく。
さくらのレンタルサーバでlocalにrubyの環境を揃えていたとき、rbファイルのshebangは
#!(localのrubyのパス)
って書くものだと思ってたんですが、
#!/usr/bin/env (localのrubyのパス)
って書かないとInternal Server Errorになってしまった。理由は分からない。
参考
SSL使わないとあきまへんでといったエラーが出たとき、SSL使いまへんわと言っておく必要がある。
conn = Faraday::Connection.new(:url => 'https://suzuri.jp/', :ssl => {:verify => false}) do |builder|
builder.use Faraday::Request::UrlEncoded
builder.use Faraday::Response::Logger
builder.use Faraday::Adapter::NetHttp
end
こういった感じにするとうまくいった。
参考
[ikatake@www1928 ~/www/wetsteam/lifegamebot]$ gem list
*** LOCAL GEMS ***
bigdecimal (default: 1.3.0)
bundler (1.13.7)
did_you_mean (1.1.0)
io-console (default: 0.4.6)
json (default: 2.0.2)
minitest (5.10.1)
net-telnet (0.1.1)
openssl (default: 2.0.2)
pkg-config (1.1.7)
power_assert (0.4.1)
psych (default: 2.2.2)
rake (12.0.0)
rdoc (default: 5.0.0)
rmagick (2.16.0)
test-unit (3.2.3)
xmlrpc (0.2.1)
[ikatake@www1928 ~/www/wetsteam/lifegamebot]$ cd
[ikatake@www1928 ~]$ cd lo
local/ log/
[ikatake@www1928 ~]$ cd local/rbenv/plugins/
[ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec install faraday
rbenv: install: command not found
[ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec gem install faraday
Fetching: multipart-post-2.0.0.gem (100%)
Successfully installed multipart-post-2.0.0
Fetching: faraday-0.13.1.gem (100%)
Successfully installed faraday-0.13.1
invalid options: -SHN
(invalid options are ignored)
Parsing documentation for multipart-post-2.0.0
Installing ri documentation for multipart-post-2.0.0
Parsing documentation for faraday-0.13.1
Installing ri documentation for faraday-0.13.1
Done installing documentation for multipart-post, faraday after 1 seconds
2 gems installed
[ikatake@www1928 ~/local/rbenv/plugins]$ gem list
*** LOCAL GEMS ***
bigdecimal (default: 1.3.0)
bundler (1.13.7)
did_you_mean (1.1.0)
faraday (0.13.1)
io-console (default: 0.4.6)
json (default: 2.0.2)
minitest (5.10.1)
multipart-post (2.0.0)
net-telnet (0.1.1)
openssl (default: 2.0.2)
pkg-config (1.1.7)
power_assert (0.4.1)
psych (default: 2.2.2)
rake (12.0.0)
rdoc (default: 5.0.0)
rmagick (2.16.0)
test-unit (3.2.3)
xmlrpc (0.2.1)
[ikatake@www1928 ~/local/rbenv/plugins]$