[FFmpeg-user] 2 problem with ffmpeg and x265
David Favor
david at davidfavor.com
Thu Jul 3 01:58:54 CEST 2014
宮村 公男 wrote:
> Hi, I’m now trying to build ffmpeg with static x265. But configure script rejects with error. The error is "ERROR: x265 not found”
>
> I’m using Mac OS X 10.9.2 and LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
>
> Here’s a part of config.log
>
> check_pkg_config x265 x265.h x265_encoder_encode
> pkg-config --exists --print-errors x265
> check_func_headers x265.h x265_encoder_encode -I/Volumes/ffmpeg_compile/include -L/Volumes/ffmpeg_compile/lib -lx265
> check_ld cc -I/Volumes/ffmpeg_compile/include -L/Volumes/ffmpeg_compile/lib -lx265
> check_cc -I/Volumes/ffmpeg_compile/include -L/Volumes/ffmpeg_compile/lib
> BEGIN /var/folders/qk/x9k9r6f955d75dnv5dd2rgm00000gn/T//ffconf.EjOwyBdL.c
> 1 #include <x265.h>
> 2 long check_x265_encoder_encode(void) { return (long) x265_encoder_encode; }
> 3 int main(void) { return 0; }
> END /var/folders/qk/x9k9r6f955d75dnv5dd2rgm00000gn/T//ffconf.EjOwyBdL.c
> gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -mdynamic-no-pic -fomit-frame-pointer -fPIC -pthread -I/Volumes/ffmpeg_compile/include -L/Volumes/ffmpeg_compile/lib -c -o /var/folders/qk/x9k9r6f955d75dnv5dd2rgm00000gn/T//ffconf.UUCyIpQ5.o /var/folders/qk/x9k9r6f955d75dnv5dd2rgm00000gn/T//ffconf.EjOwyBdL.c
> clang: warning: argument unused during compilation: '-L/Volumes/ffmpeg_compile/lib'
> gcc -Wl,-dynamic,-search_paths_first -I/Volumes/ffmpeg_compile/include -L/Volumes/ffmpeg_compile/lib -o /var/folders/qk/x9k9r6f955d75dnv5dd2rgm00000gn/T//ffconf.d9N4vA5m /var/folders/qk/x9k9r6f955d75dnv5dd2rgm00000gn/T//ffconf.UUCyIpQ5.o -lx265 -lm -lbz2 -lz -pthread
> clang: warning: argument unused during compilation: '-pthread'
> Undefined symbols for architecture x86_64:
> "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::__1::ios_base::getloc() const", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)", referenced from:
> std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in libx265.a(TComRom.cpp.o)
> "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
> std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in libx265.a(TComRom.cpp.o)
> "std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> "std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> "std::__1::cerr", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> "std::__1::ctype<char>::id", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::__1::locale::~locale()", referenced from:
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::__1::ios_base::clear(unsigned int)", referenced from:
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "std::terminate()", referenced from:
> ___clang_call_terminate in libx265.a(TComRom.cpp.o)
> ___clang_call_terminate in libx265.a(bitcost.cpp.o)
> ___clang_call_terminate in libx265.a(encoder.cpp.o)
> ___clang_call_terminate in libx265.a(threadpool.cpp.o)
> ___clang_call_terminate in libx265.a(frameencoder.cpp.o)
> ___clang_call_terminate in libx265.a(TComPic.cpp.o)
> ___clang_call_terminate in libx265.a(slicetype.cpp.o)
> ...
> "vtable for __cxxabiv1::__class_type_info", referenced from:
> typeinfo for x265_encoder in libx265.a(encoder.cpp.o)
> typeinfo for x265::FrameFilter in libx265.a(encoder.cpp.o)
> typeinfo for x265::TComPicYuv in libx265.a(TComPicYuv.cpp.o)
> typeinfo for x265::ThreadPool in libx265.a(threadpool.cpp.o)
> typeinfo for x265::SEI in libx265.a(frameencoder.cpp.o)
> typeinfo for x265::FrameFilter in libx265.a(frameencoder.cpp.o)
> typeinfo for x265::TComBitIf in libx265.a(frameencoder.cpp.o)
> ...
> NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
> "vtable for __cxxabiv1::__si_class_type_info", referenced from:
> typeinfo for x265::Encoder in libx265.a(encoder.cpp.o)
> typeinfo for x265::ThreadPoolImpl in libx265.a(threadpool.cpp.o)
> typeinfo for x265::PoolThread in libx265.a(threadpool.cpp.o)
> typeinfo for x265::SEIPictureTiming in libx265.a(frameencoder.cpp.o)
> typeinfo for x265::SEIRecoveryPoint in libx265.a(frameencoder.cpp.o)
> typeinfo for x265::SEIGradualDecodingRefreshInfo in libx265.a(frameencoder.cpp.o)
> typeinfo for x265::SEIDisplayOrientation in libx265.a(frameencoder.cpp.o)
> ...
> NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
> "vtable for __cxxabiv1::__vmi_class_type_info", referenced from:
> typeinfo for x265::FrameEncoder in libx265.a(frameencoder.cpp.o)
> typeinfo for x265::TEncSbac in libx265.a(TEncSbac.cpp.o)
> typeinfo for x265::MotionEstimate in libx265.a(motion.cpp.o)
> NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
> "operator delete[](void*)", referenced from:
> x265::BitCost::destroy() in libx265.a(bitcost.cpp.o)
> x265::Encoder::create() in libx265.a(encoder.cpp.o)
> x265::Encoder::destroy() in libx265.a(encoder.cpp.o)
> x265::TComPicSym::destroy() in libx265.a(TComPicSym.cpp.o)
> x265::FrameEncoder::destroy() in libx265.a(frameencoder.cpp.o)
> x265::FrameEncoder::init(x265::Encoder*, int) in libx265.a(frameencoder.cpp.o)
> x265::FrameEncoder::compressFrame() in libx265.a(frameencoder.cpp.o)
> ...
> "operator delete(void*)", referenced from:
> _x265_encoder_open_15 in libx265.a(api.cpp.o)
> x265::Encoder::~Encoder() in libx265.a(encoder.cpp.o)
> x265::Encoder::create() in libx265.a(encoder.cpp.o)
> x265::Encoder::destroy() in libx265.a(encoder.cpp.o)
> x265::Encoder::encode(bool, x265_picture const*, x265_picture*, x265::NALUnitEBSP**) in libx265.a(encoder.cpp.o)
> x265::FrameFilter::~FrameFilter() in libx265.a(encoder.cpp.o)
> x265::TComPicSym::create(int, int, int, unsigned int, unsigned int) in libx265.a(TComPicSym.cpp.o)
> ...
> "operator new[](unsigned long)", referenced from:
> x265::BitCost::setQP(unsigned int) in libx265.a(bitcost.cpp.o)
> x265::BitCost::CalculateLogs() in libx265.a(bitcost.cpp.o)
> x265::Encoder::create() in libx265.a(encoder.cpp.o)
> x265::TComPicSym::create(int, int, int, unsigned int, unsigned int) in libx265.a(TComPicSym.cpp.o)
> x265::FrameEncoder::init(x265::Encoder*, int) in libx265.a(frameencoder.cpp.o)
> x265::FrameEncoder::compressFrame() in libx265.a(frameencoder.cpp.o)
> x265::TComLoopFilter::create(unsigned int) in libx265.a(TComLoopFilter.cpp.o)
> ...
> "operator new(unsigned long)", referenced from:
> _x265_encoder_open_15 in libx265.a(api.cpp.o)
> x265::Encoder::create() in libx265.a(encoder.cpp.o)
> x265::Encoder::encode(bool, x265_picture const*, x265_picture*, x265::NALUnitEBSP**) in libx265.a(encoder.cpp.o)
> x265::TComPicSym::create(int, int, int, unsigned int, unsigned int) in libx265.a(TComPicSym.cpp.o)
> x265::TComPicSym::allocSaoParam(x265::TComSampleAdaptiveOffset*) in libx265.a(TComPicSym.cpp.o)
> x265::ThreadPool::allocThreadPool(int) in libx265.a(threadpool.cpp.o)
> x265::FrameEncoder::compressFrame() in libx265.a(frameencoder.cpp.o)
> ...
> "___cxa_begin_catch", referenced from:
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> ___clang_call_terminate in libx265.a(TComRom.cpp.o)
> ___clang_call_terminate in libx265.a(bitcost.cpp.o)
> ___clang_call_terminate in libx265.a(encoder.cpp.o)
> ___clang_call_terminate in libx265.a(threadpool.cpp.o)
> ___clang_call_terminate in libx265.a(frameencoder.cpp.o)
> ___clang_call_terminate in libx265.a(TComPic.cpp.o)
> ...
> "___cxa_end_catch", referenced from:
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> "___cxa_pure_virtual", referenced from:
> vtable for x265::Thread in libx265.a(threading.cpp.o)
> vtable for x265::WaveFront in libx265.a(wavefront.cpp.o)
> "___dynamic_cast", referenced from:
> x265::JobProvider::flush() in libx265.a(threadpool.cpp.o)
> "___gxx_personality_v0", referenced from:
> _x265_encoder_open_15 in libx265.a(api.cpp.o)
> Dwarf Exception Unwind Info (__eh_frame) in libx265.a(api.cpp.o)
> x265::ScanGenerator::GetNextIndex(unsigned int, unsigned int) in libx265.a(TComRom.cpp.o)
> std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libx265.a(TComRom.cpp.o)
> std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in libx265.a(TComRom.cpp.o)
> Dwarf Exception Unwind Info (__eh_frame) in libx265.a(TComRom.cpp.o)
> x265::BitCost::setQP(unsigned int) in libx265.a(bitcost.cpp.o)
> ...
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> ERROR: x265 not found
>
>
> And also, I can build ffmpeg with shared x265 but this time dyld: Library not loaded error occurred.
>
> $ which ffmpeg
> /Volumes/ffmpeg_compile/bin/ffmpeg
> $ ffmpeg
> dyld: Library not loaded: libx265.15.dylib
> Referenced from: /Volumes/ffmpeg_compile/bin/ffmpeg
> Reason: image not found
> Trace/BPT trap: 5
> $ otool -L /Volumes/ffmpeg_compile/bin/ffmpeg
> /Volumes/ffmpeg_compile/bin/ffmpeg:
> /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit (compatibility version 1.0.0, current version 1.0.0)
> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.13.0)
> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.8.0)
> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.14.0)
> /System/Library/Frameworks/VideoDecodeAcceleration.framework/Versions/A/VideoDecodeAcceleration (compatibility version 1.0.0, current version 1.0.0)
> libx265.15.dylib (compatibility version 15.0.0, current version 0.9.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.8.0)
> /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
>
>
> if I put libx265.15.dylib to /usr/local/lib, ffmpeg can execute.
>
> My final aim is to build ffmpeg with static x265 library. But as a part of try and error, I have encountered 2 problems. Please solve them...
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Post all the commands you use to build x265 + ffmpeg.
Likely someone can help you.
More information about the ffmpeg-user
mailing list