vapoursynth-plugin icon indicating copy to clipboard operation
vapoursynth-plugin copied to clipboard

Build from AUR?

Open mysteryx93 opened this issue 3 years ago • 26 comments

Is this package available on Linux in the AUR? Every other package was there... only missing this one

mysteryx93 avatar Jan 31 '22 07:01 mysteryx93

The included meson.build should work under Linux. Just make sure to have the correct llvm version (10 to 12, and 13 is not yet supported.)

AkarinVS avatar Jan 31 '22 10:01 AkarinVS

If you want to compile this under Arch, you will need to downgrade LLVM since they've been shipping 13.x for months now. There is a helper tool called downgrade which I have used to compile this plugin: https://aur.archlinux.org/packages/downgrade/

For me, I had to downgrade to 34) llvm 12.0.1 5 (the 5th version of 12.0.1 in the archives). For whatever reason, this plugin was not compiling with other versions of LLVM 12.x. This may have occurred due to a packing error, I do not know.

You may or may not have to downgrade sister packages such as llvm-libs, I did just to be safe.

NSQY avatar Jan 31 '22 14:01 NSQY

CC: @sl1pkn07 You may be interested in this. This plugin is a soft requirement for https://github.com/DJATOM/vapoursynth-preview/blob/api-v4-support/vspreview/main.py and a few other functions.

NSQY avatar Jan 31 '22 14:01 NSQY

ok. when go to home

greetings

sl1pkn07 avatar Jan 31 '22 15:01 sl1pkn07

done

https://aur.archlinux.org/packages/vapoursynth-plugin-vsakarin-git/

sl1pkn07 avatar Jan 31 '22 17:01 sl1pkn07

Wow that was quick! Microsoft wasn't so quick to fix problems.

I still don't see it in my package manager, how long it takes to be available? I did run pacman -Syu

mysteryx93 avatar Jan 31 '22 18:01 mysteryx93

pacman not see the aur repository. you need download the PKGBUILD by hand and build yourself with makepkg or use a helper like yay or something

greetings

sl1pkn07 avatar Jan 31 '22 18:01 sl1pkn07

ah but my "Add/Remove Software" supports it. Found the "Update" button. Working!

I hope all those VS AUR packages won't cause package conflicts... I was warned against using the AUR

mysteryx93 avatar Jan 31 '22 18:01 mysteryx93

The AUR build doesn't seem to work

AttributeError: No attribute with the name akarin exists. Did you mistype a plugin namespace?

It's not getting loaded like the other plugins.

mysteryx93 avatar Jan 31 '22 22:01 mysteryx93

OK that's strange. Simple script.

clip = core.akarin.Expr(clip, "x")

AttributeError: No attribute with the name akarin exists. Did you mistype a plugin namespace?

I do have /usr/lib/vapoursynth/libakarin.so that takes 44.9MB, alongside all the other plugins that do get loaded. Something wrong with that one?

I rebooted just to be sure, problem persists. That means corrupt library? Missing dependency, perhaps?

I asked about this on Discord; they could reproduce the problem but nobody has any idea what causes it. Since the lib file is there.

Does it have a runtime dependency on an older version of LLVM or it's only for compilation?

mysteryx93 avatar Feb 01 '22 18:02 mysteryx93

aahhh I'd bet that the problem with vsakarin is that it uses LLVM to compile expressions on-the-fly, but needs an older version. That means that I need 2 versions of LLVM installed on my system side-by-side? How do I do that on arch-based linux?

mysteryx93 avatar Feb 01 '22 20:02 mysteryx93

that expression is compiled by library or program? with library maybe with LD_LIBRARY_PATH=>path of the llvm libraries<. if use a executable, IDK

sl1pkn07 avatar Feb 01 '22 21:02 sl1pkn07

Probably we need llvmlibs-11 library. But simply installing that dependency still doesn't work.

@sl1pkn07 and add that path where? I'm trying to build with meson build and it's not finding llvm11-lib.

mysteryx93 avatar Feb 01 '22 22:02 mysteryx93

Actually the problem may be that it was built with dynamic link to LLVM instead of being statically linked.

mysteryx93 avatar Feb 02 '22 02:02 mysteryx93

I used downgrade on llvm; llvm-libs does need to be downgraded too. Once manually compiled, then it works. It still works after re-updating llvm and llvm-libs, so it will need to be tested on another computer that didn't have that manual intervention.

mysteryx93 avatar Feb 02 '22 04:02 mysteryx93

I have pushed a commit to support LLVM 13, so building on Linux might be easier as you don't need to install an older version of LLVM.

AkarinVS avatar Feb 03 '22 15:02 AkarinVS

@mysteryx93 try now with the updated pkgbuild

sl1pkn07 avatar Feb 03 '22 15:02 sl1pkn07

@sl1pkn07 For what it's worth I'm getting this when vapoursynth-editor tries to load:

$ vsedit
: CommandLine Error: Option 'reuse-storage-in-coroutine-frame' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

Uninstalling vapoursynth-plugin-vsakarin-git fixes it.

quietvoid avatar Feb 07 '22 16:02 quietvoid

Screenshot_20220207_182954

works for me. tested in vsedit fails on my side due problems with nvidia/wayland/KDE/GBM backend

seems you the plugin installed twice, presumably une installed by hand and other by the package manager (you done uninstalled the package one)

sl1pkn07 avatar Feb 07 '22 17:02 sl1pkn07

seems you the plugin installed twice, presumably une installed by hand and other by the package manager (you done uninstalled the package one)

I've never installed this before the AUR package used LLVM 13. Your python script test also works fine.

But trying to start vsedit:

#0  0x00007ffff66d7d22 in raise () at /usr/lib/libc.so.6
#1  0x00007ffff66c1862 in abort () at /usr/lib/libc.so.6
#2  0x00007fffeb3a90d4 in llvm::report_fatal_error(llvm::Twine const&, bool) () at /usr/lib/libLLVM-13.so
#3  0x00007fffeb3a9268 in  () at /usr/lib/libLLVM-13.so
#4  0x00007fffeb388a91 in  () at /usr/lib/libLLVM-13.so
#5  0x00007fffeb388e05 in llvm::cl::Option::addArgument() () at /usr/lib/libLLVM-13.so
#6  0x00007fff257e14d2 in llvm::yaml::IO::setAllowUnknownKeys(bool) () at /usr/lib/vapoursynth/libakarin.so

quietvoid avatar Feb 07 '22 17:02 quietvoid

then is problem of vsedit. try to build the plugin editing the PKGBUILD and add the line options=('debug'), build the plugin and install the two packages generated (one with prefix debug in the name). and ty again gdb. and report the resoult to the vsedit issue tracker

also., as note, this plugin not provide officially any package for AUR, is a mine thing, so any package problem, except plugin problem iself, please report to the AUR package comments

greetings

sl1pkn07 avatar Feb 07 '22 17:02 sl1pkn07

I don't think this is a packaging issue nor a vsedit problem, hence why I'm posting here. Here's a better backtrace: vsedit-run.txt

quietvoid avatar Feb 07 '22 18:02 quietvoid

Screenshot_20220207_201826

sl1pkn07 avatar Feb 07 '22 19:02 sl1pkn07

I don't know what else to say, it doesn't work for me.

quietvoid avatar Feb 07 '22 21:02 quietvoid

I have seen errors like this in the past, perhaps you have two preloaded plugins that both use LLVM (perhaps one is statically linked with LLVM, and another one is dynamically linked with LLVM) (LLVM registers some global states when the DSO is loaded and the two copies of LLVM libraries will both be trying to register the same thing and hence trigger an assertion)

AkarinVS avatar Feb 08 '22 10:02 AkarinVS

I've tried removing all plugins except for libakarin and it still errors. It does look like the build always statically links LLVM, and this should probably be optional.

If I switch the LLVM dependency to disable static, then everything works.

quietvoid avatar Feb 08 '22 13:02 quietvoid