Closed cnekmp closed 4 days ago
This just means you have to recompile the package. https://wiki.archlinux.org/title/Arch_User_Repository#Updating_packages
Ok, I've tried to compile it via AUR simplescreenrecorder-git
so I get an error also:
[ 11%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/ALSAInput.cpp.o
[ 12%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/GLInjectInput.cpp.o
[ 13%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/JACKInput.cpp.o
[ 14%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/PulseAudioInput.cpp.o
[ 15%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/SSRVideoStreamReader.cpp.o
[ 17%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/SSRVideoStreamWatcher.cpp.o
[ 18%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/V4L2Input.cpp.o
[ 19%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Input/X11Input.cpp.o
[ 20%] Building CXX object src/CMakeFiles/simplescreenrecorder.dir/AV/Output/AudioEncoder.cpp.o
/home/farid/.cache/paru/clone/simplescreenrecorder-git/src/ssr/src/AV/Output/AudioEncoder.cpp: In member function ‘unsigned int AudioEncoder::GetChannels()’:
/home/farid/.cache/paru/clone/simplescreenrecorder-git/src/ssr/src/AV/Output/AudioEncoder.cpp:72:35: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channels’
72 | return GetCodecContext()->channels;
| ^~~~~~~~
/home/farid/.cache/paru/clone/simplescreenrecorder-git/src/ssr/src/AV/Output/AudioEncoder.cpp: In static member function ‘static void AudioEncoder::PrepareStream(AVStream*, AVCodecContext*, AVCodec*, AVDictionary**, const std::vector<std::pair<QString, QString> >&, unsigned int, unsigned int, unsigned int)’:
/home/farid/.cache/paru/clone/simplescreenrecorder-git/src/ssr/src/AV/Output/AudioEncoder.cpp:110:24: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channels’
110 | codec_context->channels = channels;
| ^~~~~~~~
/home/farid/.cache/paru/clone/simplescreenrecorder-git/src/ssr/src/AV/Output/AudioEncoder.cpp:111:24: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
111 | codec_context->channel_layout = (channels == 1)? AV_CH_LAYOUT_MONO : AV_CH_LAYOUT_STEREO;
| ^~~~~~~~~~~~~~
| ch_layout
make[2]: *** [src/CMakeFiles/simplescreenrecorder.dir/build.make:215: src/CMakeFiles/simplescreenrecorder.dir/AV/Output/AudioEncoder.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:163: src/CMakeFiles/simplescreenrecorder.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'simplescreenrecorder-git-0.4.2.r11.g7f26bc7-1':
error: packages failed to build: simplescreenrecorder-git-0.4.2.r11.g7f26bc7-1
This just means you have to recompile the package. https://wiki.archlinux.org/title/Arch_User_Repository#Updating_packages
Unable to build simplescreenrecorder - makepkg exited with code: 4 error code 4: Error in user-supplied function in PKGBUILD.
simplescreenrecorder-bin compiled successfully but it still won't run with the same libav error.
current simplescreenrecorder(-git) PKGBUILDS can not be built on Arch. Can you have a look at it? Here is the complete build on pastebin - chroot https://pastebin.com/iLJcWybX
And here is the pastebin when you makepkg the app
Just tell us what you need more
Error message: simplescreenrecorder: error while loading shared libraries: libavformat.so.60: cannot open shared object file: No such file or directory
The missing library thing just means you need to rebuild ( https://wiki.archlinux.org/title/Arch_User_Repository#Updating_packages ).
If you have problems building with ffmpeg 7, have you tried the patch from https://github.com/MaartenBaert/ssr/pull/1031 ?,
It's not just one missing library, it's a library hell that is missing. There are at least 5 missing libraries but I got stuck at the 5th - I can't find its package anywhere. And IDK how to apply that patch from 1031, so that leaves me with a lot of work to search and recover every single missing library. It's easier to simply use another program.
So far I downloaded these packages dav1d-1.2.0-1 libvpx-1.13.0-2 ffmpeg-2_6.0-9 libjxl-0.8.2-2 rav1e-0.5.1-2 and everything from their /ursr/lib I put in my /usr/lib. But I got stuck at finding libSvtAv1Enc.so.1.
Not worth the trouble, the developer of SSR hasn't been active on GitHub for 3 months (if I read his activity data correctly) and KDE's Spectacle is said to be able to record the screen.
vokoscreen works fine and it is in the repositories
The missing library thing just means you need to rebuild ( https://wiki.archlinux.org/title/Arch_User_Repository#Updating_packages ).
If you have problems building with ffmpeg 7, have you tried the patch from #1031 ?,
Thanks, it compiled properly now with the patched files. @MaartenBaert if you are alive can you merge this fix #1031 ?
it is fixed
see https://github.com/MaartenBaert/ssr/pull/1036#issuecomment-2191018808 proof of fix https://youtu.be/KWe2-yFEUeM video created with SSR
it is fixed
see #1036 (comment) proof of fix https://youtu.be/KWe2-yFEUeM video created with SSR
I can confirm that the provided solution works. Should I close this issue or wait for global fix?
I can see a new version (0.4.4-3) on AUR with the fix now, so this could indeed be closed I think.
Closing. Thanks a lot to everyone.
While the AUR package has a patch, the problem still exists in the software. The issue isn't fixed, but I suppose the pull request is sufficient.
After Archlinux upgrade of package ffmpeg, SSR fails to start due to several libraries are missing: