Selur's Little Message Board
Vapoursynth on LMDE - Printable Version

+- Selur's Little Message Board (https://forum.selur.net)
+-- Forum: Hybrid - Support (https://forum.selur.net/forum-1.html)
+--- Forum: Problems & Questions (https://forum.selur.net/forum-3.html)
+--- Thread: Vapoursynth on LMDE (/thread-2864.html)

Pages: 1 2


Vapoursynth on LMDE - soulcages - 27.08.2022

Hi,
I've recently installed Linux Mint Debian Edition 5 on my laptop and am trying to install Hybrid. I have followed the instructions from here: https://github.com/Selur/hybrid-vapoursynth-addon
I used absolute paths as recommended in step 4. Step 5 running the vspipe --version command, I receive the error: Failed to initialize VSScript
Step 6 - Rebooted my system, ran the same command and again get Failed to initialize VSScript
Step 7 - ran build-plugins.sh after making it executable and I get the error: Adding PPAs is not supported
I know that PPAs are not enabled/support in LMDE. Does this mean I cannot run Hybrid with Vapoursynth support or is there another solution ?
Thanks.Please, read the 'Infos needed to fix&reproduce bugs,..'-sticky before you post about a problem.


RE: Vapoursynth on LMDE - Selur - 27.08.2022

No, the scripts over at hybrid-vapoursynth-addon are meant to help but you could still:
  • install Vapoursynth (I would recommend R60RC1 atm., but R58+ are fine)
  • compile vsViewer (and throw it into your /usr/local/bin folder or a another folder in your search path)
  • compile the plugins on your os
  • download the scripts
  • tell Hybrid where to find Vapoursysnth and the plugins
Hybrid will work fine.

So just because the scripts do not run on your os does not hinder you to use Vapoursynth.
I have no experience with "Linux Mint Debian Edition 5", but vsrepo (https://github.com/vapoursynth/vsrepo) should allow to get most of the plugins.

Cu Selur


RE: Vapoursynth on LMDE - soulcages - 27.08.2022

Thanks for the fast reply and the suggestions. They sound a bit above my knowledge - I'm still a Linux noob. Would I have to do all of those things (once I work out how) or only some of them ?


RE: Vapoursynth on LMDE - Selur - 27.08.2022

You would need to do all of them. Tongue
You probably can install Vapoursynth through pip, then checkout vsrepo and install the plugins through it and then download the scripts.
Main hurdle will probably be compiling vsViewer.

Cu Selur

Ps.: Correction, a precompiled vsViewer version already comes with the Linux package,...


RE: Vapoursynth on LMDE - Selur - 27.08.2022

Maybe I find some time later today to instll LMDE 5 in a VM, test it and write down the necessary steps.
Will report back.

Cu Selur


RE: Vapoursynth on LMDE - soulcages - 27.08.2022

If you can and have the time that would be good. Thanks.


RE: Vapoursynth on LMDE - Selur - 27.08.2022

Okay, this will take a bit since it really seems to be difficult to install Vapoursynth in LMDE 5.  Undecided
What I did so far:
I installed LMDE5 in a VirtualBox VM and then did the following to install Hybrid:
  • I opened a terminal
  • made sure the system was up-to-date using:
    sudo apt update && sudo apt upgrade -y && sudo apt autoremove && sudo apt -y autoclean && sudo -y autopurge
  • went to https://www.selur.de/downloads and copied the downloadlink to 'Hybrid Linux64bit (with base tools and most dependencies)'
  • downloaded the file into my home folder:
    wget https://www.selur.de/sites/default/files/hybrid_downloads/Hybrid_20220320_Linux.7z
    (this download is just for the current version)
  • I extracted the download into my home folder:
    7z x Hybrid_20220320_Linux.7z
  • tried to start Hybrid from the command line using:
    ~/hybrid/Hybrid
    but noticed that DivX265 and neroAacEnc didn't work. (both use 32bit libraries that don't work on LMDE5 afaik)
  • so created a misc.ini in that folder using:
    nano ~/.hybrid/misc.ini
    with the follwing content:
    [General]
    ignoreTools=DivX265;neroAacEnc
  • starting Hybrid now with:
    ~/hybrid/Hybrid
    it reported that tsMuxeR didn't work.
    calling:
    ~/hybrid/tsMuxeR
    it reported:
    lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found
    downloading the latest tsMuxeR from https://github.com/justdan96/tsMuxer/actions/runs/2852491399
    and extracting the tsMuxeR file into the ~/hybrid folder and calling 'chmod +x ~/hybrid/tsMuxeR' solved that.
    now I Hybrid successfully started without any issues. Smile
  • removing the download by calling:
    rm Hybrid_20220320_Linux.7z

Since Hybrid itself was working I added Vapoursynth support by:
  • checking the installed python3 version using:
    python3 --version
    since this showed that Python 3.9.2 was installed, by Vapoursynth R59 only support Python 3.8 and Python 3.10 I installed Python 3.10 by:
    • installing all needed dependencies for building Python 3.10 using:
      sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
    • downloading latest Pythong 3.10.6:
      wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
    • extracting the download using:
      tar -xf Python-3.10.6.tgz
    • changing into the Python folder:
      cd Python-3.10.6
    • configuring Python for compilation
      ./configure --enable-optimizations
    • compiling Python using:
      make -j 16
      (replace 16 with the number or physical cpu cores your system has)
    • installing python 3.10
      sudo make install
    • making sure calling python3 will call the new 3.10 version.
    • checking that Python 3.10 was installed:
      python3 --version
    • making sure that python also points to python3 by installing 'python-is-python3'
      sudo apt-get install python-is-python3
      and caling:
      sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3 1
    • removing the download and the source code using:
      cd
      sudo rm -rf Python-3.10.6*
    • installing pip using:
      sudo apt install python3-pip
      sudo ln -s /usr/bin/pip /usr/local/bin/pip
Problem is when I now call:
[*]installing Vapoursynth R59:
sudo python -m pip install wheel
sudo python -m pip install Cython
sudo python -m pip install vapoursynth
[/list]
I end up with:
selur@lmde5:~$ sudo python -m pip install vapoursynth
Collecting vapoursynth
  Using cached VapourSynth-59.zip (561 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: vapoursynth
  Building wheel for vapoursynth (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [18 lines of output]
      running bdist_wheel
      running build
      running build_ext
      skipping 'src/cython/vapoursynth.c' Cython extension (up-to-date)
      building 'vapoursynth' extension
      creating build
      creating build/temp.linux-x86_64-cpython-310
      creating build/temp.linux-x86_64-cpython-310/src
      creating build/temp.linux-x86_64-cpython-310/src/cython
      gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DVS_GRAPH_API -I. -Isrc/cython -Isrc/vsscript -I/usr/local/include/python3.10 -c src/cython/vapoursynth.c -o build/temp.linux-x86_64-cpython-310/src/cython/vapoursynth.o
      src/cython/vapoursynth.c:61602:18: warning: ‘__pyx_f_11vapoursynth__vsscript_use_or_create_environment’ defined but not used [-Wunused-function]
      61602 | static PyObject *__pyx_f_11vapoursynth__vsscript_use_or_create_environment(int __pyx_v_id) {
            |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      creating build/lib.linux-x86_64-cpython-310
      gcc -pthread -shared build/temp.linux-x86_64-cpython-310/src/cython/vapoursynth.o -L. -Lbuild -lvapoursynth -o build/lib.linux-x86_64-cpython-310/vapoursynth.cpython-310-x86_64-linux-gnu.so
      /usr/bin/ld: cannot find -lvapoursynth
      collect2: error: ld returned 1 exit status
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for vapoursynth
  Running setup.py clean for vapoursynth
Failed to build vapoursynth
Installing collected packages: vapoursynth
  Running setup.py install for vapoursynth ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for vapoursynth did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      running install
      /usr/local/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_ext
      skipping 'src/cython/vapoursynth.c' Cython extension (up-to-date)
      building 'vapoursynth' extension
      creating build
      creating build/temp.linux-x86_64-cpython-310
      creating build/temp.linux-x86_64-cpython-310/src
      creating build/temp.linux-x86_64-cpython-310/src/cython
      gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DVS_GRAPH_API -I. -Isrc/cython -Isrc/vsscript -I/usr/local/include/python3.10 -c src/cython/vapoursynth.c -o build/temp.linux-x86_64-cpython-310/src/cython/vapoursynth.o
      src/cython/vapoursynth.c:61602:18: warning: ‘__pyx_f_11vapoursynth__vsscript_use_or_create_environment’ defined but not used [-Wunused-function]
      61602 | static PyObject *__pyx_f_11vapoursynth__vsscript_use_or_create_environment(int __pyx_v_id) {
            |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      creating build/lib.linux-x86_64-cpython-310
      gcc -pthread -shared build/temp.linux-x86_64-cpython-310/src/cython/vapoursynth.o -L. -Lbuild -lvapoursynth -o build/lib.linux-x86_64-cpython-310/vapoursynth.cpython-310-x86_64-linux-gnu.so
      /usr/bin/ld: cannot find -lvapoursynth
      collect2: error: ld returned 1 exit status
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> vapoursynth

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
and I'm not sure how to fix that atm.

Cu Selur


RE: Vapoursynth on LMDE - Selur - 27.08.2022

Made a issues entry over in the Vapoursynth bug tracker: https://github.com/vapoursynth/vapoursynth/issues/896, maybe the developers of Vapoursynth know how to fix this. Smile

Cu Selur


RE: Vapoursynth on LMDE - Selur - 27.08.2022

Okay, 'pip install vapoursynth' does not install Vapoursynth it only adds Vapoursynth to Python in general, but requires Vapoursynth to be build from source beforehand. :/
So one has to compile Vapoursynth by hand to use it since there is no Vapoursynth PPA available afaik. :/

Cu Selur


RE: Vapoursynth on LMDE - Selur - 27.08.2022

Argh, vsrepo also does only work for Windows.
So one still would have to compile all the Vapoursynth packages manually. :/

Sorry, but that basically means rewriting the build-plugins for LMDE, at least I don't have the time for that.

Here are the steps to:
a. install Hybrid
b. install Vapoursynth
Quote:Install Hybrid:
  • opened a terminal
  • make sure the system iss up-to-date using:
    sudo apt update && sudo apt upgrade -y && sudo apt autoremove && sudo apt -y autoclean && sudo -y autopurge
  • went to https://www.selur.de/downloads and copied the downloadlink to 'Hybrid Linux64bit (with base tools and most dependencies)'
  • downloaded the file into my home folder:
    wget https://www.selur.de/sites/default/files/hybrid_downloads/Hybrid_20220320_Linux.7z
    (this download is just for the current version)
  • I extracted the download into my home folder:
    7z x Hybrid_20220320_Linux.7z
  • create a folder for the configs
    mkdir ~.hybrid
  • created a misc.ini in that folder using:
    nano ~/.hybrid/misc.ini
    with the follwing content:
    [General]
    ignoreTools=DivX265;neroAacEnc
  • download the latest tsMuxeR from https://github.com/justdan96/tsMuxer/actions/runs/2852491399
    and extracting the tsMuxeR file into the ~/hybrid-folder and then call 'chmod +x ~/hybrid/tsMuxeR'.
    now I Hybrid should successfully start when using:
    ~/hybrid/Hybrid
  • remove the download by calling:
    rm Hybrid_20220320_Linux.7z

If Hybrid itself works, install Python 3.10 since LMDE 5 comes with Python 3.9.2, but Vapoursynth R59 only support Python 3.8 and Python 3.10:
  • install needed dependencies for building Python 3.10 using:
    sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
  • download latest Pythong 3.10.6:
    wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
  • extract the download using:
    tar -xf Python-3.10.6.tgz
  • change into the Python folder:
    cd Python-3.10.6
  • configure Python for compilation
    ./configure --enable-optimizations --enable-shared CFLAGS=-fPIC CXXFLAGS=-fPIC
    (maybe instead of 'CFLAGS=-fPIC CXXFLAGS=-fPIC' '--enable-pic' also works)
  • compile Python using:
    make -j 16
    (replace 16 with the number or physical cpu cores your system has)
  • install python 3.10
    sudo make install
  • making sure calling python3 will call the new 3.10 version.
    python3 --version
  • making sure that python also points to python3 by installing 'python-is-python3'
    sudo apt-get install python-is-python3
    and caling:
    sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3 1
  • removing the download and the source code using:
    cd
    sudo rm -rf Python-3.10.6*
  • extending LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    and add
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    to ~/.profile (nano ~/.profile)
    and
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    to ~.bashrc (nano ~/.bashrc)
  • installing pip using:
    sudo apt install python3-pip
    sudo ln -s /usr/bin/pip /usr/local/bin/pip

Now that you have Python 3.10 we need to compile and install Vapoursynth by:
  • downloading, building and installing zimg
    git clone https://github.com/sekrit-twc/zimg
    cd zimg
    git checkout $(git tag | sort -V | tail -1)
    autoreconf -if
    ./configure
    make -j 16
    sudo make install-strip
    cd ..
    rm -rf zimg
  • downloading, building and installing Vapoursynth:
    git clone https://github.com/vapoursynth/vapoursynth.git --depth=1
    cd vapoursynth
    ./autogen.sh
    ./configure --prefix=/usr/local/lib/python3.10/site-packages/
    make -j16
    sudo make install-strip
    if everything worked so far:
    vspipe --version
    should output:
    vspipe --version
    VapourSynth Video Processing Library
    Copyright (c) 2012-2022 Fredrik Mellbin
    Core R60
    API R4.0
    API R3.6
    Options: -
  • cleaning:
    rm -rf vapoursynth

=> Sorry, but until someone spends time on porting the hybrid-vapoursynth-addons or at least the build-plugins script to LMDE, one would have to compile all the scripts by hand.

Cu Selur