OpenBSD のアップグレード作業 ── 2023 年 10 月 (3)

https://cdn.openbsd.org/pub/OpenBSD/7.4/packages/amd64/ に OpenBSD 7.4 対応のパッケージがまだアップロードされていないので, 代わりに OpenBSD スナップショット から最新のパッケージへのアップグレードを行う.

# pkg_add -uv -D snapshot

問題無く終了した.

2023年11月15日

システム管理: Wi-Fi ルーターの設定

新しい Wi-Fi ルーターを購入したので, OpenBSD とスマホでの設定を行う.

スマホでの設定は, Wi-Fi ルーターのパッケージに付属していた QR コードを読み込むことで完了した.

OpenBSD (Ver. 7.4) での設定は, /etc/hostname.urtwn0 (urtwn0 はネットワークインターフェース名) に

nwid MyWiFiRouterSSID wpakey MyWiFiRouterPassword
inet autoconf

と記述すればよい. ここで MyWiFiRouterSSID と MyWiFiRouterPassword は Wi-Fi ルーター毎の SSID と WPA パスワードである.

設定はネットワークを再起動することで反映される.

# sh /etc/netstart urtwn0

これで, /etc/resolv.conf が新しく作成され, 新しい Wi-Fi ルーターでスマホと OpenBSD での通信が可能になる.

2023年11月03日

Emacs HEAD のコンパイルとインストール ── 2023 年 11 月

Emacs HEAD のコンパイルとインストールを行う.

環境変数を設定する.

$ export AUTOCONF_VERSION="2.71"
$ export AUTOMAKE_VERSION="1.16"
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/gcc/x86_64-unknown-openbsd7.4/11.2.0

ソースコードを最新のものにアップデートし, コンパイルとインストールを実行する.

$ ./autogen.sh
$ ./configure \
'CFLAGS=-I/usr/include -I/usr/X11R6/include -I/usr/local/include' \
'LDFLAGS=-L/usr/lib -L/usr/X11R6/lib -L/usr/local/lib -lgccjit' \
--prefix=/usr/local \
--mandir=/usr/local/share/man \
--infodir=/usr/local/info \
--with-x-toolkit=athena \
--with-imagemagick \
--with-xaw3d \
--with-x \
--without-xim \
--with-xpm=ifavailable \
--with-native-compilation
$ git pull
$ gmake bootstrap
$ gmake check
# gmake install

コンパイルは問題無く終了したが, インストール後に実行してみると起動時に,

Error in post-command-hook (ccc-update-buffer-local-frame-params): (void-function facemenu-color-equal)

というエラーが出る.
少し調べると, SKK の Emacs Lisp ソース 'ccc.el' 内で使用されている facemenu-color-equal という関数が定義されていない.

幸いなことに, このエラーについては,
(void-function facemenu-color-equal) in Emacs-28 #188
Facemenu require error in Emacs-28 #189
Use faces instead of facemenu for Emacs 28 #1948
に経緯が記載されている.

・ facemenu-color-equal という関数は Emacs ソースに含まれる facemenu.el 内で定義されている.
・ Emacs ソース内の NEWS.28 ファイルに, Emacs28 から facemenu.el はプリロードされなくなったという記述がある.

** facemenu.el is no longer preloaded.

・ したがって SKK が init.el から読み込まれる時には facemenu-color-equal という関数が未定義状態であるため, 上記のエラーが出る.
・ 暫定的な対処としては, init.el 内に

(require 'facemenu)

という記述を追加すればよい.
・ このエラーへの恒久的な対処として, すでに開発版の SKK 自体が facemenu.el に依存しないように変更されている.

以上のことから, このエラーを回避するためには, 上記の暫定的な措置を行うか, 最新版の SKK をインストールすればいいことになる.

今回は, 最新版の SKK をインストールすることにより対応した.


これで最初のエラーは出力されなくなったが, 今度は起動時に

Wrong number of arguments: sit-for, 3

というエラーが出力されてしまう.
sit-for 関数の引数が間違って 3 個使用されているという内容である. この関数は Emacs が再描画するまでの時間を指定する.

調べてみると init.el 内で読み込んでいる key-chord.el というパッケージに

(sit-for delay 0 'no-redisplay)

というコードが含まれている. 引数が 3 個である (なお, 自分の環境では読み込まれているこれ以外の sit-for 関数には全て 1 個または 2 個の引数が指定されている).

さらに Emacs Lisp Manual を見ると,

For instance, in old versions of Emacs the sit-for function accepted three arguments, like this

(sit-for seconds milliseconds nodisp)

However, calling sit-for this way is considered obsolete.

Function: sit-for seconds &optional nodisp

とある.
つまり, 古いバージョンの Emacs では sit-for 関数は seconds, milliseconds, およびオプションの nodisp という 3 個の引数を指定する定義になっていたものが, 新しいバージョンの Emacs では

(sit-for seconds &optional nodisp)

という 1 個あるいは 2 個の引数を指定する定義に変更されている.

実際に Emacs30 に含まれる NEWS ファイルの中には,

** The obsolete calling convention of 'sit-for' has been removed.
That convention was: '(sit-for SECONDS MILLISEC &optional NODISP)'.

という記述があり, 2 個または 3 個の引数をとる sit-for 関数は削除されて, 1 個あるいは 2 個の引数を指定するようになっていることがわかる.

そこで key-chord.el 内の 3 変数の sit-for 関数の呼び出し部分を

(sit-for delay 0 'no-redisplay)

から

(sit-for (+ delay 0) 'no-redisplay)

に変更した.

これで Emacs が問題無く起動するようになる.

M-x emacs-version
This is GNU Emacs 30.0.50 (build 1, x86_64-unknown-openbsd7.4,
X toolkit, cairo version 1.18.0, Xaw3d scroll bars) of 2023-11-03

2023年11月02日

OpenBSD: アップグレード作業 ── 2023 年 11 月 (2)

昨日から流していた OpenBSD ベースシステムのコンパイルが終わっていたので, 続きの作業を行う.

# sysmerge # ベースシステムのマージ.
# cd /dev
# ./MAKEDEV all # デバイスファイルの作成.

X 関連のファイルのコンパイルを行う.

# cd /usr/xenocara
# make bootstrap
# make obj
# make build

インストールしてあるパッケージをアップデートする.

# pkg_add -uv

これで一連のアップグレード作業が終了した.

$ uname -a
OpenBSD mybsd.local 7.4 GENERIC.MP#23 amd64

2023年11月01日

OpenBSD: アップグレード作業 ── 2023 年 11 月 (1)

月が新しくなったので, OpenBSD のアップグレードを行う.

ソースおよび ports を最新のものに更新する.

$ cd /usr/src
$ cvs -q up -Pd -A # ベースシステムのソースの取得.
$ cd /usr/xenocara
$ cvs -q up -Pd -A # X のツールやライブラリーなどのソースの取得.
$ cd /usr/ports
$ cvs -q up -Pd -A # ports の取得.


システムに最新のスナップショットをインストールする.

# sysupgrade -s

リブートの後, カーネルの再コンパイルを行う.

# cd /sys/arch/amd64/compile/GENERIC.MP
# make obj
# make config
# make && make install

次いで, ベースシステムのコンパイルを行う.

# cd /usr/src
# make obj && make build

夕方から開始したので, 明日の朝には終わるだろう.
今日はここまでで区切りを付ける.

2023年10月10日

Emacs HEAD のコンパイルとインストール ── 2023 年 10 月 (2)

Emacs のコンパイルができたので, テストとインストールを行う.

$ gmake check
# gmake install

ところが, 新しくインストールした Emacs を起動してみると,

Symbol's value as variable is void: flymake-allowed-file-name-masks

というエラーが出て, \$HOME/.emacs.d/init.el を最後まで読み込めない.
それで,

M-x help-for-help v flymake-allowed-file-name-masks

を実行してこの変数の情報を調べると,

flymake-allowed-file-name-masks is a variable defined in ‘flymake-proc.el’.

Its value is shown below.

This variable is obsolete since 26.1; use
‘flymake-proc-allowed-file-name-masks’ instead.

という記述がある.

・ flymake-allowed-file-name-masks という変数は flymake-proc.el 内で定義されている.
・ この変数は 26.1 以降で廃止されており, 代わりに flymake-proc-allowed-file-name-masks という変数を使うことが推奨されている.


そこで, \$HOME/.emacs.d/init.el 内に

(require 'flymake-proc nil t)

という記述を追加し, init.el 内の flymake-allowed-file-name-masks を flymake-proc-allowed-file-name-masks に書き換えた.

その結果, Emacs が正常に起動するようになった.

M-x emacs-version
This is GNU Emacs 30.0.50 (build 1, x86_64-unknown-openbsd7.4,
X toolkit, cairo version 1.17.8, Xaw3d scroll bars) of 2023-10-09

2023年10月09日

Emacs HEAD のコンパイルとインストール ── 2023 年 10 月 (1)

Emacs HEAD のコンパイルとインストールを行う.

環境変数の設定.

$ export AUTOCONF_VERSION="2.71"
$ export AUTOMAKE_VERSION="1.16"
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/gcc/x86_64-unknown-openbsd7.4/11.2.0

環境変数 LD_LIBRARY_PATH を, OpenBSD 7.4 に対応した形式で設定する.

コンパイル.

$ ./autogen.sh
$ ./configure \
'CFLAGS=-I/usr/include -I/usr/X11R6/include -I/usr/local/include' \
'LDFLAGS=-L/usr/lib -L/usr/X11R6/lib -L/usr/local/lib -lgccjit' \
--prefix=/usr/local \
--mandir=/usr/local/share/man \
--infodir=/usr/local/info \
--with-x-toolkit=athena \
--with-imagemagick \
--with-xaw3d \
--with-x \
--without-xim \
--with-xpm=ifavailable \
--with-native-compilation
$ git pull
$ gmake bootstrap

gmake bootsap は時間がかかるので, プロセスを流しっ放しにして今日は区切りを付ける.
タグ: Emacs HEAD emacs30

2023年10月02日

OpenBSD のアップグレード作業 ── 2023 年 10 月 (2)

ベースシステムのコンパイルが終わったのでマージとデバイスファイルの作成を行う.

# sysmerge
# cd /dev/ && ./MAKEDEV all

X 関連のファイルをコンパイルする.

# cd /usr/xenocara
# make bootstrap
# make obj
# make build

最後に最新のパッケージの取得を行ったが,

# pkg_add -uv
https://cdn.openbsd.org/pub/OpenBSD/7.4/packages/amd64/: no such dir

というエラーが出力されて失敗する.
まだ 7.4 対応のパッケージが上記サイトに置かれていない.
明日にでもまた試してみようと思う.

2023年10月01日

OpenBSD のアップグレード作業 ── 2023 年 10 月 (1)

新しい月になったので, OpenBSD のアップグレード作業を行う.

ソースおよび ports を最新のものに更新する.

$ cd /usr/src
$ cvs -q up -Pd -A # ベースシステムのソースの取得.
$ cd /usr/xenocara
$ cvs -q up -Pd -A # X 関連のソースの取得.
$ cd /usr/ports
$ cvs -q up -Pd -A # ports の取得.


システムを最新のスナップショットにアップグレードする.

# sysupgrade -s

ところが, ダウンロードしたファイルの検証に失敗する.

Verifying sets.
(SHA256) bsd.mp: FAILED
(SHA256) bsd.rd: FAILED
(SHA256) game74.tgz: FAILED
(SHA256) man74.tgz: FAILED

これはどうにもならない.

明日またやり直そうと思ったが, 数時間おいてやり直したらうまく行った.

# sysupgrade -s


カーネルの再コンパイルを行う.

# cd /sys/arch/amd64/compile/GENERIC.MP
# make obj
# make config
# make && make install

バージョンが 7.4 になった.

# uname -a
OpenBSD mybsd.local 7.4 GENERIC.MP#22 amd64

次いで, ベースシステムのコンパイルを行う.

# cd /usr/src
# make obj && make build

これは時間がかかるので, 後の作業は明日以降にして区切りを付ける.

2023年09月03日

Emacs HEAD のコンパイル・インストール ── 2023 年 9 月 (2)

朝起きると, Emacs のコンパイルが終わっているので続きの作業を行う.

$ gmake check
# gmake install

問題無く終了した.

M-x emacs-version
GNU Emacs 30.0.50 (build 1, x86_64-unknown-openbsd7.3,
X toolkit, cairo version 1.17.8, Xaw3d scroll bars) of 2023-09-02
タグ: emacs30 Emacs HEAD
ファン
検索
<< 2024年12月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
15
16 17 18 19 20 21
22
23 24 25 26 27 28
29
30 31
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事 (59)
社会復帰 (22)
(44)
コンピューター (211)
(1463)
借金 (8)
勉強 (13)
(13)
数学 (97)
運動 (8)
日常生活 (1407)
(204)
健康 (38)
読書 (21)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: