ソースコードからビルドしたgitで「fatal: Unable to find remote helper for ‘https’」エラー

Raspberry Piに入ってるRaspibianで、apt-getだとあまり新しいバージョンが入らないのでgitをgithubのソースコードからビルドしました。

やり方はRaspberry Piに最新版の各種ツール・言語・ライブラリをインストールするのgitの項目を見てください。

このやり方を何も考えずに試したところ、
git pullだのcloneだのをやろうとすると「fatal: Unable to find remote helper for ‘https’」とか言って突っぱねられます。

実は、gitをビルドする際にlibcurl-devの中の多分libcurl4-openssl-devが必要でして、

結論から先に言いますと、

$ sudo apt-get install libcurl4-openssl-dev 
$ git clone https://github.com/git/git
$ cd git
$ make configure
$ ./configure --with-expat --with-curl=/usr/local
$ make && sudo make install

このように先にlibcurl4-openssl-devを入れてからでないと動きません。
Debian系であるRaspibianだからlibcurl-devですが、別なOSだとパッケージの名前が違います。
参考URLによれば、

$ sudo apt-cache search curl

などとして探すと良いそうです。

なお、パッケージ管理ソフトであるAPTで入れたgitと上の方法でビルドしたgitは共存できます。
APTで入れたgitは

$ dpkg -L git

とやると分かりますが

/usr/bin/git、上の方法でビルドしたgitは/usr/local/bin/gitにあるので、.bash_profileとかに追記すれば使い分けできます。

alias git=/usr/bin/git

ってね。

Yahoo!知恵袋で聞いたところやっとこさ解決。だから質問と記事は似たような内容です。

パッケージ管理ソフトのありがたみを知りました。依存関係にあるものは自動的に一緒に導入してくれて、どこにインストールしてあるかもちゃんと覚えてて、アンインストールも簡単。パッケージ管理ソフトばんざ〜い。

まぁ、最新版が使いたい場合はそうも言ってられないけど…。

試験の予定表取得プログラムの作成

学校の試験の予定表がpdfで配布されて、いちいち履修してる授業を検索して見なくちゃならなくて面倒なので、履修してる授業の一覧画面(学校のwebサイト)のから履修授業を取得して、予定表のpdfから検索して表示してくれるコマンドラインツール。
あまり役に立たない気がするけど。

Python2で作成。
https://github.com/TT375S/TestScheduleGetter

(githubに余計なファイルがアップロードされてますが、テスト用のダミーです。そういうことにしてください。)

この記事の投稿自体は2017/3/3なので忘れていることも多いですが、これ以上忘れる前に書き留めておきます。

PDFは、XMLみたいに構造を表してくれているわけではないので、テキストに直すのに難儀します。
pdf2textというアプリを使ってpdfをプレーンテキストに変換してます。
そのため、pdf2textが必要。

  1. 学校のwebサイトをチェックし、pdfへのリンク(4つ)を取得
  2. pdfをダウンロードし、pdf2textでテキストに変換
  3. 結構グチャグチャなテキストを検索しやすい形式に変換する
  4. 学校の個人用ページの履修授業一覧のhtmlソース(貼り付けて入力…)から、履修してる授業一覧を作る
  5. それを元に、さっきのpdfからテキストにしたやつから検索し、予定を一覧表示する

という流れ。だけどpdf2text、2カラムの表で配布されているpdfなのでうまく直せないところがあって一部、表示結果がおかしくなる(上下の行を取り違えている)。
pdfで配布しないでHTMLなりXMLなり、意味的な構造があるやつで配布してもらえると扱いやすいなぁと感じました。

Arduino互換のESP8266開発ボード、WeMos D1をMacで使用する覚え書き

買いました。一個500円という安さ。
Amazonで「Wi-Fi Arduino」で検索すると出てくるコレなんですが、こいつってD1 R2じゃなくてD1なんですかね?
どう違うかわからないけど…。

とりあえず、MacOS 10.12.2 Sierraでの動かし方のメモです。
すぐ忘れてしまうのです。

  1. 署名なしkext(Kernel Extension)を使えるようにする
  2. (2017,1,18追記)
    署名されたドライバが出てました。
    これならば、この署名なしkextを使えるようにするステップは要りません。
    ドライバダウンロードの直リンch34x_install_v1-3
    すでにインストールしていた場合、

    $ sudo rm -rf /System/Library/Extensions/usb.kext
    

    で古いドライバを削除してからインストールしましょう。

    (追記終わり)
    そのときは
    $ sudo nvram boot-args='kext-dev-mode=1'
    
    で済んだらしいですが、10.12 Sierraではできません。
    MacはEl Capitanから、System Integrity Protectionとかいう機能が導入され、好き勝手にするには少し作業が必要になりました。
    command+Rを押しながら電源を入れ、リカバリーモードに。
    メニューバーに「ユーティリティ」があるので、そこからターミナルを起動します。
    $ csrutil status
    
    と打つと、現在の状態が確認できます。
    $ csrutil enable --without kext
    
    とすると、kext関連の認証以外が起動された状態になります。
    それでもダメそうな場合、
    $ csrutil disable
    
    で全部オフにしてください。
    (どっちもセキュリティ上、問題があるので後で戻してくださいね。戻すと署名なしkextは使えなくなりますけどね。)

  • CH340のドライバのインストール
  • 公式サイト(多分…)から最新版のドライバをダウンロード&インストール。
    私が使ったのは2016-09-27に更新されたCH341SER.ZIPでした。
    Macの「環境設定」>「セキュリティとプライバシー」>「ダウンロードしたアプリケーションの実行許可」
    でこのアプリケーションを許可し、インストールしてください。

  • 正しくドライバが入ったかの確認
  • 開発ボード、D1をUSBで接続した後、ターミナルで
    $ ls /dev/tty*
    
    と打ってください。
    一覧の中にwchusbserial1420みたいなのが出ましたか?wchusbserial1410だったかもしれませんが…。
    この辺はCH340のドライバと一緒に入ってるreadmeに書いてあります。

    出なかったらどこかおかしいです!
    後、SierraはCH340と相性が悪いらしいく、Macで使うとクラッシュすることがあるようです。再インストールで直るそうです。

  • Arduino IDEのセットアップ
  • Arduino IDEのインストールなどは、検索して調べてください。難しくないです。私が使ったのはver.1.8.0でした。
    https://github.com/esp8266/Arduinoの真ん中あたり、stable versionのとこのURLをコピーし、
    メニューバー>ファイル>preferences…か、Command+, でArduino IDEのPreferencesを開きます。
    ここに貼り付けます。

    メニューバー>ツール>ボード>ボードマネージャ でESP8266と検索して、インストール。

    メニューバー>ツール>ボード>Generic ESP8266 Module
    を選択してください。(Generic ESP8266 Moduleの代わりに、Wimos D1を選べば、これ以降の手順は要らないと思います。この記事を書いた当時、なぜGeneric ESP8266 Moduleを選んだのか記憶が定かではない…)
    また、ビルドオプションは次のように設定してください。
    Flash Mode: QIO
    Flash Frequency: 80MHz
    CPU Frequency: 160MHz
    Flash Size: 4M(3M SPIFFS)
    Debug port: Disabled
    Debug Level: なし
    Reset MEthod: nodemcu
    Upload Speed: 115200
    シリアルポート: /dev/cu.wchusbserial1420  (環境によって違うかも)
    書き込み装置: USBasp
    ちょうど下の赤枠のようになります。
    ここまでくれば、普通のArduinoみたいに使えるはずです!

    Shantae: half-genie heroストーリー攻略(うろ覚え気味)

    シャンティ: ハーフジーニーヒーローの攻略です。
    風呂屋がヒント屋になっています。全てのヒントを聞くためには何回か話しかける必要があります。
    アイテム名、地名などは色付き文字で表示されるので会話読めなくてもなんとかなります。

    イントロ、夜中に起きてなんか地下道抜けて、朝「変な夢だった〜」的なとこまではスムーズに行くはず。

    あと間違ってたらすみません…もううろ覚えなのです。登場人物やアイテム名の表記揺れもあります。

    メインストリートまで

    -磁石を探す

    ・伝票(sales slip)を風呂屋の女からもらう
    ・伝票をアイテム屋のおっさんに渡すと磁石をもらえる
    ・発明家のおじさんに渡す

    -メインストリートでボスを倒して設計図(BluePrints)を取り返す

    ・おじさんに磁石渡すと設計図が盗まれるかなんかする

    ・メインストリートが海賊に襲われてるので、スカイの孵化屋に行って鳥に乗って行く
    ・一番最後にいるボスを倒し終了
    ・サルダンスを手にいれる

    マーメイドの滝(Mermaid Falls)まで

    ・街の端っこに困ってる腰巻女がいる。話しかけるとマーメイドの滝に行けるようになる
    ・スカイの孵化屋からマーメイドの滝に行く。
    ・ボスを倒す。(とってもかわいいいいい)
    ・カニダンスを手にいれる

    ところで、どうやら人魚やその代用の人間の肉を使ったカンヅメを作っていた模様。やべえよ。

    砂漠の街タッセルタウン(Tassel Town)まで

    -銅鉱石を探す

    ・メインストリートの火事エリア上部で困ってるレストラン店主(?)を助ける。依頼の内容は海賊の殲滅。もっと進んで窓が三つ連なっているところ、窓から敵が出てくるので20匹くらい倒す。
    ・塩キャラメル(SALTED CARAMEL)がもらえる。街に帰って、スカイの孵化小屋にいる子供(鳥の餌で児童労働させられている)に渡すと鳥の餌がもらえる。
    ・アイテム屋にいる鳥の健康管理ができてない鷹匠(?)に鳥の餌を渡す。COPPER ORE(銅鉱石?)入手。
    ・発明ジジイに渡すとなんか記憶障害。ボケた訳ではないようで他の人も同様の症状を示す。

    -ハーフジーニーの小娘をしばく

    ・街の端にいる町長?もそんな感じで、地図をもらい砂漠の塔へ。
    ・ボスを倒し、ユーザー投票かなんかで作られた、クソナマイキなエセハーフジーニーを消す。
    ・ゾウダンス入手

    カーペットレース会場(Cape Crustacean)まで

    街で、ロッティという緑ゾンビ娘にレースのチケットを2枚要求される。さらに青い服に身を包んだ吉崎観音がデザインしそうな敵っぽい二人組にはワニステーキ2つを要求される。

    -モンキーケツアタックをとる

    メインストリートの火事エリアの屋根の上にて、サル形態で攻撃が可能になるアイテムがある。名前は失念したが、壁にくっついてる状態からの横ロケット攻撃ができるようになるというもの。攻撃していたのは尻でなく頭かもしれない。
    ちなみに、こいつがないと行けない場所があるので取る必要がある。

    -チケット入手のためブロブフィッシュばあさんに会う&ワニステーキ調達

    ・街で炎系の呪文を買っておく
    ・マーメイドの滝へ行く
    ・ワニの敵を炎系呪文で殺しワニステーキx2入手する。
    ・ファクトリーエリアでゾウ形態で壊せる壁を探し、ブロブフィッシュばあさんに会い、カニの攻撃手段(カニの爪(Crab Claw))入手。
    ・孫の捜索を依頼されるので、今まで通ってきたファクトリーエリアを引き返し水の中を捜索。
    ・ブロブフィッシュばばあに返すと、「間違いなく私の孫。たとえ違うとしても、頑張ったということが大事なんじゃよ」みたいな意味深なことを言われ、チケットを1枚もらえる。
    ・街で先ほどの青い女二人組にワニステーキを渡すと、チケットをもう一枚もらえる。

    -チケット入手後

    ・ロッティにチケットを渡すと暗黒石(Dark Shardだっけ?)みたいなのがもらえる。
    ・発明おじさんに渡す。
    ・カーペットレースをある団体がぶち壊しにする計画が発覚。カーペットレースへ向かう

    ・ボスを倒す

    ヒュプノバロン城(Hypno Baron’s Castle)まで

    -病気をもらってきて治す

    ・砂漠の街タッセルタウンの塔にいる、家系図男に話しかける。ゾウの踏みつけアタックがもらえる。
    ・遺体の回収を依頼される。火を吹いてた石像みたいなやつが止まっているので、ゾウ携帯で壊すと部屋がある(場所による。)。鼻の上でジャンプ->ジャンプ+アタックボタンでドッスンとやるとなんか出るので拾う。
    ・終わったのにお礼でなく家系図男から病気をもらう。意味深だがただの飛沫感染。
    ・風呂屋にいる医者に直してもらう。シャンティはまだ子供らしく、アメをもらえる。

    -光の魔法石みたいなのとアメを交換する

    ・マーメイドの滝にいる、ネズミ形態で入れるところにいる魔法使いにアメをやると光の魔法石(Light Shard)みたいなのをもらえる。

    -城で悪魔召喚みたいなことしてるので殴り込み

    ・そのままの意味。ヒュプノバロン城に行き、ボスを倒す。
    ・ハーピーダンス入手

    最終ステージまで

    -ブロブフィッシュばあさんにナウい帽子を用意しマーメイドの泡をもらう

    ・メインストリートの水の中の土管から行ける場所に、冒険者が立ち往生してるので剣だけもらう。
    ・アイテム屋のリーゼントに渡して、帽子をもらう。
    ・ブロブフィッシュばあさんに渡すと、マーメイドの泡(マーメイド形態で攻撃可能になる)を入手。

    -鉄板とハムスターを集める

    ・ヒュプノバロン城にいる小さめなフランケンシュタイン的キャラクターからゾンビ化ハムスターをもらう
    ・砂漠の街タッセルタウンの水の中、マーメイドの泡でブロック壊して行ける場所にある鉄板を入手
    ・発明ジジイに渡す。

    -最終ステージに行くかどうか

    ・確か、4つのアイテムを揃えて対策を立ててから行くか、それとも敵を倒しに行くか選べ的な話になるはず
    4つのアイテムの揃え方などは「マジックポラライザー シャンティ」で検索。

    4つのアイテムを集めても集めなくても、敵をヌッコロしに行くのは変わらない。エンディングが変わるらしいが、未確認。

    以上、健闘を祈ります。