legnaleurc / khopper

An audio converter
http://legnaleurc.blogspot.com/search/label/Khopper
5 stars 2 forks source link

plugins/libav/src/libavwriter.cpp build issue #29

Closed Vdragon closed 11 years ago

Vdragon commented 11 years ago
[ 83%] Building CXX object plugins/mp3lame/CMakeFiles/khopper_plugin_mp3lame.dir/src/mp3panel.cpp.o
Building CXX object plugins/redbook/CMakeFiles/khopper_plugin_redbook.dir/src/redbookplugin.cpp.o
/home/Vdragon/Software_building/khopper/plugins/libav/src/libavwriter.cpp: 在 lambda 函数中:
/home/Vdragon/Software_building/khopper/plugins/libav/src/libavwriter.cpp:59:25: 錯誤: 「avcodec_free_frame」 在此作用欄位中尚未宣告
/home/Vdragon/Software_building/khopper/plugins/libav/src/libavwriter.cpp: 在成员函数「virtual void khopper::codec::LibavWriter::writeFrame(const char*)」中:
/home/Vdragon/Software_building/khopper/plugins/libav/src/libavwriter.cpp:250:1: 警告: 在有號和無號整數運算式間比較 [-Wsign-compare]
make[2]: *** [plugins/libav/CMakeFiles/khopper_plugin_libav.dir/src/libavwriter.cpp.o] 错误 1
make[1]: *** [plugins/libav/CMakeFiles/khopper_plugin_libav.dir/all] 错误 2

OS distro: Ubuntu 12.10 x86 32-bit khopper version: commit f884277751e451e8b3ea79efec9fe15bda8a8bca

legnaleurc commented 11 years ago

Debian/Ubuntu use Libav instead of FFmpeg.

Please turn option KHOPPER_USE_LIBAV on from CMake GUI or by CLI:

$ cmake -DKHOPPER_USE_LIBAV=TRUE
Vdragon commented 11 years ago

@legnaleurc I tried it again with the option toggled but still get the same error.

legnaleurc commented 11 years ago

This version requires Libav >= 9, but Ubuntu's one is 0.8 (including 13.04).

Ubuntu don't have libavresample or libswresample, this will impact current feature and algorithm. I'm afraid I have to rewrite many code to support old API. And Libav don't even keep their API document for old versions. (v0.8, v0.7 ... etc., all links are dead.)

I'll try to solve this problem for Ubuntu users if I have time, but this may takes few weeks.

Vdragon commented 11 years ago

Nevermind. BTW, there's libav-doc package in ubuntu might describe the API of the old version ; )

This package contains the html doxygen documentation of the Libav API.

Only application developers will find this package useful.
Vdragon commented 11 years ago

Hi, it builds successful on my machine. However It failed to run because of finding no libkhopper library, I can fix it by manually execute ldconfig as root. I wondered if ldconfig should directly add into the install recipe?

legnaleurc commented 11 years ago

If you were installing this program by make install, then yes, running ldconfig was necessary.

This is necessary for all manually installed libraries, not only Khopper, so I'll not going to add this to document.

Vdragon commented 11 years ago

If you consider make install as khopper's install script, there's no reason user have to execute ldconfig manually to configure the newly installed library isn't it?