Package Details: nvlax-git r11.b3699ad-8

Git Clone URL: https://aur.archlinux.org/nvlax-git.git (read-only, click to copy)
Package Base: nvlax-git
Description: Future-proof NvENC & NvFBC patcher
Upstream URL: https://github.com/illnyang/nvlax
Licenses: GPL
Conflicts: nvlax
Provides: nvlax, nvlax-git
Submitter: ventureo
Maintainer: ventureo
Last Packager: ventureo
Votes: 5
Popularity: 0.042100
First Submitted: 2021-11-17 17:02 (UTC)
Last Updated: 2023-06-16 16:17 (UTC)

Latest Comments

1 2 3 Next › Last »

ventureo commented on 2023-06-16 16:18 (UTC)

I added a patch that fixes the GCC 13 build.

gardotd426 commented on 2023-06-16 16:05 (UTC)

WTF. Okay so the pkgbuild is now succeeding, even though I didn't re-clone the repo.

It failed with the same old error I posted earlier that you get with GCC 13 (even though the PKGBUILD was updated to use GCC12). So then I just did a cd ~/tmp/makepkg/nvlax-git/src/nvlax and then ran the cmake and make commands manually and it built.

So then I cd-ed back into ~/tmp/nvlax-git and ran makepkg -s and it succeeded.

So then I deleted the makepkg/nvlax-git directory and the AUR repo directory, and re-cloned and ran makepkg -s and it worked again.

I think for some reason it was using GCC13 and not picking up the envar, but it's working now.

gardotd426 commented on 2023-06-16 15:26 (UTC)

That's weird, it used to work, I've patched files with it before, but this was back on like 525 months ago or something, like when obs-nvfbc still worked.

Oh well, at least it's applying on updates now.

ventureo commented on 2023-06-16 15:25 (UTC)

This is normal behavior for nvlax because it does not check if the library has already been patched.

Anyway, this should all be addressed to upstream, but I'm not sure it will ever be considered.

gardotd426 commented on 2023-06-16 15:22 (UTC)

Running the literal identical command from the pacman hook fails as well, even when running as root:

# /bin/sh -c 'nvlax_encode -i /usr/lib/libnvidia-encode.so -o /usr/lib/libnvidia-encode.so; nvlax_fbc -i /usr/lib/libnvidia-fbc.so -o /usr/lib/libnvidia-fbc.so':

[+] libnvidia-encode.so
[+] patched successfully
[+] libnvidia-fbc.so
Assertion 'instr.mnemonic == ZYDIS_MNEMONIC_JNB' failed (ERROR)
  in file lax_fbc.cc, line 90
  function: int main(int, char**)
terminate called after throwing an instance of 'ppk::assert::AssertionException'
  what():
[1]    969573 IOT instruction (core dumped)  /bin/sh -c

gardotd426 commented on 2023-06-16 15:18 (UTC)

As for the patch failing, it does currently succeed to patch NvFBC when upgrading/installing nvidia-utils, but it fails when trying to run nvlax manually:

/bin/sh -c "nvlax_fbc -i /usr/lib/libnvidia-fbc.so -o /home/matt/tmp/libnvidia-fbc.so":

[+] libnvidia-fbc.so
Assertion 'instr.mnemonic == ZYDIS_MNEMONIC_JNB' failed (ERROR)
  in file lax_fbc.cc, line 90
  function: int main(int, char**)
terminate called after throwing an instance of 'ppk::assert::AssertionException'
  what():
[1]    968769 IOT instruction (core dumped)  /bin/sh -c

gardotd426 commented on 2023-06-16 15:13 (UTC)

Can't even rebuild it.

In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/SymbolVersion.cpp:18:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:2051: CMakeFiles/LIB_LIEF.dir/src/ELF/SymbolVersion.cpp.o] Error 1
make[5]: *** Waiting for unfinished jobs....
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/Symbol.cpp:23:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:1925: CMakeFiles/LIB_LIEF.dir/src/ELF/Symbol.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/NoteDetails/AndroidNote.cpp:21:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:1743: CMakeFiles/LIB_LIEF.dir/src/ELF/NoteDetails/AndroidNote.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/NoteDetails/NoteAbi.cpp:21:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:1757: CMakeFiles/LIB_LIEF.dir/src/ELF/NoteDetails/NoteAbi.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/DynamicEntry.cpp:19:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:2177: CMakeFiles/LIB_LIEF.dir/src/ELF/DynamicEntry.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/exception.cpp:19:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/exception.cpp:50:1: error: no declaration matches ‘LIEF::read_out_of_bound::read_out_of_bound(uint64_t, uint64_t)’
   50 | read_out_of_bound::read_out_of_bound(uint64_t offset, uint64_t size) : LIEF::exception("") {
      | ^~~~~~~~~~~~~~~~~
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note: candidates are: ‘LIEF::read_out_of_bound::read_out_of_bound(LIEF::read_out_of_bound&&)’
   71 | class LIEF_API read_out_of_bound : public exception {
      |                ^~~~~~~~~~~~~~~~~
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(const LIEF::read_out_of_bound&)’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound()’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:73:20: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(const LIEF::exception&) [inherited from LIEF::exception]’
   73 |   using exception::exception;
      |                    ^~~~~~~~~
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:73:20: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(std::string) [inherited from LIEF::exception]’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:73:20: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(const char*) [inherited from LIEF::exception]’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note: ‘class LIEF::read_out_of_bound’ defined here
   71 | class LIEF_API read_out_of_bound : public exception {
      |                ^~~~~~~~~~~~~~~~~
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/exception.cpp:58:1: error: no declaration matches ‘LIEF::read_out_of_bound::read_out_of_bound(uint64_t)’
   58 | read_out_of_bound::read_out_of_bound(uint64_t offset) : LIEF::exception("") {
      | ^~~~~~~~~~~~~~~~~
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note: candidates are: ‘LIEF::read_out_of_bound::read_out_of_bound(LIEF::read_out_of_bound&&)’
   71 | class LIEF_API read_out_of_bound : public exception {
      |                ^~~~~~~~~~~~~~~~~
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(const LIEF::read_out_of_bound&)’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound()’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:73:20: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(const LIEF::exception&) [inherited from LIEF::exception]’
   73 |   using exception::exception;
      |                    ^~~~~~~~~
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:73:20: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(std::string) [inherited from LIEF::exception]’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:73:20: note:                 ‘LIEF::read_out_of_bound::read_out_of_bound(const char*) [inherited from LIEF::exception]’
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:71:16: note: ‘class LIEF::read_out_of_bound’ defined here
   71 | class LIEF_API read_out_of_bound : public exception {
      |                ^~~~~~~~~~~~~~~~~
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:133: CMakeFiles/LIB_LIEF.dir/src/exception.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/utils.cpp:22:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:1869: CMakeFiles/LIB_LIEF.dir/src/ELF/utils.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/Header.cpp:24:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:1953: CMakeFiles/LIB_LIEF.dir/src/ELF/Header.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/Relocation.cpp:18:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:2135: CMakeFiles/LIB_LIEF.dir/src/ELF/Relocation.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/Builder.cpp:24:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:75:38: error: expected ‘)’ before ‘offset’
   75 |   explicit read_out_of_bound(uint64_t offset, uint64_t size);
      |                             ~        ^~~~~~~
      |                                      )
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/include/LIEF/exception.hpp:76:38: error: expected ‘)’ before ‘offset’
   76 |   explicit read_out_of_bound(uint64_t offset);
      |                             ~        ^~~~~~~
      |                                      )
make[5]: *** [CMakeFiles/LIB_LIEF.dir/build.make:2065: CMakeFiles/LIB_LIEF.dir/src/ELF/Builder.cpp.o] Error 1
In file included from /home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/Binary.cpp:63:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/Binary.tcc: In member function ‘LIEF::ELF::Segment& LIEF::ELF::Binary::add_segment(const LIEF::ELF::Segment&, uint64_t) [with LIEF::ELF::E_TYPE OBJECT_TYPE = LIEF::ELF::E_TYPE::ET_DYN; bool note = false; uint64_t = long unsigned int]’:
/home/matt/tmp/makepkg/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/ELF/Binary.tcc:380:18: warning: unused variable ‘new_phdr_offset’ [-Wunused-variable]
  380 |   const uint64_t new_phdr_offset = relocate_phdr_table();
      |                  ^~~~~~~~~~~~~~~
make[4]: *** [CMakeFiles/Makefile2:273: CMakeFiles/LIB_LIEF.dir/all] Error 2
make[3]: *** [Makefile:156: all] Error 2
make[2]: *** [CMakeFiles/LIEF.dir/build.make:86: LIEF/src/LIEF-stamp/LIEF-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:135: CMakeFiles/LIEF.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

This is with makepkg, not yay.

mindbound commented on 2023-06-16 15:10 (UTC)

I can confirm, it seems to be working on 535.53.04.

ventureo commented on 2023-06-16 15:02 (UTC)

@gardotd426 I'm not really interested in arguing, but it works for me nonetheless.

https://paste.cachyos.org/p/bb426a7

gardotd426 commented on 2023-06-16 14:51 (UTC)

@ventureo if you're saying it works on 535.53.04, I believe you're mistaken.