Selur's Little Message Board

Full Version: Fedora Vapoursynth undefined symbol
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
From my work yesterday I've found that many (examples below) projects used as dependencies just to compile need to be patched to fix albiet minor but definitely compilation breaking issues.While I have been able to apply said patches dynamically using regex, enough of the decencies have needed it that its becoming quite unwieldy and in the long term I feel like compiling against known to compile versions of those projects would be significantly more reliable rather than whatevers latest. 

Needs patching (So far I've discovered, and some may only apply when compiling on a machine running fedora):
xvid
x265
sox
and likely more I haven't gotten to yet
I switched to KDE Neon which is ubuntu and thus debian based. The actual official ubuntu vapoursynth install scripts work here without a hitch, but when opening the VS preview, I see this error. So far I've tried manually adding the vapoursynth library location to the vsedit library search setting thing, but I had no luck. 

Code:
VapourSynth plugins manager: Failed to load vapoursynth library!
Please set up the library search paths in settings.
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to evaluate the script.

[attachment=3320]

I ran build vapoursynth again and now the error is:

Code:
No entry point found in /home/superboo07/opt/vapoursynth/vsplugins/libassrender.so
No entry point found in /home/superboo07/opt/vapoursynth/vsplugins/libassrender.so
Failed to load /home/superboo07/opt/vapoursynth/vsplugins/libimwri.so. Error given: /lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined symbol: g_dir_unref
Failed to load /home/superboo07/opt/vapoursynth/vsplugins/libimwri.so. Error given: /lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined symbol: g_dir_unref

weird

oh I figured out how to fix this, I launched hybrid with the below command.
Code:
LD_PRELOAD=/lib/x86_64-linux-gnu/libglib-2.0.so.0 hybrid
Then I got the below error:
Code:
Traceback (most recent call last):
File "src/cython/vapoursynth.pyx", line 3378, in vapoursynth._vpy_evaluate
File "src/cython/vapoursynth.pyx", line 3379, in vapoursynth._vpy_evaluate
File "/tmp/tempPreviewVapoursynthFile17_43_15_063.vpy", line 11, in
core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so")
File "src/cython/vapoursynth.pyx", line 3114, in vapoursynth.Function.__call__
vapoursynth.Error: Plugin /home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so already loaded (systems.innocent.lsmas) from /home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so
which I was able to fix by removing the line "core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so")" but I have to do this every time I open the preview and I don't know if exporting will work
build-plugins doesn't put akarin where it searches for akarin. it searched for akarin in /opt/vapoursynth/vsplugins/Support/libakarin.so, but its placed in /opt/vapoursynth/vsplugins/libakarin.so

if I fix all of these issues and try to switch it to the preview window, the vapoursynth editor crashes while hybrid stays open

heres my full debug output when I try to export videos
  • The https://github.com/Selur/hybrid-vapoursynth-addon scripts are meant to be used if you install Vapoursynth and the plugins through them. First building vapoursynth, then the plugins. If you install either from different sources do not use these scripts.
  • Quote:Failed to initialize VapourSynth environment!
    if you get this when using build-vapoursynth.sh, you forgot step 4 of https://github.com/Selur/hybrid-vapoursy.../README.md
  • Quote:vapoursynth.Error: Plugin /home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so already loaded (systems.innocent.lsmas) from /home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so
    this should only happen if there is another source for plugins loaded somewhere,...
    Okay, looking at the debug output:
    Code:
    # Imports
    import vapoursynth as vs
    # getting Vapoursynth core
    import sys
    import os
    core = vs.core
    # Import scripts folder
    scriptPath = '/home/superboo07/Applications/hybrid/vsscripts'
    sys.path.insert(0, os.path.abspath(scriptPath))
    # loading plugins
    core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/Support/libakarin.so")
    core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/libaddgrain.so")
    core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so")
    # Import scripts
    import addGrain
    import validate
    # Source: '/home/superboo07/Videos/Screencasts/Screencast_20251007_165931.webm'
    # Current color space: YUV420P8, bit depth: 8, resolution: 470x164, frame rate: 59fps, scanorder: progressive, yuv luminance scale: limited, matrix: 470bg, format: vp9
    # Loading /home/superboo07/Videos/Screencasts/Screencast_20251007_165931.webm using LWLibavSource
    clip = core.lsmas.LWLibavSource(source="/home/superboo07/Videos/Screencasts/Screencast_20251007_165931.webm", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0)
    frame = clip.get_frame(0)
    # setting color matrix to 470bg.
    clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG)
    # setting color transfer (vs.TRANSFER_BT601), if it is not set.
    if validate.transferIsInvalid(clip):
      clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601)
    # setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set.
    if validate.primariesIsInvalid(clip):
      clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG)
    # setting color range to TV (limited) range.
    clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
    # making sure frame rate is set to 59fps
    clip = core.std.AssumeFPS(clip=clip, fpsnum=59, fpsden=1)
    # making sure the detected scan type is set (detected: progressive)
    clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
    # adding grain using GrainFactory3
    clip = addGrain.GrainFactory3(clp=clip)
    # set output frame rate to 59fps (progressive)
    clip = core.std.AssumeFPS(clip=clip, fpsnum=59, fpsden=1)
    # output
    clip.set_output()
    is wrong,
    Code:
    # loading plugins
    core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/Support/libakarin.so")
    core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/libaddgrain.so")
    core.std.LoadPlugin(path="/home/superboo07/opt/vapoursynth/vsplugins/libvslsmashsource.so")
    should not include by default.
    These lines should only appear one enables 'vsLoadLibrariesOnNonWindows' in a misc.ini, which Hybrid does not by default.
Cu Selur
Yep, I installed vapoursynth through the scripts. I also already did step 4,

[attachment=3323]
[attachment=3324]

I apologize about the config issue, I had used the one I used on my fedora install since my vapoursynth path remained the same. Having fixed that everything appears to work now. Thank you!
Happy that worked out. Smile
Pages: 1 2