mltframework / mlt-scripts

scripts to help build open source MLT apps
https://www.mltframework.org
34 stars 30 forks source link

No package 'sdl2' found #21

Closed ck86 closed 6 years ago

ck86 commented 6 years ago

Tried to build the melt docker container but it fails due to missing sdl2 package.

Here are the last output lines:

checking for FFTW3... yes
checking for SDL2... no
configure: error: Package requirements (sdl2) were not met:

No package 'sdl2' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables SDL2_CFLAGS
and SDL2_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
ERROR: Unable to configure movit
LOG: Process has finished. Reason: FAILURE Some kind of error occured: Unable to configure movit
The command '/bin/sh -c bash /tmp/build-melt.sh -c /tmp/build-melt.conf' returned a non-zero code: 255
ck86 commented 6 years ago

Could "fix" it by installing libsdl2-dev, but now I am getting the following errors:

GPLv2 license used; GPLv3 components disabled
LOG: Done configuring mlt
LOG: About to run command: pushd .
/tmp/melt/mlt /tmp/melt/mlt /tmp/melt
LOG: About to run command: cd src/modules
LOG: MLTDISABLED <b>ndi</b> : this is an <b>optional</b> module that provides ... dunno ... . To enable it, try installing a package called something like ... dunno ....
LOG: MLTDISABLED <b>opencv</b> : this is an <b>optional</b> module that provides ... dunno ... . To enable it, try installing a package called something like ... dunno ....
LOG: MLTDISABLED <b>sdl</b> : this is a <b>required</b> module. Please install libsdl1.2-dev. Will abort compilation.
LOG: MLTDISABLED <b>swfdec</b> : this is an <b>optional</b> module that provides ... dunno ... . To enable it, try installing a package called something like ... dunno ....
ERROR: One or more required MLT modules could not be enabled
LOG: Process has finished. Reason: FAILURE Some kind of error occured: One or more required MLT modules could not be enabled
bmatherly commented 6 years ago

LOG: MLTDISABLED sdl : this is a required module. Please install libsdl1.2-dev

Install SDL

ck86 commented 6 years ago

Thank you @bmatherly. Now I am getting this:

LOG: About to run command: make -j5 RANLIB= libmovit.la
/bin/bash ./libtool --tag=CXX --mode=compile g++ -MMD -MP  -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2   -I/usr/include/eigen3        -o effect_util.lo -c effect_util.cpp
/bin/bash ./libtool --tag=CXX --mode=compile g++ -MMD -MP  -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2   -I/usr/include/eigen3        -o util.lo -c util.cpp
/bin/bash ./libtool --tag=CXX --mode=compile g++ -MMD -MP  -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2   -I/usr/include/eigen3        -o effect.lo -c effect.cpp
/bin/bash ./libtool --tag=CXX --mode=compile g++ -MMD -MP  -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2   -I/usr/include/eigen3        -o effect_chain.lo -c effect_chain.cpp
/bin/bash ./libtool --tag=CXX --mode=compile g++ -MMD -MP  -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2   -I/usr/include/eigen3        -o init.lo -c init.cpp
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c util.cpp  -fPIC -DPIC -o .libs/util.o
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c effect_util.cpp  -fPIC -DPIC -o .libs/effect_util.o
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c effect_chain.cpp  -fPIC -DPIC -o .libs/effect_chain.o
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c effect.cpp  -fPIC -DPIC -o .libs/effect.o
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c init.cpp  -fPIC -DPIC -o .libs/init.o
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c effect_util.cpp -o effect_util.o >/dev/null 2>&1
effect_chain.cpp: In member function 'void movit::EffectChain::render(GLuint, const std::vector<movit::EffectChain::DestinationTexture>&, unsigned int, unsigned int, unsigned int, unsigned int)':
effect_chain.cpp:2126:57: error: no matching function for call to 'std::list<unsigned int>::erase(std::_List_const_iterator<unsigned int>::_Self)'
      phase->timer_query_objects_running.erase(timer_it++);
                                                         ^
effect_chain.cpp:2126:57: note: candidates are:
In file included from /usr/include/c++/4.8/list:64:0,
                 from effect_chain.h:26,
                 from effect_chain.cpp:20:
/usr/include/c++/4.8/bits/list.tcc:108:5: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator) [with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<unsigned int>]
     list<_Tp, _Alloc>::
     ^
/usr/include/c++/4.8/bits/list.tcc:108:5: note:   no known conversion for argument 1 from 'std::_List_const_iterator<unsigned int>::_Self {aka std::_List_const_iterator<unsigned int>}' to 'std::list<unsigned int>::iterator {aka std::_List_iterator<unsigned int>}'
In file included from /usr/include/c++/4.8/list:63:0,
                 from effect_chain.h:26,
                 from effect_chain.cpp:20:
/usr/include/c++/4.8/bits/stl_list.h:1193:7: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::iterator) [with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<unsigned int>]
       erase(iterator __first, iterator __last)
       ^
/usr/include/c++/4.8/bits/stl_list.h:1193:7: note:   candidate expects 2 arguments, 1 provided
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c init.cpp -o init.o >/dev/null 2>&1
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c util.cpp -o util.o >/dev/null 2>&1
libtool: compile:  g++ -MMD -MP -Wall -std=c++11 -I../eigen -std=gnu++11 -fvisibility-inlines-hidden -I/usr/src/gtest/include -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/eigen3 -c effect.cpp -o effect.o >/dev/null 2>&1
make: *** [effect_chain.lo] Error 1
make: *** Waiting for unfinished jobs....
[ ! -r effect_util.d ] || sed 's/\.o:/\.lo:/' < effect_util.d > effect_util.ld
[ ! -r .libs/effect_util.d ] || sed 's/\.o:/\.lo:/' < .libs/effect_util.d > .libs/effect_util.ld
[ ! -r init.d ] || sed 's/\.o:/\.lo:/' < init.d > init.ld
[ ! -r .libs/init.d ] || sed 's/\.o:/\.lo:/' < .libs/init.d > .libs/init.ld
[ ! -r util.d ] || sed 's/\.o:/\.lo:/' < util.d > util.ld
[ ! -r .libs/util.d ] || sed 's/\.o:/\.lo:/' < .libs/util.d > .libs/util.ld
[ ! -r effect.d ] || sed 's/\.o:/\.lo:/' < effect.d > effect.ld
[ ! -r .libs/effect.d ] || sed 's/\.o:/\.lo:/' < .libs/effect.d > .libs/effect.ld
ERROR: Unable to build movit
LOG: Process has finished. Reason: FAILURE Some kind of error occured: Unable to build movit
The command '/bin/sh -c bash /tmp/build-melt.sh -c /tmp/build-melt.conf' returned a non-zero code: 255
ck86 commented 6 years ago

Any idea about this error? Should I provide more information?

ddennedy commented 6 years ago

Fun with C++ compiler errors! It looks like Movit is no longer compatible with the g++ 4.8 STL that this OS version includes. You can try FROM ubuntu:16.04 instead of 14:04.

If you have no plans to use OpenGL-based Movit with melt, then you can disable it by adding RUN echo "ENABLE_MOVIT=0" >> /tmp/build-melt.conf

I will look into these this weekend when I have more time.

ddennedy commented 6 years ago

I updated the both the Dockerfile and build script to work with latest code and dependencies.

ck86 commented 6 years ago

thanks @ddennedy :)