Open4
DragonFly BSD上に開発環境を作る
Repology https://repology.org/project/mosh-scheme/versions 見たらDPortsに載ってることに気付いたのであわてて環境整備。
pkgsrc使ってたOSがpkgsrc辞めちゃうのってどういう要因があるんだろうね。。DragonFlyのDPortsはFreeBSD ports上に構築されているので、何もしなくても載ってしまう面はある。
ベースシステムのインストール
まぁTUIなので簡単。微妙に不親切なのは:
- インストーラから追加できるユーザは
wheel
に居ないので/etc/group
を手編集する必要がある - 2つ目以降のifは
/etc/rc.conf
で直接セットアップする
git
が衝突する
普通にパッケージを導入しようとすると git
と git-lite
が衝突してしまう。DragonflyBSDはFreeBSDよりも早くGitに移行していて、ベースシステムにgitが入っている。
pkg: git-2.37.1 conflicts with git-lite-2.37.1 (installs files into the same place). Problematic file: /usr/local/bin/git
git-lite
をuninstallすると警告されなくなる。。がこれで正しいのかは不明。
pkg uninstall git-lite
ldconfig
を一般ユーザで実行すると無限ループになる
ファイル名的に、 mktemp
が返却する errno
がバグってるんではないだろうか。。 truss
コマンドで見てみると、
open("/var/run/ld-elf.so.hints.uaB7nO",0xa02,0600) ERR#17 'File exists'
open("/var/run/ld-elf.so.hints.vaB7nO",0xa02,0600) ERR#17 'File exists'
open("/var/run/ld-elf.so.hints.waB7nO",0xa02,0600) ERR#17 'File exists'
とりあえずビルドルールを変更して ldconfig
自体が実行されないようにしてしまった。