5月 2025

DellのPCにUbuntuを再インストール

これも、ものすごく久しぶりに(多分、コロナの初め頃、2020年くらい?) DellのノートPCを起動した。WindowsとUbuntuのデュアル・ブートにしてあるのだが、Ubuntuの起動率が高い。ところが、不具合があるらしく、Synaptic パッケージ・マネージャーすら起動しない。デーモンがクラッシュしているとか、不穏なメッセージも。ううむ、どうしたんだろうか。

しばらく、あれこれやるも、どうやら駄目。仕方ないので、Ubuntuをクリーン・インストールすることにした。文書類は削除されてしまうが、実は、MetaPostとかAsymptoteとかの勉強用というか、その類なので、まあ、いいか。あ、Chessのデータベースが・・・。ううむ。まあ、なんとかなるでしょう(不安)。

実は、DellのノートPCは、古いも古い、時代遅れもいいところの代物で、おまけにUbuntuも16.04というえらい古いバージョンだったりする。最新のが良いのだろうが、インストール用のDVDかUSBを作らないといけないので、とりあえず、手元にあるDVDといえば、これだけなのだ。

インストール用のDVDを入れて、コンピュータを起動する。F12を押すと、BIOS (これでえらい古いことが分かる、笑) の選択メニューが出るので、外部記憶装置からの起動を選ぶ。あとは、メニューに従うだけ。パーティションのところが、ちょっと緊張。すでにUbuntuがインストールされてることが認識されていて、Ubuntuのパーティションを削除するか?的な質問が。選択肢は、あと2つ。全体を削除というのがあり、これだと、Windows部分も含めて、すべて初期化という恐ろしいことに。最後の選択肢の「その他」を選ぶ。すると、現状のパーティション一覧が出るので、ざっと確認したのち、そのままでOKを出す。あとは、待つだけ。

あとは、アップデートなのだが、apt update, apt upgrade とかやってると、新しいバージョン(18.04.6 LTS)のUbuntu にアップグレードしますか?というメッセージがポップアップで出てきた。素晴らしい!どうしたものかと、検索していたところだったのだ。とりあえず、apt upgrade の処理中なので、それが終わってから。

自炊PDF用のプログラムを修復した

正確には、プログラムを修復したのではなく、ビルドするための環境を修復したのだが。

最初にプログラムを書いたのは、2013年頃で、みようみまねで、OpenCVとC++を勉強しながら、何とか動作するプログラムを作成した。その後、2015年頃かな? HomebrewとかXCodeをアップデートした影響だと思うが、コンパイルできなくなってしまった。あれこれ調べて、OpenCVのバージョンを3から2に下げ、ImageMagickもヴァージョン7から6に下げることで、なんとかコンパイルできるようになった。

以上は、すべて2011版のMacBook Airでの話。2020年にMacBook Pro (最後のインテルMacですよ) に変わって、いまでも使ってるのだが、久しぶりに自作のプログラムを起動しようとしたら、ライブラリーが見つからないとかの実行時エラーで動かなかった。なんとか、シンボリックリンクを張り、とりあえず動作するようにはなったが、これでは、プログラムの修正や改良もできない。やれやれ。

一番良いのは、最新の環境にして、一からプログラムを書き換えることだと思うが、もうね、いろんな事を忘れているし、新しいことを覚えるには歳もとりすぎている。ううむ、困る・・・。

ということで、とりあえず、今の環境でプログラムのビルドを可能にしたい。いろいろやったところ、前回と同様に、OpenCVとImageMagickのバージョンを下げることで、成功した。

実は、OpenCVの方は、古いバージョン2を既にhomebrewで入れてある。ただし、リンクは張ってない状態で、Cellarに入っていて、/usr/local/opt/opencv@2 から参照できるようにもなっている。そこで、コンパイルするときに、それを読み込むように Makefile に書く。

INC_OPENCV2_PATH = /usr/local/opt/opencv@2/include
LIB_OPENCV2_PATH = /usr/local/opt/opencv@2/lib

そして、これをコンパイルするときに、-I$(INC_OPENCV2_PATH) -L$(LIB_OPENCV2_PATH) として読み込む。

OpenCVは以上でOKなのだが、ImageMagickで困った。何を読み込むのか複雑なため、コンパイルのときに、Magick++-config なるプログラムを実行させて、必要なライブラリなどを取り込むのが普通のようだった。そのため、imagemagick@6 以下にバージョン6を収録するだけでは不十分で、リンクを張る必要がある。

brew link imagemagick@6 --force


で良いと思ったのだが、エラーが出た。曰く、

Linking /usr/local/Cellar/imagemagick@6/6.9.12-42...
Error: Could not symlink bin/Magick++-config
Target /usr/local/bin/Magick++-config
is a symlink belonging to imagemagick. You can unlink it:
brew unlink imagemagick

To force the link and overwrite all conflicting files:
brew link --overwrite imagemagick@6

そこで、

brew unlink imagemagick
brew link --overwrite imagemagick@6


とした。
必要ならパスを通せ、というメッセージが出たが、ワタシの場合、それはしなくても大丈夫だった。convert –version などとしてバージョンを調べると、ちゃんと6になっている。これで、ImageMagickのバージョン6にダウングレード出来た。

あとは、以前のMakefileのままでmakeして、警告はいっぱい出るものの、エラーはなくて、なんとかコンパイルに成功した。

次の目標は、OpenCV3とImagemagick7で動作するように、改良することだが、何時になるか。いや、この際、C++ではなく、Pythonに乗り換えるという手もある。Python上にも、OpenCVや他の画像ライブラリがあるらしいのである。

日記(Weblog)再開?

しばらく、というか、かなり長い期間、Web日記をほったらかしにしてた。4月から暇になったので、再開しようかなと思った。

日記はWordpressというツールで書いているのだが、久しぶりにログインしてみると、バージョンが随分と上がっているみたいで、何も考えずに最新版に更新したら、表示がぐちゃぐちゃになったり、いろんなプラグインが動かなかったり、サポートが終わっていたり、などなどで、かなりめげた。Wordpressの設定というか、デザインのカスタマイズの仕方も、以前とは変わっているみたいで、昔からHTMLとCSSでガシガシ書いていた人間には、逆に訳が分かんないようになってしまっている。

まあ、しかし、何とかこれで書いてみましょうか。続くか分かんないけど。