GNU core utilitiesのビルド(Mx Linux, Debian stretch)
coreutilsのビルド時にgnulibのacl-internal.hがエラーを吐いた。たぶんgccが古いんだと思う。
# 環境と今回ビルドしたcoreutilsのバージョン $ gcc --version gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)" $ cat src/version.c #include <config.h> char const *Version = "8.31.48-f2dfea";
coreutils をビルド
$ git clone git://git.sv.gnu.org/coreutils $ cd coreutils $ ./bootstrap --skip-po $ ./configure $ make -j $(nproc)
gnulibのacl-internal.hがエラー。
CC lib/acl-internal.o lib/acl-internal.c: In function 'free_permission_context': lib/acl-internal.c:479:1: error: function might be candidate for attribute 'const' [-Werror=suggest-attribute=const] free_permission_context (struct permission_context *ctx) ^~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Makefile:9705: recipe for target 'lib/acl-internal.o' failed make[2]: *** [lib/acl-internal.o] Error 1
acl-internal.hを編集
--- a/lib/acl-internal.h 2019-08-28 17:22:43.146398122 +0900 +++ b/lib/acl-internal.h 2019-08-28 17:27:29.011391134 +0900 @@ -297,6 +297,10 @@ int get_permissions (const char *, int, mode_t, struct permission_context *); int set_permissions (struct permission_context *, const char *, int); -void free_permission_context (struct permission_context *); +void free_permission_context (struct permission_context *) +#if ! (defined USE_ACL && (HAVE_ACL_GET_FILE || defined GETACL)) + _GL_ATTRIBUTE_CONST +#endif + ; _GL_INLINE_HEADER_END
再度make。
$ make -j $(nproc) # 成功
一旦、全てをビルドしてしまえば、今後は個別にビルドできる。改変してみよう。
--- a/src/cat.c 2019-08-28 17:21:10.126750050 +0900 +++ b/src/cat.c 2019-08-28 18:12:31.683477943 +0900 @@ -624,11 +624,17 @@ break; case_GETOPT_HELP_CHAR; - + /* printf("myusage"); */ case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); + /* printf("myusage"); */ default: - usage (EXIT_FAILURE); + printf("-----------\n"); + printf("-----------\n"); + printf("-----------\n"); + printf("-----------\n"); + exit (EXIT_FAILURE); + /* usage (EXIT_FAILURE); */ } }
実行。
$ make src/cat && src/cat --abcd CC src/cat.o CCLD src/cat src/cat: unrecognized option '--abcd' ----------- ----------- ----------- -----------
はてなブログのシンタックス・ハイライトをカスタマイズ
preタグ内のコメント行やプロンプトをハイライト
はてなブログにあるソースコードなどを色付けして表示するスーパーpre記法。端末で扱うコマンドやコマンドの出力など、ソースコード以外にもよくファイルタイプを指定しないで使う。
# はてな記法 >|| $ gcc --help (出力結果) ||<
# markdown記法 ``` $ gcc --help (出力結果) ```
下記の要素をハイライトしたい。
- コメント行 (先頭が # から始まる行)
- プロンプト (先頭の $)
出来た。
# gcc のヘルプを表示 $ gcc --help (出力結果)
ソースコード
「フッター」に貼り付けてください。
<script type='text/javascript'> var pre = document.querySelectorAll('pre[data-lang=""]') for (var i=0; i < pre.length;i++){ var s = pre[i].textContent; s = s.replace(/(^#.*$)/gm, "<span class='cmt'>$1</span>"); s = s.replace(/(^\$)/gm, "<span class='pmt'>$1</span>"); pre[i].innerHTML = s; } </script>
「デザインCSS」に貼り付けてください。
pre .cmt { color: #8f5902; font-style: italic; } pre .pmt { color: #3b658c; }
Heroku CLIの使い方
ヘルプを表示
# e.g. = pg, apps, pg:reset, apps:create...etc. $ heroku help # help出来るhelp一覧 $ heroku help help
Heroku上のBashやPythonへ
$ heroku run bash -a <your_app_name> $ heroku run python -a <your_app_name>
ログの取得
$ heroku logs --tail -a <your_app_name>
インストールしているアドオンを表示
$ heroku addons
Heroku PostgreSQLをインストール
# e.g. plan = hobby-dev $ heroku addons:create heroku-postgresql:hobby-dev
DBへの接続 (必須: ローカル環境にPostgreSQLがインストールされいる事)
# 必要: ローカル環境にPostgreSQLがインストールされいる事 $ heroku pg:psql -a <your_app_name>
DB情報の取得
$ heroku pg:credentials:url -a <your_app_name>
DB内のデータを全削除(リセット)
$ heroku pg:reset DATABASE -c <your_app_name>
GmailでYahooメールを送受信(Chrome)
Gmailの設定のメモ
# 1. 設定 アカウントとインポート 名前 他のメールアドレスを追加 「名前」と「アドレス」に追加するメールアドレスを入力する エイリアスとして扱います。のチェックを外す 次のステップ 「SMTPサーバー」に「smtp.mail.yahoo.co.jp」を入力する 「ポート」に「465」を入力する 「ユーザー名」と「パスワード」にYahooメールのものを入力する 「SSL」にチャックする Yahooメールに認証メールが届くのでクリックする # 2. 設定 アカウントとインポート 他のアカウントでメールを確認 メール アカウントを追加する 「メールアドレス」にYahooメールを入力する 他のアカウントからメールを読み込む(POP3) 「パスワード」にYahooメールのパスワードを入力 「取得したメッセージのコピーをサーバーに残す。」にチェック 「メールの取得にセキュリティで保護された接続(SSL)を使用する。」にチェック 「受信したメッセージにラベルを付ける」にチェックし、ラベルを選択 「メッセージを受信トレイに保存せずにアーカイブする」のチェックを外す
MIDI PIANO KEYBOARD(VMPK, Qsynth)
ソフトをインストール
$ sudo apt install vmpk qsynth fluid-soundfont-gm
Qsynth の設定
- Setup -> MIDI -> MIDI Client Name ID: qsynth
- Setup -> Audio -> Audio Driver: pulseaudio
- Setup -> Soundfonts -> Open ->/usr/share/sounds/sf2/FluidR3_GM.sf2
vmpk の設定
- Edit -> Connections -> Enable MIDI Thru on MIDI Outpu (ON)
- Edit -> Connections -> Output MIDI Connection (FLUID Synth (qsynth):0
使い方
- 最初にQsynth を起動する
- 次にvmpkを起動する