cmake cannot find ffmpeg and unittest++
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenShot Video Library | libopenshot |
New
|
Undecided
|
Unassigned |
Bug Description
Trying to compile libopenshot on slackware64-
ffmpeg and unittest++ are installed
Why the unittest failure occurs I cannot understand....
With respect to ffmpeg, libopenshot does not work with that at all:
It looks libopenshot needs libavresample but that is no longer part of ffmpeg but of libav, forked from ffmpeg which seem to be incompatible packages nowadays; see
http://
libav is available for slackware but the latest ffmpeg is needed for many other programs....
Is there a way to make openshot less dependent on one of the two to keep it usable for the whole linux community?
And if not, can it be clearly stated that libav is a dependency and NOT ffmpeg???
That will save a lot of trouble to other people who else will be wasting their time trying to compile and use openshot-qt.
Thanks,
Rob
Thus, trying to compile libopenshot I get this:
bash-4.3# cmake ../
-------
Welcome to the OpenShot Build System! CMake will now check for all required build
dependencies and notify you of any missing files or other issues. If you have any
questions or issues, please visit <http://
-------
Determining Version Number (from Version.h file)
--> MAJOR Version: 0
--> MINOR Version: 1
--> BUILD Version: 0
--> SO/API/ABI Version: 7
--> VERSION: 0.1.0
CMake Warning (dev) at CMakeLists.txt:66 (PROJECT):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
The following variable(s) would be set to empty:
PROJECT_VERSION
This warning is for project developers. Use -Wno-dev to suppress it.
-- The C compiler identification is GNU 5.3.0
-- The CXX compiler identification is GNU 5.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-------
Generating build files for openshot (0.1.0)
-- Found ImageMagick: /usr/lib64/
-- Could NOT find FFMPEG (missing: FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIR)
-- Found LIBOPENSHOT_AUDIO: /usr/lib64/
'LIBOPENSHOT_
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_
-- Performing Test OpenMP_
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_
-- Performing Test OpenMP_
-- Found OpenMP: -fopenmp
-- Found SWIG: /usr/bin/swig (found suitable version "3.0.7", minimum required is "2.0")
-- Found PythonLibs: /usr/lib64/
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.1", minimum required is "3")
-- Found Ruby: /usr/bin/ruby (found version "2.2.0")
-- Ruby executable: /usr/bin/ruby
-- Ruby vendor arch dir: /usr/lib64/
-- Ruby include path: /usr/include/
-- Could NOT find UNITTEST++ (missing: UNITTEST+
-- Could NOT find FFMPEG (missing: FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIR)
CMake Warning (dev) at tests/CMakeList
Policy CMP0037 is not set: Target names should not be reserved and should
match a validity pattern. Run "cmake --help-policy CMP0037" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
AVRESAMPLE_
Hi,
I found a solution (see attached patch) but whether it is fully correct I do not know; I am not a programmer...
Three major reasons the installed libraries for ffmpeg or UnitTest++ were not found: UnitTest+ +/UnitTest+ +. It seems a bit unusual and therefore it's hard to tell whether it will be universally useful on Slackware as UnitTest++ is not a supported package (nor on SlackBuilds.org). I created a Slackbuild for it using the prescribed commands but whether this patch will therefore work in oncoming releases of UnitTest++ is difficult to say.
1) on Slackware64 ffmpeg-libraries built using the script from SlackBuilds.org end up in /usr/lib64/.
2) FFmpeg versions 2.8.5/6 come with libavresample but the configure-flag --enable-avresample needs to be set (so my frustration above was mainly based on tiredness and ignorance).
3) For UnitTest++ the include directory ended up as /usr/include/
Hope this helps,
Rob