#1280 closed task (fixed)
update libyuv - add to osx
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | minor | Milestone: | 2.0 |
Component: | packaging | Version: | trunk |
Keywords: | Cc: |
Description
It seems that they've moved from http://libyuv.googlecode.com
(now 404) to https://chromium.googlesource.com/libyuv/libyuv/.
And there are no releases either...
But we probably want newer versions (faster, more platform support).
Change History (8)
comment:1 Changed 6 years ago by
Milestone: | 1.1 → 2.0 |
---|
comment:2 Changed 5 years ago by
Summary: | update libyuv → update libyuv - add to osx |
---|
The win32 work is already documented in ticket:678#comment:40 (though we should probably make a PKGBUILD for it).
For OSX, this should be added to the moduleset:
git clone https://chromium.googlesource.com/libyuv/libyuv wget https://xpra.org/trac/raw-attachment/ticket/678/libyuv-nojpeg.patch patch -p1 < libyuv-nojpeg.patch cmake -DCMAKE_INSTALL_PREFIX:PATH=${JHBUILD_PREFIX} make && make install #generate a pkgconfig file: cat > /Users/osx/gtk/inst/lib/pkgconfig/libyuv.pc <<EOF prefix=${JHBUILD_PREFIX} libdir=${prefix}/lib includedir=${prefix}/include Name: libyuv Description: YUV conversion and scaling functionality library Version: 0 Libs: -lyuv -ljpeg EOF
comment:3 Changed 5 years ago by
r15230 adds libyuv and repo
The libyuv-nojpeg.patch doesn't apply properly anymore. It is easy to fix but could cause issues.
The real problem is there is no way to apply patches in jhbuild using source from git.
We should be able to compile with jpeg support. Maybe we can fix this somehow.
comment:4 Changed 5 years ago by
cmake -DCMAKE_INSTALL_PREFIX=/Users/build/gtk/inst -DCMAKE_INSTALL_LIBDIR=lib /Users/build/gtk/source/libyuv-cb9a58f25fbdf8382d68680f022959022f746ef2 -- The C compiler identification is AppleClang 8.0.0.8000042 -- The CXX compiler identification is AppleClang 8.0.0.8000042 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/usr/bin/gcc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/usr/bin/gcc -- 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: /Applications/Xcode.app/Contents/Developer/usr/bin/g++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/usr/bin/g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found JPEG: /Users/build/gtk/inst/lib/libjpeg.dylib
We can see it finds our library but something during the link phase is failing.
/Users/build/gtk/inst/bin/cmake -E cmake_link_script CMakeFiles/yuv_shared.dir/link.txt --verbose=1 /Applications/Xcode.app/Contents/Developer/usr/bin/g++ -arch x86_64 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.9 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.9 -dynamiclib -Wl,-headerpad_max_install_names -L/Users/build/gtk/inst/lib -L/Users/build/gtk/inst/lib -arch x86_64 -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.9 -Wl,-headerpad_max_install_names -o libyuv.dylib -install_name /Users/build/gtk/source/libyuv-cb9a58f25fbdf8382d68680f022959022f746ef2/libyuv.dylib CMakeFiles/yuv_shared.dir/source/compare.cc.o CMakeFiles/yuv_shared.dir/source/compare_common.cc.o CMakeFiles/yuv_shared.dir/source/compare_gcc.cc.o CMakeFiles/yuv_shared.dir/source/compare_neon.cc.o CMakeFiles/yuv_shared.dir/source/compare_neon64.cc.o CMakeFiles/yuv_shared.dir/source/compare_win.cc.o CMakeFiles/yuv_shared.dir/source/convert.cc.o CMakeFiles/yuv_shared.dir/source/convert_argb.cc.o CMakeFiles/yuv_shared.dir/source/convert_from.cc.o CMakeFiles/yuv_shared.dir/source/convert_from_argb.cc.o CMakeFiles/yuv_shared.dir/source/convert_jpeg.cc.o CMakeFiles/yuv_shared.dir/source/convert_to_argb.cc.o CMakeFiles/yuv_shared.dir/source/convert_to_i420.cc.o CMakeFiles/yuv_shared.dir/source/cpu_id.cc.o CMakeFiles/yuv_shared.dir/source/mjpeg_decoder.cc.o CMakeFiles/yuv_shared.dir/source/mjpeg_validate.cc.o CMakeFiles/yuv_shared.dir/source/planar_functions.cc.o CMakeFiles/yuv_shared.dir/source/rotate.cc.o CMakeFiles/yuv_shared.dir/source/rotate_any.cc.o CMakeFiles/yuv_shared.dir/source/rotate_argb.cc.o CMakeFiles/yuv_shared.dir/source/rotate_common.cc.o CMakeFiles/yuv_shared.dir/source/rotate_dspr2.cc.o CMakeFiles/yuv_shared.dir/source/rotate_gcc.cc.o CMakeFiles/yuv_shared.dir/source/rotate_msa.cc.o CMakeFiles/yuv_shared.dir/source/rotate_neon.cc.o CMakeFiles/yuv_shared.dir/source/rotate_neon64.cc.o CMakeFiles/yuv_shared.dir/source/rotate_win.cc.o CMakeFiles/yuv_shared.dir/source/row_any.cc.o CMakeFiles/yuv_shared.dir/source/row_common.cc.o CMakeFiles/yuv_shared.dir/source/row_dspr2.cc.o CMakeFiles/yuv_shared.dir/source/row_gcc.cc.o CMakeFiles/yuv_shared.dir/source/row_msa.cc.o CMakeFiles/yuv_shared.dir/source/row_neon.cc.o CMakeFiles/yuv_shared.dir/source/row_neon64.cc.o CMakeFiles/yuv_shared.dir/source/row_win.cc.o CMakeFiles/yuv_shared.dir/source/scale.cc.o CMakeFiles/yuv_shared.dir/source/scale_any.cc.o CMakeFiles/yuv_shared.dir/source/scale_argb.cc.o CMakeFiles/yuv_shared.dir/source/scale_common.cc.o CMakeFiles/yuv_shared.dir/source/scale_dspr2.cc.o CMakeFiles/yuv_shared.dir/source/scale_gcc.cc.o CMakeFiles/yuv_shared.dir/source/scale_msa.cc.o CMakeFiles/yuv_shared.dir/source/scale_neon.cc.o CMakeFiles/yuv_shared.dir/source/scale_neon64.cc.o CMakeFiles/yuv_shared.dir/source/scale_win.cc.o CMakeFiles/yuv_shared.dir/source/video_common.cc.o Undefined symbols for architecture x86_64: "_jpeg_CreateDecompress", referenced from: libyuv::MJpegDecoder::MJpegDecoder() in mjpeg_decoder.cc.o "_jpeg_abort_decompress", referenced from: libyuv::MJpegDecoder::UnloadFrame() in mjpeg_decoder.cc.o libyuv::MJpegDecoder::FinishDecode() in mjpeg_decoder.cc.o "_jpeg_destroy_decompress", referenced from: libyuv::MJpegDecoder::~MJpegDecoder() in mjpeg_decoder.cc.o "_jpeg_read_header", referenced from: libyuv::MJpegDecoder::LoadFrame(unsigned char const*, unsigned long) in mjpeg_decoder.cc.o "_jpeg_read_raw_data", referenced from: libyuv::MJpegDecoder::DecodeImcuRow() in mjpeg_decoder.cc.o "_jpeg_resync_to_restart", referenced from: libyuv::MJpegDecoder::MJpegDecoder() in mjpeg_decoder.cc.o "_jpeg_start_decompress", referenced from: libyuv::MJpegDecoder::StartDecode() in mjpeg_decoder.cc.o "_jpeg_std_error", referenced from: libyuv::MJpegDecoder::MJpegDecoder() in mjpeg_decoder.cc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [libyuv.dylib] Error 1 make[1]: *** [CMakeFiles/yuv_shared.dir/all] Error 2 make: *** [all] Error 2
We can just apply the patch and remove this jpg support which is what I plan to do since we don't use it but it would be nice if we didn't have to.
comment:5 Changed 5 years ago by
Owner: | changed from Smo to Antoine Martin |
---|
comment:6 Changed 5 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Worked fine - once I figured out that my ongoing problems with the command line tools were caused by this line:
setup_sdk(target="10.10", sdk_version="10.11", architectures=["x86_64"])
Temporarily switching to
setup_sdk(target="10.11", sdk_version="10.11", architectures=["x86_64"])
Allowed me to build.
comment:7 Changed 4 years ago by
Edited comment:2 because newer versions of libyuv require -ljpeg
.
(ie: the version shipped with Fedora 29 does)
comment:8 Changed 16 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1280
Milestone renamed