transitive-bullshit / ffmpeg-gl-transition

FFmpeg filter for applying GLSL transitions between video streams.
650 stars 126 forks source link

C compiler test failed #9

Closed anuj9196 closed 6 years ago

anuj9196 commented 6 years ago

I have installed FFmpeg in Ubuntu system by building from source and the version installed is

ffmpeg version 3.2.2-2~16.04.york0 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.4.1 (Ubuntu 5.4.1-4ubuntu1~16.04.york1) 20161202

I tried installing this library from the beginning as given in the instruction by cloning FFmpeg from git and all.

While running

./configure --enable-libx264 --enable-gpl --enable-opengl \
            --enable-filter=gltransition --extra-libs='-lGLEW -lglfw'

I'm getting the error as C compiler test failed

gcc is unable to create an executable file.
If gcc is a cross-compiler, use the --enable-cross-compile option.
Only do this if you know what cross compiling means.
C compiler test failed.

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

How to solve this problem?

transitive-bullshit commented 6 years ago

Try building the base ffmpeg clone without adding ffmpeg-gl-transition.

This is likely unrelated to this project, and is caused by a problem in your environment's setup or dependencies.

See this guide for more details.

anuj9196 commented 6 years ago

Since I have already built the ffmpeg from source. Do I need to build it again? Will not it work with previously built version?

Do I need to extract the library package inside of ffmpeg directory?

I have a ffmpeg directory on my home path where I think ffmpeg is compiled. And I have extracted this library at home directory only.

I tried

me:~$ ln -s ~/ffmpeg-gl-transition/vf_gltransition.c ffmpeg/libavfilter/
ln: failed to create symbolic link 'ffmpeg/libavfilter/vf_gltransition.c': File exists
me:~$ git apply ~/ffmpeg-gl-transition/ffmpeg.diff
error: libavfilter/Makefile: No such file or directory
error: libavfilter/allfilters.c: No such file or directory

from home directory

transitive-bullshit commented 6 years ago

You need to build from source with the ffmpeg-gl-transition additions applied, so yes you'll need to build again.

The snippet you pasted shows errors for both of those commands. I would advise that you start from scratch and follow the directions explicitly. You should be cloning ffmpeg source, applying the ffmpeg-gl-transition patch, then running configure and make on the modified source. It looks like you're trying to apply the diff to the compiled version which will not work.

gjmulder commented 4 years ago

While running

./configure --enable-libx264 --enable-gpl --enable-opengl \
            --enable-filter=gltransition --extra-libs='-lGLEW -lglfw'

I'm getting the error as C compiler test failed

gcc is unable to create an executable file.
If gcc is a cross-compiler, use the --enable-cross-compile option.
Only do this if you know what cross compiling means.
C compiler test failed.

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

How to solve this problem?

It is the extra libs that is causing the compiler to throw an error saying it can't find them:

I solved it by:

sudo apt install libglfw3-dev libglew-dev