アフィリエイト広告を利用しています

2023年06月02日

システム管理: Emacs HEAD のコンパイルとインストール ── 2023 年 6 月

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.3/11.2.0


コンパイルとインストール.

$ git pull
$ ./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
$ gmake bootstrap
$ gmake check
# gmake install

Emacs HEAD の作成とインストールが終わる.

システム管理: OpenBSD のアップグレード作業 ── 2023 年 6 月 (2)

朝になってベースシステムのコンパイルが終わる.
マージしてデバイスファイルを作成する.

# sysmerge
# cd /dev
# ./MAKEDEV all


X 関連のファイルのコンパイルとインストールを行う.

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


パッケージのアップデートを行う.

# pkg_add -uv

OpenBSD のアップグレード作業が終わった.

2023年06月01日

システム管理: OpenBSD のアップグレード作業 ── 2023 年 6 月 (1)

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

ソースツリーのアップデート.

$ cd /usr/src # ベースシステムのソースコードのアップデート.
$ cvs -q up -Pd -A
$ cd /usr/xenocara # X のソースコードのアップデート.
$ cvs -q up -Pd -A
$ cd /usr/ports # ports ツリーのアップデート.
$ cvs -q up -Pd -A
# sysupgrade -s # システムの最新のスナップショットへのアップグレード.


カーネルのコンパイルとインストール.

# cd /sys/arch/amd64/compile/GENERIC.MP
# make obj
# make config
# make && make install
# uname -a
OpenBSD mybsd.local 7.3 GENERIC.MP#18 amd64


ベースシステムのコンパイル.

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

ビルドプロセスが終わるのは夜遅くになる.
続きは明日行う.

2023年05月03日

システム管理: Emacs HEAD のコンパイルとインストール ── 2023 年 5 月

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.3/11.2.0

先月と同じように環境変数 LD_LIBRARY_PATH を設定する. これを行わないと configure による libgccjit のチェック時にエラーとなる.

コンパイルとインストール.

$ ./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

無事に作業が終わった.

2023年05月02日

システム管理: OpenBSD のアップグレード作業 ── 2023 年 5 月 (2)

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

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


X 関連のファイルのコンパイルとインストールを行う.

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


パッケージのアップデートを行う.

# pkg_add -uv

以上で OpenBSD のアップグレード作業が問題無く終わった.

2023年05月01日

システム管理: OpenBSD のアップグレード作業 ── 2023 年 5 月 (1)

月初めの OpenBSD のアップグレード作業のメモ.

ソースツリーのアップデート.

$ cd /usr/src # ベースシステムのソースコードのアップデート.
$ cvs -q up -Pd -A
$ cd /usr/xenocara # X のソースコードのアップデート.
$ cvs -q up -Pd -A
$ cd /usr/ports # ports ツリーのアップデート.
$ cvs -q up -Pd -A
# sysupgrade -s # システムの最新のスナップショットへのアップグレード.


カーネルのコンパイルとインストール.

# cd /sys/arch/amd64/compile/GENERIC.MP
# make obj
# make config
# make && make install
# uname -a
OpenBSD mybsd.local 7.3 GENERIC.MP#17 amd64


ベースシステムのコンパイル.

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

終了は夜になるので, ビルドプロセスを流したまま今日は区切りを付ける.

2023年04月02日

システム管理: Emacs HEAD のコンパイルとインストール

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

$ 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)

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

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


X 関連ファイルのコンパイルとインストールを行う.

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


パッケージのアップデートを行う.

# pkg_add -uv

これで OpenBSD のアップグレード作業が完了する.

今回は何も問題は起こらなかった.

2023年04月01日

システム管理: OpenBSD のアップグレード作業 ── 2023 年 4 月 (1)

月初めなので, OpenBSD のアップグレード作業を行う.

ソースツリーのアップデート.

$ cd /usr/src # ベースシステムのソースコードのアップデート.
$ cvs -q up -Pd -A
$ cd /usr/xenocara # X のソースコードのアップデート.
$ cvs -q up -Pd -A
$ cd /usr/ports # ports ツリーのアップデート.
$ cvs -q up -Pd -A
# sysupgrade -s # システムの最新のスナップショットへのアップグレード.

OpenBSD のバージョンが 7.2 から 7.3 になっている.

カーネルのコンパイルとインストール.

# cd /sys/arch/amd64/compile/GENERIC.MP
# make obj
# make config
# make && make install
# uname -a
OpenBSD mybsd.local 7.3 GENERIC.MP#16 amd64


ベースシステムのコンパイル.

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

この処理が終わるのは夜になるので, プロセスを流しっ放しにして今日は区切りを付ける.

2023年03月02日

システム管理: Emacs HEAD のコンパイルとインストール ── loadable library and perl binaries are mismatched エラーの発生

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

$ 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
$ git pull
$ gmake bootstrap

ところが, elisp.info を生成する箇所でエラー

GEN ../../info/elisp.info
parsetexi/Parsetexi.c: loadable library and perl binaries are mismatched (got first handshake key 0xec00000, needed 0xeb80000)

が出力されてコンパイルが停止する.
gmake V=1 を実行して, 内部で走っているコマンドを調べたところ,

makeinfo --force --enable-encoding -I ./../emacs -I . --no-split -o ../../info/elisp.info elisp.texi
parsetexi/Parsetexi.c: loadable library and perl binaries are mismatched (got first handshake key 0xec00000, needed 0xeb80000)

となり, makeinfo でエラーになっている.

makeinfo は GNU Texinfo の一部で, 以前バージョンの問題が発生したためにパッケージからではなく Texinfo のソースから直接コンパイルしたものである.
その時インストールした Texinfo のモジュールがもう古くなっているのだろう.

Texinfo をあらためてソースからコンパイル・インストールする.

$ cd ~/src/texinfo
$ git pull
$ ./autogen.sh
$ ./configure --prefix=/usr/local --infodir=/usr/local/info --mandir=/usr/local/share/man
$ gmake
$ gmake check
# gmake install

その後, 再び Emacs HEAD のコンパイルを実行したところうまく行った.

$ gmake
$ gmake check
# gmake install
ファン
検索
<< 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技術ブログ プログラム・プログラマーへ
にほんブログ村