Re: リンカオプション --no-allow-shlib-undefined

From: Tomoaki AOKI <junchoon_at_dec.sakura.ne.jp>
Date: Sun, 11 Feb 2024 07:13:58 UTC
青木@名古屋です。

つい先程、devel/libayatana-appindicatorに

+LDFLAGS+=	-Wl,--undefined-version

を追加するコミット(12月から放置されていたBug275669[2])が
入ったくらいなので、少なくともこちらのパターンで直るなら
やってしまって構わないのではないでしょうか?
一応、コミットされた事例がある訳ですし。

あくまで本道は仰るとおり使わないシンボルは省く修正を入れること
かと思いますが、srcのmainブランチでllvm/clang17が入るにあたって
あまりにコケるportsがありすぎてこういった対応のものが多いような
気がします。

ちなみにheimdalだとBug276542[3]で同じ修正が提案されていますね。

なお、原因も修正も違いますが、libayatana*関係では私が同じような
時期に報告しているBug275950[4]も絶賛放置中だったりします。
これについてはNuno(eduardo@)がComment 2で触れている別件を
辿っていくとLDFLAGSではなくCXXFLAGSを使うパターンも出てきていて
このままプッシュするかそちらも試すか考え中です。


[1]
https://cgit.freebsd.org/ports/commit/?id=eced9bce884f352fe1f0cd1c382daf28088a9e97

[2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275669

[3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276542

[4] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275950


On Sun, 11 Feb 2024 08:34:24 +0900
Hiroo Ono (小野寛生) <hiroo.ono+freebsd@gmail.com> wrote:

> 小野寛生です。
> 
> llvm15 から --no-allow-shlib-undefined というリンカオプションが有効になったようで、
> その関連で 14-STABLE で security/heimdal のビルドが壊れていたりします。
> (bug 267938 でメンテナが対応中っぽい?)
> 
> このオプションがどういうものかは一応分かったのですが、このオプションを指定した
> 方がよい理由が分からないのでどなたか教えていただけないでしょうか。
> net/dante も同じ問題があって、解決しないシンボルを省くようにするか、
> LDFLAGS+= -Wl,--undefined-version
> または
> LDFLAGS+= -Wl,--allow-shlib-undefined
> とやってしまってもよいのかが判断つかなくて、bug 276938 で一応報告したのですが、
> 修正の提案がしきれない状態です。
> 
> すみませんがよろしくお願いします。
> 


-- 
青木 知明  [Tomoaki AOKI]    <junchoon@dec.sakura.ne.jp>