4 時半起床.
やや鬱が辛い.
本を読む.
カント『純粋理性批判』から「第二版序言」の続き.
純粋理性批判は既存の学派の独占権に損失を与えるが, 他には利益の他何もないことが述べられる.
朝食をとる.
パンと紅茶.
食べている最中から鬱が辛くなってくる.
OpenBSD のアップグレード作業を行う.
頭が働かない.
辛い.
休みながら作業をする.
何とか午前中には終わった.
この後, Emacs HEAD のコンパイル・インストールを行いたいが気力が出ない.
頓服を飲んで寝込んだ.
夕方に起きる.
買い物に行く.
体が重く, 歩くのが辛い.
野菜などを買う.
帰宅して Emacs のコンパイルを行う.
途中でエラーが出たが, 対処する気力が出ず作業を中断する.
夕食をとる.
蕎麦と大根おろし.
そのまま眠る.
深夜に起きて, Emacs のコンパイルエラーに対処する.
インストールまでを行い, 再び眠る.
2023年04月02日
システム管理: Emacs HEAD のコンパイルとインストール
Emacs HEAD のコンパイルとインストールを行う.
libgccjit のチェックの際にエラーが出た.
メッセージに従って, https://gcc.gnu.org/onlinedocs/jit/intro/tutorial01.html にあるテストプログラム tut01-hello-world.c をコンパイルして動かしてみる.
libgcc が見つからないというエラーが出る.
探したらディレクトリー /usr/local/lib/gcc/x86_64-unknown-openbsd7.3/11.2.0 に libgcc.a があった.
そこで環境変数 LD_LIBRARY_PATH にこのディレクトリーを指定してテストプログラムを実行する.
今度はうまく行った.
上記のように環境変数 LD_LIBRARY_PATH を設定した状況で Emacs HEAD のコンパイルとインストールを行う.
また, \$/.emacs.d/init.el の中でも環境変数 LD_LIBRARY_PATH を
のように設定した.
これまではなぜうまく動いていたのだろうかという疑問は残るが, 最新版のシステムを使っていればこういうことはある.
$ export AUTOCONF_VERSION="2.71"
$ export AUTOMAKE_VERSION="1.16"
$ ./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
libgccjit のチェックの際にエラーが出た.
checking for gcc_jit_context_acquire in -lgccjit... yes
checking for libgccjit.h... yes
configure: error: The installed libgccjit failed to compile and run a test program using
the libgccjit library; see config.log for the details of the failure.
The test program can be found here:
< https://gcc.gnu.org/onlinedocs/jit/intro/tutorial01.html>.
You can try compiling it yourself to investigate the issues.
Please report the issue to your distribution if libgccjit was installed
through that.
You can find the instructions on how to compile and install libgccjit from
source on this site:
< https://gcc.gnu.org/wiki/JIT>.
メッセージに従って, https://gcc.gnu.org/onlinedocs/jit/intro/tutorial01.html にあるテストプログラム tut01-hello-world.c をコンパイルして動かしてみる.
$ egcc -I/usr/include -I/usr/local/include -L/usr/lib -L/usr/local/lib \
tut01-hello-world.c -o tut01-hello-world -lgccjit
$ ./tut01-hello-world
ld: error: unable to find library -lgcc
ld: error: unable to find library -lgcc
libgccjit.so: error: error invoking gcc driver
NULL result
libgcc が見つからないというエラーが出る.
探したらディレクトリー /usr/local/lib/gcc/x86_64-unknown-openbsd7.3/11.2.0 に libgcc.a があった.
そこで環境変数 LD_LIBRARY_PATH にこのディレクトリーを指定してテストプログラムを実行する.
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/gcc/x86_64-unknown-openbsd7.3/11.2.0
$ ./tut01-hello-world
hello world
今度はうまく行った.
上記のように環境変数 LD_LIBRARY_PATH を設定した状況で Emacs HEAD のコンパイルとインストールを行う.
$ ./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
また, \$/.emacs.d/init.el の中でも環境変数 LD_LIBRARY_PATH を
(setenv "LD_LIBRARY_PATH" "$LD_LIBRARY_PATH:/usr/local/lib/gcc/x86_64-unknown-openbsd7.3/11.2.0")
のように設定した.
これまではなぜうまく動いていたのだろうかという疑問は残るが, 最新版のシステムを使っていればこういうことはある.
システム管理: OpenBSD のアップグレード作業 ── 2023 年 4 月 (2)
ベースシステムのコンパイルが終わったのでマージしてデバイスファイルを作成する.
X 関連ファイルのコンパイルとインストールを行う.
パッケージのアップデートを行う.
これで OpenBSD のアップグレード作業が完了する.
今回は何も問題は起こらなかった.
# sysmerge
# cd /dev/ && ./MAKEDEV all
X 関連ファイルのコンパイルとインストールを行う.
# cd /usr/xenocara
# make bootstrap
# make obj
# make build
パッケージのアップデートを行う.
# pkg_add -uv
これで OpenBSD のアップグレード作業が完了する.
今回は何も問題は起こらなかった.