Package Details: vfstool-git 2.5.r2.gad0a7c3-1

Git Clone URL: https://aur.archlinux.org/vfstool-git.git (read-only, click to copy)
Package Base: vfstool-git
Description: Application for OpenMW modlists designed to allow introspecting into and creating virtual filesystems, even for other games.
Upstream URL: https://github.com/DreamWeave-MP/vfstool
Licenses: GPL
Provides: vfstool
Submitter: S3ctor
Maintainer: S3ctor
Last Packager: S3ctor
Votes: 2
Popularity: 0.121102
First Submitted: 2025-04-25 04:32 (UTC)
Last Updated: 2026-01-13 19:45 (UTC)

Dependencies (2)

Required by (0)

Sources (1)

Latest Comments

Spaicrab commented on 2026-04-23 16:20 (UTC) (edited on 2026-04-23 16:21 (UTC) by Spaicrab)

This fails the package() step because of line 45 in the PKGBUILD: install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

There is no singular LICENSE file, instead there are two different license files: LICENSE-APACHE and LICENSE-MIT. Editing line 45 to copy one or both of them should fix the issue.

Kovariszt commented on 2026-02-05 17:21 (UTC)

Yes, options=('!lto') also fixes it for me. Very odd, I wonder what that's about

Engdyn commented on 2026-02-05 07:59 (UTC)

Adding options=('!lto') does fix it consistently for me. It's a known thing that rust + lto + arch build system do have very weird interactions

Kovariszt commented on 2026-02-05 01:03 (UTC)

delta-plugin-git builds without any issues for me, for some reason

S3ctor commented on 2026-02-05 00:54 (UTC)

Kovariszt, could you please do me a favor and see if delta-plugin-git builds for you? These two both have the same lz4 link error, and in my chroot, I was able to build delta-plugin after applying the relevant changes. I'll give it a try here though.

Kovariszt commented on 2026-02-05 00:50 (UTC)

I'm still having the exact same issue as the previous people did, the fix doesn't seem to actually have fixed it

S3ctor commented on 2026-01-18 17:53 (UTC)

Hey, everyone. I apologize for the delay in fixing this package! I pushed a fix a few days ago that should work. In the check phase, tests also need to be built in release mode or that triggers the lz4 link error.

I tried to investigate it a bit and I'm honestly not entirely sure what the issue is. I think it may be a bug in lzzz, which vfstool_lib inherits from the ba2 crate. lzzz vendors the LZ4 library, so as far as I understand it should build and link properly either way, but, I didn't look at its build.rs especially closely once I got that far down.

Engdyn commented on 2025-12-21 01:09 (UTC)

I looked into it and has something to do with lto. Removing lto flags fixed it for me. It also seems that the llz4 linker flag isn't needed anymore

diff --git a/PKGBUILD b/PKGBUILD
index 5555780..bf6fbe3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,6 +9,7 @@ provides=(vfstool)
 arch=('i686' 'x86_64' 'armv6h' 'armv7h')
 source=('git+https://github.com/magicaldave/vfstool')
 sha1sums=('SKIP')
+options=('!lto')

 pkgver() {
    cd "${srcdir}/vfstool"
@@ -28,7 +29,6 @@ build() {
    cd "${srcdir}/vfstool"
    export RUSTUP_TOOLCHAIN=stable
    export CARGO_TARGET_DIR=target
-   export RUSTFLAGS+=" -C link-arg=-llz4 "
    cargo build --frozen --release --all-features
 }

toynbeeidea commented on 2025-12-20 23:56 (UTC) (edited on 2025-12-20 23:57 (UTC) by toynbeeidea)

Build still fails:

      error: linking with `cc` failed: exit status: 1

[snip]

      = note: ld.lld: error: undefined symbol: LZ4F_getVersion
      >>> referenced by lzzzz.63f3680551361ce3-cgu.3
      >>>               lzzzz-b6c5091661d4f584.lzzzz.63f3680551361ce3-cgu.3.rcgu.o:(lzzzz::lz4f::frame::DecompressionCtx::new::hde694cad589481d8) in archive /home/erik/.cache/yay/vfstool-git/src/vfstool/target/release/deps/liblzzzz-b6c5091661d4f584.rlib

      ld.lld: error: undefined symbol: LZ4F_createDecompressionContext
      >>> referenced by lzzzz.63f3680551361ce3-cgu.3
      >>>               lzzzz-b6c5091661d4f584.lzzzz.63f3680551361ce3-cgu.3.rcgu.o:(lzzzz::lz4f::frame::DecompressionCtx::new::hde694cad589481d8) in archive /home/erik/.cache/yay/vfstool-git/src/vfstool/target/release/deps/liblzzzz-b6c5091661d4f584.rlib

      ld.lld: error: undefined symbol: LZ4F_resetDecompressionContext
      >>> referenced by lzzzz.63f3680551361ce3-cgu.3
      >>>               lzzzz-b6c5091661d4f584.lzzzz.63f3680551361ce3-cgu.3.rcgu.o:(lzzzz::lz4f::frame::decompress_to_vec::h4834156f66cc9724) in archive /home/erik/.cache/yay/vfstool-git/src/vfstool/target/release/deps/liblzzzz-b6c5091661d4f584.rlib

      ld.lld: error: undefined symbol: LZ4F_decompress_usingDict
      >>> referenced by lzzzz.63f3680551361ce3-cgu.3
      >>>               lzzzz-b6c5091661d4f584.lzzzz.63f3680551361ce3-cgu.3.rcgu.o:(lzzzz::lz4f::frame::decompress_to_vec::h4834156f66cc9724) in archive /home/erik/.cache/yay/vfstool-git/src/vfstool/target/release/deps/liblzzzz-b6c5091661d4f584.rlib

      ld.lld: error: undefined symbol: LZ4F_freeDecompressionContext
      >>> referenced by lzzzz.63f3680551361ce3-cgu.1
      >>>               lzzzz-b6c5091661d4f584.lzzzz.63f3680551361ce3-cgu.1.rcgu.o:(std::sys::thread_local::nativ

Engdyn commented on 2025-07-10 15:58 (UTC)

The build fails in a clean chroot with a linker error.

/usr/bin/ld: /build/vfstool-git/src/vfstool/target/release/deps/liblzzzz-3f2245784e0b0642.rlib(lzzzz-3f2245784e0b0642.lzzzz.1383ba0892d0a200-cgu.3.rcgu.o): in function `lzzzz::lz4f::api::DecompressionContext::new':
/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lzzzz-1.1.0/src/lz4f/api.rs:132:(.text.unlikely._ZN3std3sys12thread_local6native4lazy20Storage$LT$T$C$D$GT$10initialize17hda52dc25e0453d5eE+0x26): undefined reference to `LZ4F_getVersion'
/usr/bin/ld: /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lzzzz-1.1.0/src/lz4f/api.rs:130:(.text.unlikely._ZN3std3sys12thread_local6native4lazy20Storage$LT$T$C$D$GT$10initialize17hda52dc25e0453d5eE+0x32): undefined reference to `LZ4F_createDecompressionContext'
/usr/bin/ld: /build/vfstool-git/src/vfstool/target/release/deps/liblzzzz-3f2245784e0b0642.rlib(lzzzz-3f2245784e0b0642.lzzzz.1383ba0892d0a200-cgu.3.rcgu.o): in function `<lzzzz::lz4f::api::DecompressionContext as core::ops::drop::Drop>::drop':
/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lzzzz-1.1.0/src/lz4f/api.rs:192:(.text.unlikely._ZN3std3sys12thread_local6native4lazy20Storage$LT$T$C$D$GT$10initialize17hda52dc25e0453d5eE+0x9e): undefined reference to `LZ4F_freeDecompressionContext'
/usr/bin/ld: /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lzzzz-1.1.0/src/lz4f/api.rs:192:(.text._ZN3std3sys12thread_local6native4lazy7destroy17h8f234c456e7a1b20E+0x1e): undefined reference to `LZ4F_freeDecompressionContext'
/usr/bin/ld: /build/vfstool-git/src/vfstool/target/release/deps/liblzzzz-3f2245784e0b0642.rlib(lzzzz-3f2245784e0b0642.lzzzz.1383ba0892d0a200-cgu.2.rcgu.o): in function `lzzzz::lz4f::api::DecompressionContext::reset':
/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lzzzz-1.1.0/src/lz4f/api.rs:184:(.text._ZN3std6thread5local17LocalKey$LT$T$GT$4with17hd7ce2f5bf8ef57a6E+0x62): undefined reference to `LZ4F_resetDecompressionContext'
/usr/bin/ld: /build/vfstool-git/src/vfstool/target/release/deps/liblzzzz-3f2245784e0b0642.rlib(lzzzz-3f2245784e0b0642.lzzzz.1383ba0892d0a200-cgu.2.rcgu.o): in function `lzzzz::lz4f::api::DecompressionContext::decompress_dict':
/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lzzzz-1.1.0/src/lz4f/api.rs:168:(.text._ZN3std6thread5local17LocalKey$LT$T$GT$4with17hd7ce2f5bf8ef57a6E+0xfa): undefined reference to `LZ4F_decompress_usingDict'
collect2: error: ld returned 1 exit status

Adding export RUSTFLAGS+=" -C link-arg=-llz4 into build() resolves the issue.

Also the license is wrong. You are using MIT not GPL in your upstream git repo. The pkg should also install the license of the upstream repo.
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"