KiCAD 5.1.4日本語フォント対応その5

本家から持ってきたパッケージだと異常が起きないことが分かりましたので、私製パッケージには問題が有るようです。が、使わない機能だし、めんどうなので次のバージョンが出るまではこのままとします。
と言うのもの1回リビルドするのに5時間程度必要で、手軽にあちこち変更って気分にはならないんですな。64bit版だけの生成にしておけば半分で済むのでしょうけど。次のバージョンからは64bit版のみにしよう。

その前に図面のテンプレートの整備や独自のパーツライブラリの作成などやらなきゃならないことは多数なので、こちらを優先して進めましょう。

KiCAD 5.1.4日本語フォント対応その4

あれこれ継ぎ接ぎして出来上がったパッケージ。インストールしなおしましたが特に前の時と挙動が違うようには見えません。インストール自体も特に変わったことも起きなかったので、やはり気のせいってことで良かったのかな。

2019/9/6追記:
PCBエディターで自動配置を試みたら落ちました。本家からインストールパッケージを取ってきて試してみなくては…

KiCADはPythonを全面的に利用しているけど、PythonはVer2とVer3とでせめぎあいになっていて、各種ライブラリなんかもPython2-xxxとPython3-xxxと有る始末でとても困る。
もっともこの問題はFedoraでも今だにPython2を捨てられていないので、他所では当分の間Python2が使われ続けるのだろうな。

それはともかくとして、フォント自体をハードコーディングせずに別付けファイルの形にしてくれれば、なんの苦労もないのだけど、開発者グループにはそうする気が無いようなので当分はこの騒ぎが続きそうだな。

そもそもKiCADは基板を設計したいから始まったプロジェクトなので基本はPCB Editor。で、ここでストローク系 Font以外からガーバーデーターに変換するのが面倒だってのがどうも開発者グループの共通認識のようで、他フォントを使いたければInkscapeあたりでベクトルデーターに変換してくれって意見と共にInkscapeからデーターを持ってくるドライバまで提供されています。基板上のロゴだとか注意書き(?)なら、そんな方法でもいいでしょうけど、回路図ではそんなんじゃやってられません。あっ、図面に関わる人全部が英語に堪能なら問題は起きませんがね。

KiCAD 5.1.4日本語フォント対応その3

前回の記事でダウングレード処置をしなくても云々と書きました。Logを確認すると

libeay32.dll
ssleay32.dll
libreadline7.dll

この3つが不足と出てました。またpip.exe,pip.exe.manifest,pip-script.pyも無いとか。不足しているのにパッケージが作成できるとは何事? なんですが、どうも気分が良くない。
本家のopensslからパッケージを取ってきてもlibeay32,ssleay32は無いし… libreadlineにしてもダウンロードされてくるのはlibreadline8。という訳で、5.0.0の時に作成したデーターが残っていたのでそこから3つをコピー。どうもopensslが更新されたタイミングでlibeayもssleayも無くなった模様なんだけど、不具合が有って更新されたはずなので、古いパッケージに依存するのはどうかと思うんだよね。本家の人たちがどうやってパッケージを作成しているのかはわからないけども。
とにかくこれに対応するための処置がopensslとlibreadlineのダウングレード処置であったかとようやく合点。ログファイルはよく読まないと駄目ですね。

またpip関係はpip2.exeとpip2-script.pyが有ったのでpip.exeとpip-script.pyにリネームしてコピー。がpip.exe.manifestまで手が回らかったのでまたしてもなんか苦情が出てました。mingw32\binにはあるようですが、中身いじる必要がありそう。それならpip.exeじゃやくてpip2.exeと書き換えた方が早いんじゃないかと思うのだけど見当たらないんだな。

もうちょっと工夫が必要な感じ。

KiCAD 5.1.4日本語フォント対応その2

もう一度こちらのページを参照して作業再開。その結果いくつかエラーが出てましたが、無事にパッケージまで作成完了しました。
エラーが気になるけどインストールもできるし、インストールした物もそれなりに動いているので気にしないことにします(汗)。ただ、DLL関係で見つからないってのは地雷になる可能性が有るので、ログを再度チェックしておきましょう。
改めて有用な情報を公開してくださっている皆様に感謝します。

今回は元のページにある記述を元にPKGBUILDとcopydlls.shを変更したのと、install.nsiの9行目にある作者のお名前が文字化けして最後の最後で引っかかるので、文字化け分を削除しただけで、他の操作はしなくてOKでした。

多分にPCBエディターで使用する3Dパーツライブラリが巨大と見えて、できあがりのパッケージも巨大。1.12GBだなんて… ダウンロードするだけでも結構かかるよな。
また私製ビルドなので仕方が無いけど、バージョンにdirtyって入るのは嬉しくないぞ。
ところで、私製パッケージって需要があるのかな? 公開しても良いのだけど、置く場所が無いな。

8月30日追記:
logであるmkpkgをチェックしたところ、妙なエラーは出ていないので作成できたパッケージは問題ない模様。これで一安心。

KiCAD 5.1.4日本語フォント対応

新しい版が登場しました。マイナーチェンジなので気にするなという意見も有りますが、やはり新しい奴には気を惹かれます。

例によってFedora版はFontファイルを入替えてrebuild成功。で、次はWindows版だというわけで作業。5.1.0の時の話を参考にしたのですが、謎の状態になったので一旦全部削除してやり直し。

とりあえず素の状態だとどうなるのかが気になったので、あえて何の変更も加えずに作業開始。Fedoraのrebuildに比べると大分に時間がかかりましたが、どうにか終了しています。

早速起動してみましたが、あれこれのdllが無いぞと苦情が… Logを見ると結構な数のdllが不足の模様。なので無変更で作成できるほど甘くはないことが判明した次第。
作業時間が不足したので、ここまでで中断中。

それにしても驚いたのが必要となるディスクスペース。ほぼLinux環境を新たに作成する雰囲気で、全体で40GBほども消費してくれます。細かいファイルが多くディレクトリも多数、しかも深く掘られているので消すだけでもかなりの時間を要します。もうちょっと簡潔に出来ないものかと思うんですが… これだからVS上でなんとかしようともがく人たちが出てくるわけです。
今の所成功した人は居ないようですが…

LAMP on Fedora30

仮想PCでのCentOSはとりあえず一段落。で、もともとFedora上で動かしてみたらどうなるのかということで環境構築。

いろいろとパーミッションの関係で引っかかたので対策をメモしておく。

cgiの起動許可はSelinuxをDisableにしてさらに、/var/run/httpdのオーナーを変更してクリア。
php系のcgi-handlerの起動失敗の方は/etc/php-fpm.d/www.confのユーザーとオーナー部を書き換え。これだけでは駄目だったので、/var/run/php-fpmのユーザーとオーナーを書き換えてクリア。
さらに/var/lib/phpのopcache/とsession/とwsdlcahce/のユーザーを書き換え。

しかし、CentOSを設定した時にこんな面倒は無かったのに不思議だ。こんなことなら、素直にユーザーapacheを作成しておいた方が早かったかな。

仮想PCその2

VirtualBoxのインストールは無事終了です。こちらもカーネルバージョンに依存するモジュールがあるのですが、第三者のパッチを当てて処理なんてことはないので、今後のカーネルアップデートでも多少楽できるかな。

問題は、画面の広さと違和感の残るマウスやキーボード入力。今時SVGA(1024×768)しか広げられないのってどうなんでしょう。マウスにしても仮想PC内外の識別がいまいちでなんかちょっと…

まぁ、HOST環境がLinuxなのだから、こちらでLAMP app(Apache,MariaDB,PHP)を動くようにするのが一番手っ取り早いのはわかってますけど、それだと進歩がない気がしてね。

XenとKVMにも挑戦してみますか。

仮想PC

職場サーバーの環境整備として、自分のPCに仮想マシンをインストールして、そこであれこれ作業しています。いきなり本番機でやるとトラブルの時の始末が大変だからで、まぁ当たり前と言えば当たり前のことではあります。

で、自宅のLinux(Fedora)上でも仮想PCが動くのかと思い作業。いろいろとトラブルはあったのですが、VMware Playerは無事に起動。職場の仮想PCもそのまま持っていくこともできて一安心。のつもりでしたが、2日後にKernelアップデートが有ってあっさりと動かなくなりました。

もともとカーネル系でトラブルが起きるので専用のパッチがあったのですが、そいつが最新カーネルには対応しきれず、対応モジュールが作成できません。

いろいろ見てみると、Fedoraに限らず、Ubuntuでもカーネルのアップデートで動かくなったという相談が多数。これだと頻繁にカーネルが更新されるFedoraのような環境では安心して使用できないのでVMwareは使用断念しました。

となると次の仮想PCですが、Linux界隈ではXenが有名ですが、私のやりたい方向とは違っている雰囲気。なので次善の策としてOrcaleのVirtual BOXを選択。ホストOSのカーネルに敏感でなければいいなと思う次第。

とりあえず、なぜかVMwareに付属しているツールでVMware上の仮想PCをOrcaleでも読み込める形に変換してトライ開始。
さてはてどうなるかな。

MDB2 to PDOその3

5つのシステムのうち4つまでは完了。PDO対応を進めつつ、以前は理解力不足で機能させられなかったJavascriptによる事前チェック機能などを整備してだいぶ使いい勝手も良くなりました。

最後の一つは一番新しい奴なんだけど、変な色気を出してフレーム構造にした結果、処理制御が難解になっています。
何周遅れてんだよと嘲笑が聞こえてきそうですが、PHPのsession管理を利用すれば、今はformのPOST機能で利用している長いパラメーター文字列の何文字目が□だったらこの処理、△だったらこっちの処理なんて複雑な事をする必要がなくなることが判明。
この機構を利用してやる予定だけど、中身が大幅に変わるので、少し時間がかかりそうだな。

Javascriptを利用した場合、手っ取り早くブラウザのWeb開発モードを利用してデバッグするのだけど、反応が悪くてとてもしんどい。画面が狭いもの悩みの種。専従じゃないので、わざわざ別ディスプレイを用意してっても大げさだし、なにより現在VM Player上のCentOSで作業しているので、VM環境のLinuxがマルチディスプレイに対応するかどうかも怪しいしね。

MDB2 to PDOその2

仕事の合間に片手間でやっていたMDB2からPDOへの移行。第一弾がようやく完了です。

やり方によって、処理結果がObjectだったり単純変数だったりといろいろなので、面食らいながらもなんとか書き換え終了です。
PDOの目玉であるpreparedステートメントを利用すると、DBに届く実際のクエリが確認できず、一点だけ問題が解決できないままとなってしまいました。この実際に投げているクエリが確認できると、とても良いんだけどな。

今回改良した処理システムは2006年からチマチマとイジりながら運用していたもので、現時点でソースを読み返すと、SQL文を工夫すればクエリの結果からデーターを選別しなくても良いのにという点が多々有りました。その辺は改良したので、少しは全体的に早くなったかな。

それと、HTML部とphpソースが混じっいて読みにくいですね。システム的にはOKになっているけど、もう少し改良しなくては。それと残り5つの処理システムがMDB2のままなので、こちらも書き換えていかなくてはいけないな。