Clone
7
Home
aki edited this page 2026-04-02 15:29:29 +09:00

Oddmuの設計に不満は無いけど、OpenBSDでは、そのままではビルドできない。 WebPとHEICのサポートを外す必要がある。 オプションが用意されてるわけではないので、コードを削る。 そうしたのが openbsd ブランチ。

とりあえず動けば良いと思いWebPとHEICを削ったけど、できれば対応したい。 HEICはともかくWebPは一般的。 ビルドできないライブラリをビルドできるものに差し替えれば行けるかもしれない。

OSによって条件コンパイルする手もある。 Goで条件コンパイルをどうやるかはまだ知らないけど。

エラーの詳細をもう一度調べ直して作者に報告するのも良い。 作者はメールでパッチを受け付けてるみたい。 まずはここでイシュを立てると良いかも。


エラーの再現。

commit f0d814b8f3a3dc4012b9ce78712032b51a4eae99 (HEAD -> main, origin/main)
Author: Alex Schroeder <alex@gnu.org>
Date:   Sun Feb 22 23:16:10 2026 +0100

    Document that webp images can be encoded
land$ uname -a
OpenBSD land.internal 7.8 GENERIC.MP#5 amd64
land$ go version
go version go1.25.1 openbsd/amd64
land$ go build
# github.com/ebitengine/purego
../../go/pkg/mod/github.com/ebitengine/purego@v0.9.1/struct_amd64.go:12:46: undefined: syscall15Args

そうそう、 ebitengine が絡むと駄目なんだった。 というか、 purego の問題らしい。

land$ grep ebitengine go.mod
	github.com/ebitengine/purego v0.9.1 // indirect
land$ go mod graph | grep purego
src.alexschroeder.ch/oddmu github.com/ebitengine/purego@v0.9.1
github.com/gen2brain/heic@v0.4.9 github.com/ebitengine/purego@v0.9.1
github.com/gen2brain/webp@v0.5.5 github.com/ebitengine/purego@v0.8.3
land$ go mod graph | grep ebitengine
src.alexschroeder.ch/oddmu github.com/ebitengine/purego@v0.9.1
github.com/gen2brain/heic@v0.4.9 github.com/ebitengine/purego@v0.9.1
github.com/gen2brain/webp@v0.5.5 github.com/ebitengine/purego@v0.8.3

HEICとWebPを削れば動くことは確認してる。