2023年5月4日木曜日

Ubuntu22.04へ#2

先日、Ubuntu 22.04 への移行について書いた。
GUIアプリを書く場合、GTK+(最近では末尾に'+'を付けないようだ)を使っている。
例えば、このcairo_arc_to()とか。
上記を実装した頃はGTK+2を使っていたが、Ubuntu18.04へ移行ついでに、作りためていたアプリをGTK+3へ移行していた。

開発環境の整理をしているとき、libgtk-3-devパッケージをinstallしようとしたら、依存関係の問題で入らない。
そんなはずはないはず。
ネットで調べてみても、そんなことを書いているページはなく、むしろ「最初から入っている」的なことが書かれている。

考えてみるとDVDからのUbuntu22.04の Install時に妙に時間がかかっていた。
見えないところで、エラーが生じていてリカバリ処理などで時間がかかっていたのかもしれない。
なんとかInstall作業は終り、起動したが、不完全だったのかもしれない。

再インストールすることにした。
DVDで失敗したので、USBメモリを使う。
最初にUSBでやろうとしたのに、起動しなかったのでDVDで行ったのだ。
元の木阿弥のようだが、考えてみると、このFolio13の USB3.0 ポートは調子が悪い
Installの速さを期待して、USB3.0のメモリを使っていたが、それが良くなかったかもしれない。
今度はUSBなので、オフィシャルの4.9GBのUbuntu 22.04.2 LTSのイメージを使った。
USBメモリを USB2.0ポートに挿入して起動したら、Installerの起動に成功した。
再インストールも数分で終わった。

Install後に確認すると、libgtk-3-devもバッチリ入っている。
build-essentialパッケージ等もinstallして、自家製アプリをビルドしてみた。
正常にビルドできた。これでよし。

何故かRabbitVCSがまともに動作しない。
VirtualBox内ではバッチリ動いていたのに。 gnome-session-flashback + nemoなので、UbuntuオフィシャルのRabbitVCSパッケージはない。
とにかく、こういうときは自力で解決しなければならない。

githubのrabbitvcsをインストールする前に、以下の依存物をinstallする。
git
ipython3
meld
nemo-python
python3-configobj
python3-dulwich
python3-nautilus
python3-setuptools
python3-simplejson
python3-svn
subversion
上記が依存するものも入るので、結構な量になるよ。
githubから、rabbitvcsをcloneする。
$ git clone https://github.com/rabbitvcs/rabbitvcs.git
ここまではいいだろう。

これのmasterブランチのHEADで、setup.pyしても全然動かない。
VirtualBoxでは動いていたのだから、古いバージョンをinstallすることで解決するのかもしれない。
VirtualBox上にUbuntu22.04をインストールした時期は、去年の8月。
"git log"を確認すると、
| |       
| |       Add missing cursor-changed callback for git revisions_table
| | 
| * commit 44c9ac79359d87eaae34047ab4a339557205bb61
|/  Author: Philipp Unger <philipp.unger.1988@gmail.com>
|   Date:   Sun Oct 2 16:41:24 2022 +0200
|   
|       Add missing cursor-changed callback for git revisions_table
| 
* commit a9b4922d1fb126184f6def7bf8c95084c9b8655a
| Author: notapirate <notapirate@users.noreply.github.com>
| Date:   Sun Aug 14 15:43:54 2022 +0200
| 
|     caja, nautilus, nemo, thunar clients: move __future__ import to the top (#357)
| 
* commit b88b384ebd78188dac21e9c063e036c866a119cf
| Author: Daniel O'Connor <daniel.oconnor@gmail.com>
| Date:   Sun Jun 26 19:05:57 2022 +0930
| 
|     Update main.yml
| 
"commit a9b4922d1fb126184f6def7bf8c95084c9b8655a"が8月に行われている。
1行表示で見ると、いろいろな変更が行われている。しかも入り組んでいる。なんかありそうだ。
* 3c8db72 (HEAD -> master, origin/master, origin/HEAD) add additional file info to property page
* d6b8011 fix nautilus property page
* ab30da8 move irrelevant code from contextmenu(items)4
*   51cd7a3 Merge pull request #372 from rabbitvcs/git-pull-push-local-branches-only
|\  
| * 94da987 (origin/git-pull-push-local-branches-only) show local branches only in push, pull dialog and select matching upstream by default
* |   09a8bb2 Merge pull request #363 from monnerat/setuptools
|\ \  
| |/  
|/|   
| * 76825dd setup: use setuptools
* | c34d29d add .vscode to .gitignore
* | e62b022 use actual git diff in GitRevert
* |   c424618 Merge pull request #361 from philippun1/nautilus43
|\ \  
| * | 0d54100 uncomment property page again
| * | 5b1396d removed icon factory code
| * | 2ce61e4 fixes for nautilus 43
| |/  
* |   a46efec Merge pull request #362 from philippun1/git-log-cursor-changed-callback-missing
|\ \  
| |/  
|/|   
| * 44c9ac7 Add missing cursor-changed callback for git revisions_table
|/  
* a9b4922 caja, nautilus, nemo, thunar clients: move __future__ import to the top (#357)
* b88b384 Update main.yml
厳密に8月のいつにinstallしたのか覚えていないので、まずはその前、6月コミットの"b88b384"をcheckoutして、setup.pyをする。
(setup.pyの実行は、このページを参照)
次に8月の"a9b4922"をcheckoutして...な感じで、コミットを追いかけならが順番にsetup.pyをやっていく。
checkoutで首チョンパ状態になるが、いちいち気にする必要はない。
最終的には"origin/HEAD"まで進めるのだから。

何が悪かったのか?何故良くなるのか?は解らない。
しかし、このやっつけ操作で動くようになった。

普通の開発環境は整ってきた。

マイコンが好きなので、クロス開発環境を用意しなければならない。
最近では、ARMのクロス開発環境は簡単に入手できるようになった。
MSP430もTIから入手できて、楽だ。
SuperHのクロス開発環境は今でも自分でビルドしないといけない。
これが大変だ。ついでなので新しいbinutilsやgccを試すかな。

0 件のコメント:

コメントを投稿