2017/10/23(月) [n年前の日記]
#1 [raspberrypi] HSP3.5をRaspberry Pi Zero Wにインストールしようと試みたり
HSP3.5が公開されたという記事を見かけたわけで。
_3年ぶりのメジャーリリース「HSP 3.5」が登場、「HSP3Dish」はRaspberry Piにも対応 - 窓の杜
_HSP3.5を公開しました - おにたま(オニオンソフト)のおぼえがき
Linux / Raspberry Pi で動くHSPも存在するらしいので、試してみようかと。
_HSP3 for Linux/Raspberry Pi
以前 Raspberry Pi3 上で 3.5beta を試した時は make でエラーが出てダメだったけど、今回はどうだろうか…。
sampleフォルダの中にサンプルソースが入っているらしい。test1.hsp を hsed で開いて、F5キー押して実行してみた。
全画面表示、の真ん中にあたりに、スマホの縦画面っぽいノリで、画像や直線が描画された。動いてるっぽい。結構滑らかに動いてる。コレは今後に期待大。
しかし、終了のさせ方が分からん…。ESCキーもCtrl+Cも反応しない…。仕方ないので、Pi Zero W に、Windows上のPuttyからアクセスして、killall hsp3dish でプロセスを虐殺。
OpenGL ES を使うと全画面表示になる・デスクトップ画面上に別種のレイヤーが1枚置かれる感じになるので、キー入力が取得できないと終了させることもできないわけだけど。test1.hsp 内ではキー入力を取得してるように見えるのだけどなあ…。おかしいなあ…。本当にキー入力を取得できるのか、そこを確認してみないと分からんな…。
_3年ぶりのメジャーリリース「HSP 3.5」が登場、「HSP3Dish」はRaspberry Piにも対応 - 窓の杜
_HSP3.5を公開しました - おにたま(オニオンソフト)のおぼえがき
Linux / Raspberry Pi で動くHSPも存在するらしいので、試してみようかと。
_HSP3 for Linux/Raspberry Pi
以前 Raspberry Pi3 上で 3.5beta を試した時は make でエラーが出てダメだったけど、今回はどうだろうか…。
◎ 試した環境。 :
環境は、Raspberry Pi Zero W + raspbian stretch。kernel は… 4.9.56+ と出てる。
$ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.1 (stretch) Release: 9.1 Codename: stretch
$ uname -a Linux raspi0w 4.9.56+ #1044 Fri Oct 13 15:17:45 BST 2017 armv6l GNU/Linux
◎ インストール手順。 :
ビルドに必要なパッケージをインストール。
適当なフォルダを作成して、ソースをダウンロードして、解凍して。
make を実行。
エラーが出た…。
前回、Raspberry Pi3上で試した時とは、また違うエラーのようだけど…。残念。今回もビルドはできなかった。
ググってみたけど解決策が分からん…。以下のやり取りぐらいしか見つからない…。
_ld linking error - Raspberry Pi Forums
sudo apt-get install libgtk2.0-dev sudo apt-get install libglew-dev sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
適当なフォルダを作成して、ソースをダウンロードして、解凍して。
mkdir ~/hsp cd ~/hsp wget http://www.onionsoft.net/hsp/file/hsplinux35.tgz tar zxvf hsplinux35.tgz cd hsplinux35
make を実行。
make -f makefile.raspbian
エラーが出た…。
g++ -Wall -std=c++11 --exec-charset=UTF-8 -DHSPLINUX -DHSPDEBUG src/hspcmp/main.o src/hspcmp/token.o src/hspcmp/linux/supio_linux.o src/hspcmp/ahtmodel.o src/hspcmp/ahtobj.o src/hspcmp/codegen.o src/hspcmp/comutil.o src/hspcmp/errormsg.o src/hspcmp/hsc3.o src/hspcmp/hspcmd.o src/hspcmp/label.o src/hspcmp/localinfo.o src/hspcmp/membuf.o src/hspcmp/strnote.o src/hspcmp/tagstack.o -s -o hspcmp /usr/bin/ld: src/hspcmp/ahtmodel.o: 一般的な ELF 内の再配置 (EM: 3) /usr/bin/ld: src/hspcmp/ahtmodel.o: 一般的な ELF 内の再配置 (EM: 3) /usr/bin/ld: src/hspcmp/ahtmodel.o: 一般的な ELF 内の再配置 (EM: 3) src/hspcmp/ahtmodel.o: error adding symbols: 誤った形式のファイルです collect2: error: ld returned 1 exit status makefile.raspbian:108: ターゲット 'hspcmp' のレシピで失敗しました make: *** [hspcmp] エラー 1
前回、Raspberry Pi3上で試した時とは、また違うエラーのようだけど…。残念。今回もビルドはできなかった。
ググってみたけど解決策が分からん…。以下のやり取りぐらいしか見つからない…。
_ld linking error - Raspberry Pi Forums
◎ make clean してみたら通った。 :
make clean をしてから make してみたらビルドが通った。何故。
何にせよ、ビルドできたから、いいか…。
make -f makefile.raspbian clean make -f makefile.raspbian
何にせよ、ビルドできたから、いいか…。
◎ 動作確認。 :
インストールを行なうと、以下のコマンドが生成されます。ということらしい。./hsed を実行。メモ帳っぽい何かが表示された。
hsed スクリプトエディタ(簡易版)
hspcmp HSP3コードコンパイラ
hsp3cl HSP3コマンドラインランタイム
hsp3dish HSP3Dishランタイム
hsp3gp HGIMG4ランタイム
sampleフォルダの中にサンプルソースが入っているらしい。test1.hsp を hsed で開いて、F5キー押して実行してみた。
全画面表示、の真ん中にあたりに、スマホの縦画面っぽいノリで、画像や直線が描画された。動いてるっぽい。結構滑らかに動いてる。コレは今後に期待大。
しかし、終了のさせ方が分からん…。ESCキーもCtrl+Cも反応しない…。仕方ないので、Pi Zero W に、Windows上のPuttyからアクセスして、killall hsp3dish でプロセスを虐殺。
OpenGL ES を使うと全画面表示になる・デスクトップ画面上に別種のレイヤーが1枚置かれる感じになるので、キー入力が取得できないと終了させることもできないわけだけど。test1.hsp 内ではキー入力を取得してるように見えるのだけどなあ…。おかしいなあ…。本当にキー入力を取得できるのか、そこを確認してみないと分からんな…。
◎ hsedにバグがあるような気がする。 :
現状では、簡易エディタ hsed にバグがあるように見えた。
バグではないけど、現時点では Undo も実装されてないっぽいので、なかなか厳しい。
他のエディタを使う道は無いのかなと、vi で編集後、hspcmp でコンパイルして hsp3cl で実行しようとしたものの。hsp3cl の実行時によく分からないエラーが出て実行できない…。何故。
- Fileメニューの Open を選ぶと、ダイアログに「save」と表示されてる。
- Save と Save As の機能が逆になってる。Save を選ぶと Save As になり、Save As を選ぶと Save になる。
バグではないけど、現時点では Undo も実装されてないっぽいので、なかなか厳しい。
他のエディタを使う道は無いのかなと、vi で編集後、hspcmp でコンパイルして hsp3cl で実行しようとしたものの。hsp3cl の実行時によく分からないエラーが出て実行できない…。何故。
この記事へのツッコミ
[ ツッコミを読む(2) | ツッコむ ]
以上です。
LinuxにはあるのでRaspberryPiにもありそうな気がしますが。
配布ファイルの中に不要なオブジェクトがあったのかもしれませんね。ありがとうございます。