<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ARM64</title><link>https://blog.ast.moe/tags/arm64/</link><description>Recent posts from 五里霧中</description><generator>Hugo</generator><item><title>Visual StoreをDebian 12 ARM64のlibvpx 1.12へ対応した</title><link>https://blog.ast.moe/blog/2026-09-23/</link><pubDate>Wed, 23 Sep 2026 07:55:00 +0900</pubDate><guid>https://blog.ast.moe/blog/2026-09-23/</guid><description>&lt;p&gt;
&lt;span&gt;
&lt;a target="_blank" href="https://github.com/ieee0824/visual-store"&gt;
Visual Store
&lt;/a&gt;
&lt;img class="external-link-icon" src="https://blog.ast.moe/images/outer-link.png" width="12" height="12" alt="" aria-hidden="true" loading="lazy"&gt;
&lt;/span&gt;
を更新した。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.ast.moe/blog/2026-09-21-2/"&gt;前回の記事「Visual Storeに判断結果を残せるようにした」&lt;/a&gt;では、画像を開く前の判断と確認結果を保存するJudgment Layerについて書いた。今回は新しい機能ではなく、Debian 12 ARM64でVP9を有効にした既定ビルドが通らない問題と、Visual Store Skillの不具合報告手順を直した話になる。&lt;/p&gt;
&lt;h2 id="debian-12-arm64で既定ビルドが通らなかった"&gt;Debian 12 ARM64で既定ビルドが通らなかった&lt;/h2&gt;
&lt;p&gt;Visual Storeは連続したPNGをVP9で時間方向に圧縮するため、Rustからsystem libvpxへ直接つないでいる。FFmpegを呼び出す構成ではなく、&lt;code&gt;pkg-config&lt;/code&gt;で見つけたlibvpxとリンクする。&lt;/p&gt;
&lt;p&gt;これまで開発に使っていたのは、主にmacOS ARM64とlibvpx 1.16.0だった。Debian 12 ARM64に入っているlibvpx 1.12.0で、READMEどおりにlocked installするとコンパイルで止まった。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cargo install --path . --locked
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;主なエラーは次の3点。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vpx_codec_error:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; expected *mut vpx_codec_ctx, found &amp;amp;vpx_codec_ctx
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vpx_codec_error_detail:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; expected *mut vpx_codec_ctx, found &amp;amp;vpx_codec_ctx
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;slice::from_raw_parts:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; length expected usize, found u64 (frame.sz)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;--no-default-features&lt;/code&gt;を付ければインストールできた。PNGの&lt;code&gt;init&lt;/code&gt;、&lt;code&gt;put&lt;/code&gt;、&lt;code&gt;features&lt;/code&gt;、&lt;code&gt;judgment&lt;/code&gt;、&lt;code&gt;verify&lt;/code&gt;も使える。&lt;/p&gt;
&lt;p&gt;ただし、これはVP9 backendを無効にしているだけなので、完了したrunを&lt;code&gt;pack --codec vp9&lt;/code&gt;できない。Visual Storeの既定手順がDebian 12で完走できないことは変わらない。&lt;/p&gt;
&lt;p&gt;この問題は&lt;a href="https://github.com/ieee0824/visual-store/issues/23"&gt;Issue #23「Debian 12のlibvpx bindingsで既定VP9 buildが型エラーになる」&lt;/a&gt;と&lt;a href="https://github.com/ieee0824/visual-store/issues/24"&gt;Issue #24「Debian 12 libvpx 1.12で既定VP9 featureがcompileできない」&lt;/a&gt;で確認した。&lt;/p&gt;</description></item></channel></rss>