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

Compile Error With Debian Stretch #37

Open
MotionDesignStudio opened this issue Apr 5, 2019 · 1 comment
Open

Compile Error With Debian Stretch #37

MotionDesignStudio opened this issue Apr 5, 2019 · 1 comment

Comments

@MotionDesignStudio
Copy link

My configure string :

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure
--prefix="$HOME/ffmpeg_build"
--pkg-config-flags="--static"
--extra-cflags="-I$HOME/ffmpeg_build/include"
--extra-ldflags="-L$HOME/ffmpeg_build/lib"
--extra-libs="-lpthread -lm"
--bindir="$HOME/bin"
--enable-gpl
--enable-libass
--enable-libfdk-aac
--enable-libfreetype
--enable-libmp3lame
--enable-libopus
--enable-libvorbis
--enable-libvpx
--enable-libx264
--enable-libx265
--enable-filter=gltransition
--enable-libtheora
--disable-x86asm
--enable-libxvid
--enable-opengl
--enable-cross-compile
--enable-nonfree &&
PATH="$HOME/bin:$PATH" make clean && make

============================

My error starts with.

libavfilter/libavfilter.a(vf_gltransition.o): In function apply_transition': /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:368: undefined reference to eglMakeCurrent'
/home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:373: undefined reference to __glewUseProgram' /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:378: undefined reference to __glewUniform1f'
/home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:382: undefined reference to __glewActiveTexture' /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:387: undefined reference to __glewActiveTexture'
libavfilter/libavfilter.a(vf_gltransition.o): In function setup_gl': /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:294: undefined reference to eglGetDisplay'
/home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:296: undefined reference to eglInitialize' /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:307: undefined reference to eglChooseConfig'
/home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:309: undefined reference to eglCreatePbufferSurface' /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:312: undefined reference to eglBindAPI'
/home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:314: undefined reference to eglCreateContext' /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:315: undefined reference to eglMakeCurrent'
/home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:330: undefined reference to glewExperimental' /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:331: undefined reference to glewInit'
libavfilter/libavfilter.a(vf_gltransition.o): In function build_shader': /home/lex/share/ff2/ffmpeg/libavfilter/vf_gltransition.c:142: undefined reference to __glewCreateShader'
...

Packages I Installed :

apt-get update -qq && apt-get -y install
autoconf
automake
build-essential
cmake
git-core
libass-dev
libfreetype6-dev
libsdl2-dev
libtool
libva-dev
libvdpau-dev
libvorbis-dev
libxcb1-dev
libxcb-shm0-dev
libxcb-xfixes0-dev
pkg-config
texinfo
wget
zlib1g-dev
libx264-dev
libx265-dev
libnuma-dev
libvpx-dev
libfdk-aac-dev
libmp3lame-dev
libopus-dev
libglew-dev
libao-dev
libgcrypt11-dev
libfaad-dev
libmad0-dev\
make
pkg-config
libtheora-dev
libxvidcore-dev
libglfw3-dev
nasm

@MotionDesignStudio
Copy link
Author

MotionDesignStudio commented Apr 8, 2019

[ SOLVED SOLUTION ]

Edit this file "vf_gltransition.c" before you move it to ffmpeg/libavfilter/ directory and remove this line.

define GL_TRANSITION_USING_EGL // remove this line if you don't want to use EGL

Build ffmpeg with this command. It will create a static binary with two link libraries libfdk-aac1 and libglfw3. YOu will need to install both of those if you want to use the stand alone ffmpeg binary. This binary is located in the source directory of ffmpeg.

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ --prefix="$HOME/ffmpeg_build" \ --pkg-config-flags="--static" \ --extra-cflags="-I$HOME/ffmpeg_build/include" \ --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --extra-libs="-lpthread -lm" \ --bindir="$HOME/bin" \ --enable-gpl \ --enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --disable-shared \ --enable-static \ --enable-runtime-cpudetect \ --enable-filter=gltransition \ --enable-opengl \ --extra-libs='-lGLEW -lglfw' \ --enable-nonfree && \ PATH="$HOME/bin:$PATH" make
If you run "make install". This --prefix="$HOME/ffmpeg_build" will install it to your home directory. Change this if you want it to install to a different location.

My environment is.

$ uname -a

Linux trabajar3 4.19.0-4-amd64 #1 SMP Debian 4.19.28-2 (2019-03-15) x86_64 GNU/Linux

Best of luck four days of my life gone.

Thanks

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

1 participant