Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux Build Errors and failure #18

Open
GMAzrael opened this issue Apr 19, 2022 · 14 comments
Open

Linux Build Errors and failure #18

GMAzrael opened this issue Apr 19, 2022 · 14 comments

Comments

@GMAzrael
Copy link

Latest build from Master produces these errors:

https://gist.github.com/GMAzrael/115fd9d06a56a18ff4827975b0bb183e

if you ignore them and install, running vspipe gets you this:

vspipe: symbol lookup error: /usr/local/lib/vapoursynth/libvslsmashsource.so: undefined symbol: avformat_index_get_entries_count

@Asd-g
Copy link
Contributor

Asd-g commented Apr 28, 2022

Did you used ffmpeg 5?

No issue here with VS R52/ffmpeg 5/Ubuntu 18.04.

@joakimlemb
Copy link

joakimlemb commented May 5, 2022

I have the same error on Debian 11, using the ffmpeg version that comes with apt which is:
ffmpeg version 4.3.4-0+deb11u1 Copyright (c) 2000-2021 the FFmpeg developers

Is ffmpeg 5.0 a requirement?

Edit: I rolled back to d49057b which works fine with the ffmpeg version included in Debian 11.

@Asd-g
Copy link
Contributor

Asd-g commented May 6, 2022

From 6810b76 the ffmpeg version must be >=5. You have to build/install it manually (ffmpeg) if the official distributed version is lower.

@joakimlemb
Copy link

Thanks for confirming the requirement, I'll stay on the older commit until I need a feature exclusive to ffmpeg 5.x.

@msg7086
Copy link
Member

msg7086 commented Aug 20, 2023

You can try on linux-build-bullseye branch if you haven't found a workaround on Debian 11.

Also I got a Debian package hosted here https://github.com/yuuki-deb/yuuki-deb.github.io/tree/master/pool/main/l/lsmashsource .

@sl1pkn07
Copy link
Contributor

sl1pkn07 commented Nov 5, 2023

Hi, is not same error, but this with ffmpeg6

FAILED: liblsmashsource.so.p/.._common_lwlibav_video.c.o 
cc -Iliblsmashsource.so.p -I. -I../lsmashsource/AviSynth -I/usr/include/avisynth -fvisibility=hidden -flto=auto -fdiagnostics-color=always -DNDEBUG -Wall -Winvalid-pch -std=c99 -O3 -Wno-sign-compare -DXXH_INLINE_ALL -D_FILE_OFFSET_BITS=64 -mfpmath=sse -msse2 -march=native -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/tmp/makepkg/avisynth-plugin-lsmashsource-git/src=/usr/src/debug/avisynth-plugin-lsmashsource-git -fPIC -MD -MQ liblsmashsource.so.p/.._common_lwlibav_video.c.o -MF liblsmashsource.so.p/.._common_lwlibav_video.c.o.d -o liblsmashsource.so.p/.._common_lwlibav_video.c.o -c ../lsmashsource/common/lwlibav_video.c
../lsmashsource/common/lwlibav_video.c: En la función ‘lwlibav_video_setup_timestamp_info’:
../lsmashsource/common/lwlibav_video.c:358:55: error: ‘AVCodecParameters’ no tiene un miembro llamado ‘framerate’
  358 |             *framerate_num = (int64_t)stream->codecpar->framerate.num;
      |                                                       ^~
../lsmashsource/common/lwlibav_video.c:359:55: error: ‘AVCodecParameters’ no tiene un miembro llamado ‘framerate’
  359 |             *framerate_den = (int64_t)stream->codecpar->framerate.den;
      |                                                       ^~
[7/21] Compiling C object liblsmashsource.so.p/.._common_resample.c.o

greetings

@Asd-g
Copy link
Contributor

Asd-g commented Nov 5, 2023

The workflow is ok with Ubuntu 22.04.

@sl1pkn07
Copy link
Contributor

sl1pkn07 commented Nov 5, 2023

a custom ffmpg? why?

@Asd-g
Copy link
Contributor

Asd-g commented Nov 5, 2023

Otherwise VC1 decoding will be broken.
MPEG2 GetParity will be wrong.
I don't have hardware to check if CUVID issues are fixed without the patch.
I didn't test if H264 PAFF will be ok without the patch (I don't have samples atm).

Anyway using the vanilla FFmpeg should be ok for building the plugin.

@sl1pkn07
Copy link
Contributor

sl1pkn07 commented Nov 5, 2023

Anyway using the vanilla FFmpeg should be ok for building the plugin.

i have use vanilla ffmpeg (from package of my distro. arch)

@sl1pkn07
Copy link
Contributor

sl1pkn07 commented Nov 5, 2023

builded with you custom ffmpeg as static works, so, can't build it with vanilla ffmpeg

greetings

@Asd-g
Copy link
Contributor

Asd-g commented Nov 5, 2023

Revert this commit for FFmpeg 6.0.

framerate member is added after FFmpeg 6.0.

@sl1pkn07
Copy link
Contributor

sl1pkn07 commented Nov 5, 2023

then i ok with it. when release an update then i remove it

any paln to upstream the ffmpeg fixes?

greetings

@Asd-g
Copy link
Contributor

Asd-g commented Nov 5, 2023

If you mean creating PRs for those patches - I don't have such plan.

protvis74 added a commit to protvis74/hybrid-vapoursynth-addon that referenced this issue Dec 22, 2023
Modifying the meson.build is not longer necessary. The pkg-config info (liblsmash.pc) was missing for the liblsmash library. So the build info for meson was not correct.
The Run-time dependencies could not be found. You could copy the needed files manually to the right location but a "make install-lib" is much easier.
If pkg-config is correct it should look like this:

Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency vapoursynth found: YES 66
Run-time dependency liblsmash found: YES 2.16.1 rev.1
Run-time dependency libavcodec found: YES 60.3.100
Run-time dependency libavformat found: YES 60.3.100
Run-time dependency libavutil found: YES 58.2.100
Run-time dependency libswscale found: YES 7.1.100
 Build targets in project: 2
NOTICE: Future-deprecated features used:
 * 0.56.0: {'Dependency.get_pkgconfig_variable'}

L-SMASH-Works undefined

  User defined options
    prefix: /home/user/opt/vapoursynth

Found ninja-1.10.1 at /usr/bin/ninja
ninja: Entering directory `build'
[17/17] Linking target libvslsmashsource.so

Compiling is now working without issues.

Note: With FFmpeg 6.0 patching of lwlibav_video.c is needed because framerate member isn't available there. It's added later.

HomeOfAviSynthPlusEvolution/L-SMASH-Works#18 (comment)

It works "out of the box" without modification with FFmpeg 6.1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants