mpromonet/v4l2tools

Build fails on arm64 . Libyuv?

Closed this issue · 15 comments

Ok, so I tried to compile and get stuck on libyuv. What am I doing wrong?

orangepipc2:~/v4l2tools$ make
with log4cpp
git submodule init v4l2wrapper
Submodule 'v4l2wrapper' (https://github.com/mpromonet/v4l2wrapper) registered for path 'v4l2wrapper'
git submodule update v4l2wrapper
Cloning into '/home/xxxx/v4l2tools/v4l2wrapper'...
Submodule path 'v4l2wrapper': checked out '3fdaa04b94ec52a2e3f286103b72107cec2c1d32'
make -C v4l2wrapper
make[1]: Entering directory '/home/xxxx/v4l2tools/v4l2wrapper'
g++ -c -o src/V4l2MmapDevice.o src/V4l2MmapDevice.cpp -W -Wall -pthread -g -pipe -I inc -DHAVE_LOG4CPP -I /usr/include
g++ -c -o src/V4l2Capture.o src/V4l2Capture.cpp -W -Wall -pthread -g -pipe -I inc -DHAVE_LOG4CPP -I /usr/include
g++ -c -o src/V4l2Device.o src/V4l2Device.cpp -W -Wall -pthread -g -pipe -I inc -DHAVE_LOG4CPP -I /usr/include
g++ -c -o src/V4l2Output.o src/V4l2Output.cpp -W -Wall -pthread -g -pipe -I inc -DHAVE_LOG4CPP -I /usr/include
g++ -c -o src/logger.o src/logger.cpp -W -Wall -pthread -g -pipe -I inc -DHAVE_LOG4CPP -I /usr/include
ar rcs libv4l2wrapper.a src/V4l2MmapDevice.o src/V4l2Capture.o src/V4l2Device.o src/V4l2Output.o src/logger.o
make[1]: Leaving directory '/home/xxxx/v4l2tools/v4l2wrapper'
mv v4l2wrapper/libv4l2wrapper.a .marcus.dahlberg@gmail.com
make -C v4l2wrapper clean
make[1]: Entering directory '/home/xxxx/v4l2tools/v4l2wrapper'
make[1]: Leaving directory '/home/xxxx/v4l2tools/v4l2wrapper'
g++ -o v4l2copy -W -Wall -pthread -g -pipe -I include -DHAVE_LOG4CPP -I /usr/include -I v4l2wrapper/inc -DHAVE_JPEG src/v4l2copy.cpp libv4l2wrapper.a -llog4cpp -ljpeg
git submodule init libyuv
Submodule 'libyuv' (https://github.com/openpeer/libyuv) registered for path 'libyuv'
git submodule update libyuv
Cloning into '/home/xxxx/v4l2tools/libyuv'...
Submodule path 'libyuv': checked out 'd204db647e591ccf0e2589236ecea90330d65a66'
cd libyuv && cmake . && make
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.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
-- Found JPEG: /usr/lib/aarch64-linux-gnu/libjpeg.so
CMake Warning (dev) at CMakeLists.txt:102 (if):
Policy CMP0064 is not set: Support new TEST if() operator. Run "cmake
--help-policy CMP0064" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

TEST will be interpreted as an operator when the policy is set to NEW.
Since the policy is not set the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/xxxx/v4l2tools/libyuv
make[1]: Entering directory '/home/xxxx/v4l2tools/libyuv'
make[2]: Entering directory '/home/xxxx/v4l2tools/libyuv'
make[3]: Entering directory '/home/xxxx/v4l2tools/libyuv'
Scanning dependencies of target yuv
make[3]: Leaving directory '/home/xxxx/v4l2tools/libyuv'
make[3]: Entering directory '/home/xxxx/v4l2tools/libyuv'
[ 2%] Building CXX object CMakeFiles/yuv.dir/source/compare.cc.o
[ 5%] Building CXX object CMakeFiles/yuv.dir/source/compare_common.cc.o
[ 7%] Building CXX object CMakeFiles/yuv.dir/source/compare_neon.cc.o
[ 10%] Building CXX object CMakeFiles/yuv.dir/source/compare_posix.cc.o
[ 13%] Building CXX object CMakeFiles/yuv.dir/source/compare_win.cc.o
[ 15%] Building CXX object CMakeFiles/yuv.dir/source/convert.cc.o
[ 18%] Building CXX object CMakeFiles/yuv.dir/source/convert_argb.cc.o
[ 21%] Building CXX object CMakeFiles/yuv.dir/source/convert_from.cc.o
[ 23%] Building CXX object CMakeFiles/yuv.dir/source/convert_from_argb.cc.o
[ 26%] Building CXX object CMakeFiles/yuv.dir/source/convert_jpeg.cc.o
[ 28%] Building CXX object CMakeFiles/yuv.dir/source/convert_to_argb.cc.o
[ 31%] Building CXX object CMakeFiles/yuv.dir/source/convert_to_i420.cc.o
[ 34%] Building CXX object CMakeFiles/yuv.dir/source/cpu_id.cc.o
[ 36%] Building CXX object CMakeFiles/yuv.dir/source/format_conversion.cc.o
[ 39%] Building CXX object CMakeFiles/yuv.dir/source/mjpeg_decoder.cc.o
[ 42%] Building CXX object CMakeFiles/yuv.dir/source/mjpeg_validate.cc.o
[ 44%] Building CXX object CMakeFiles/yuv.dir/source/planar_functions.cc.o
[ 47%] Building CXX object CMakeFiles/yuv.dir/source/rotate.cc.o
[ 50%] Building CXX object CMakeFiles/yuv.dir/source/rotate_argb.cc.o
[ 52%] Building CXX object CMakeFiles/yuv.dir/source/rotate_mips.cc.o
[ 55%] Building CXX object CMakeFiles/yuv.dir/source/rotate_neon.cc.o
[ 57%] Building CXX object CMakeFiles/yuv.dir/source/row_any.cc.o
[ 60%] Building CXX object CMakeFiles/yuv.dir/source/row_common.cc.o
[ 63%] Building CXX object CMakeFiles/yuv.dir/source/row_mips.cc.o
[ 65%] Building CXX object CMakeFiles/yuv.dir/source/row_neon.cc.o
[ 68%] Building CXX object CMakeFiles/yuv.dir/source/row_posix.cc.o
[ 71%] Building CXX object CMakeFiles/yuv.dir/source/row_win.cc.o
[ 73%] Building CXX object CMakeFiles/yuv.dir/source/scale.cc.o
[ 76%] Building CXX object CMakeFiles/yuv.dir/source/scale_argb.cc.o
[ 78%] Building CXX object CMakeFiles/yuv.dir/source/scale_common.cc.o
[ 81%] Building CXX object CMakeFiles/yuv.dir/source/scale_mips.cc.o
[ 84%] Building CXX object CMakeFiles/yuv.dir/source/scale_neon.cc.o
[ 86%] Building CXX object CMakeFiles/yuv.dir/source/scale_posix.cc.o
[ 89%] Building CXX object CMakeFiles/yuv.dir/source/scale_win.cc.o
[ 92%] Building CXX object CMakeFiles/yuv.dir/source/video_common.cc.o
[ 94%] Linking CXX static library libyuv.a
make[3]: Leaving directory '/home/xxxx/v4l2tools/libyuv'
[ 94%] Built target yuv
make[3]: Entering directory '/home/xxxx/v4l2tools/libyuv'
Scanning dependencies of target convert
make[3]: Leaving directory '/home/xxxx/v4l2tools/libyuv'
make[3]: Entering directory '/home/xxxx/v4l2tools/libyuv'
[ 97%] Building CXX object CMakeFiles/convert.dir/util/convert.cc.o
[100%] Linking CXX executable convert
libyuv.a(convert.cc.o): In function CopyPlane2': convert.cc:(.text+0x784): undefined reference to CopyRow_NEON'
convert.cc:(.text+0x788): undefined reference to CopyRow_NEON' libyuv.a(convert.cc.o): In function X420ToI420':
convert.cc:(.text+0xab8): undefined reference to SplitUVRow_NEON' convert.cc:(.text+0xabc): undefined reference to SplitUVRow_NEON'
libyuv.a(convert.cc.o): In function Q420ToI420': convert.cc:(.text+0xed4): undefined reference to CopyRow_NEON'
convert.cc:(.text+0xed8): undefined reference to CopyRow_NEON' convert.cc:(.text+0xf24): undefined reference to YUY2ToYRow_NEON'
convert.cc:(.text+0xf28): undefined reference to YUY2ToYRow_NEON' convert.cc:(.text+0xf30): undefined reference to YUY2ToUV422Row_NEON'
convert.cc:(.text+0xf34): undefined reference to YUY2ToUV422Row_NEON' libyuv.a(convert.cc.o): In function YUY2ToI420':
convert.cc:(.text+0x1128): undefined reference to YUY2ToYRow_NEON' convert.cc:(.text+0x112c): undefined reference to YUY2ToYRow_NEON'
convert.cc:(.text+0x1134): undefined reference to YUY2ToUVRow_NEON' convert.cc:(.text+0x1138): undefined reference to YUY2ToUVRow_NEON'
libyuv.a(convert.cc.o): In function UYVYToI420': convert.cc:(.text+0x133c): undefined reference to UYVYToYRow_NEON'
convert.cc:(.text+0x1340): undefined reference to UYVYToYRow_NEON' convert.cc:(.text+0x1348): undefined reference to UYVYToUVRow_NEON'
convert.cc:(.text+0x134c): undefined reference to UYVYToUVRow_NEON' libyuv.a(convert.cc.o): In function ARGBToI420':
convert.cc:(.text+0x1594): undefined reference to ARGBToYRow_NEON' convert.cc:(.text+0x1598): undefined reference to ARGBToYRow_NEON'
convert.cc:(.text+0x15d8): undefined reference to ARGBToUVRow_NEON' convert.cc:(.text+0x15dc): undefined reference to ARGBToUVRow_NEON'
libyuv.a(convert.cc.o): In function BGRAToI420': convert.cc:(.text+0x1824): undefined reference to BGRAToYRow_NEON'
convert.cc:(.text+0x1828): undefined reference to BGRAToYRow_NEON' convert.cc:(.text+0x1868): undefined reference to BGRAToUVRow_NEON'
convert.cc:(.text+0x186c): undefined reference to BGRAToUVRow_NEON' libyuv.a(convert.cc.o): In function ABGRToI420':
convert.cc:(.text+0x1ab4): undefined reference to ABGRToYRow_NEON' convert.cc:(.text+0x1ab8): undefined reference to ABGRToYRow_NEON'
convert.cc:(.text+0x1af8): undefined reference to ABGRToUVRow_NEON' convert.cc:(.text+0x1afc): undefined reference to ABGRToUVRow_NEON'
libyuv.a(convert.cc.o): In function RGBAToI420': convert.cc:(.text+0x1d44): undefined reference to RGBAToYRow_NEON'
convert.cc:(.text+0x1d48): undefined reference to RGBAToYRow_NEON' convert.cc:(.text+0x1d88): undefined reference to RGBAToUVRow_NEON'
convert.cc:(.text+0x1d8c): undefined reference to RGBAToUVRow_NEON' libyuv.a(convert.cc.o): In function RGB24ToI420':
convert.cc:(.text+0x1fd4): undefined reference to RGB24ToYRow_NEON' convert.cc:(.text+0x1fd8): undefined reference to RGB24ToYRow_NEON'
convert.cc:(.text+0x2018): undefined reference to RGB24ToUVRow_NEON' convert.cc:(.text+0x201c): undefined reference to RGB24ToUVRow_NEON'
libyuv.a(convert.cc.o): In function RAWToI420': convert.cc:(.text+0x2264): undefined reference to RAWToYRow_NEON'
convert.cc:(.text+0x2268): undefined reference to RAWToYRow_NEON' convert.cc:(.text+0x22a8): undefined reference to RAWToUVRow_NEON'
convert.cc:(.text+0x22ac): undefined reference to RAWToUVRow_NEON' libyuv.a(convert.cc.o): In function RGB565ToI420':
convert.cc:(.text+0x2530): undefined reference to RGB565ToYRow_NEON' convert.cc:(.text+0x2534): undefined reference to RGB565ToYRow_NEON'
convert.cc:(.text+0x2558): undefined reference to RGB565ToUVRow_NEON' convert.cc:(.text+0x255c): undefined reference to RGB565ToUVRow_NEON'
libyuv.a(convert.cc.o): In function ARGB1555ToI420': convert.cc:(.text+0x27a4): undefined reference to ARGB1555ToYRow_NEON'
convert.cc:(.text+0x27a8): undefined reference to ARGB1555ToYRow_NEON' convert.cc:(.text+0x27cc): undefined reference to ARGB1555ToUVRow_NEON'
convert.cc:(.text+0x27d0): undefined reference to ARGB1555ToUVRow_NEON' libyuv.a(convert.cc.o): In function ARGB4444ToI420':
convert.cc:(.text+0x2a18): undefined reference to ARGB4444ToYRow_NEON' convert.cc:(.text+0x2a1c): undefined reference to ARGB4444ToYRow_NEON'
convert.cc:(.text+0x2a40): undefined reference to ARGB4444ToUVRow_NEON' convert.cc:(.text+0x2a44): undefined reference to ARGB4444ToUVRow_NEON'
libyuv.a(planar_functions.cc.o): In function CopyPlane': planar_functions.cc:(.text+0x108): undefined reference to CopyRow_NEON'
planar_functions.cc:(.text+0x10c): undefined reference to CopyRow_NEON' libyuv.a(planar_functions.cc.o): In function MirrorPlane':
planar_functions.cc:(.text+0x7b8): undefined reference to MirrorRow_NEON' planar_functions.cc:(.text+0x7bc): undefined reference to MirrorRow_NEON'
libyuv.a(planar_functions.cc.o): In function YUY2ToI422': planar_functions.cc:(.text+0x980): undefined reference to YUY2ToYRow_NEON'
planar_functions.cc:(.text+0x984): undefined reference to YUY2ToYRow_NEON' planar_functions.cc:(.text+0x98c): undefined reference to YUY2ToUV422Row_NEON'
planar_functions.cc:(.text+0x990): undefined reference to YUY2ToUV422Row_NEON' libyuv.a(planar_functions.cc.o): In function UYVYToI422':
planar_functions.cc:(.text+0xb90): undefined reference to UYVYToYRow_NEON' planar_functions.cc:(.text+0xb94): undefined reference to UYVYToYRow_NEON'
planar_functions.cc:(.text+0xb9c): undefined reference to UYVYToUV422Row_NEON' planar_functions.cc:(.text+0xba0): undefined reference to UYVYToUV422Row_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBMirror': planar_functions.cc:(.text+0xfb4): undefined reference to ARGBMirrorRow_NEON'
planar_functions.cc:(.text+0xfb8): undefined reference to ARGBMirrorRow_NEON' libyuv.a(planar_functions.cc.o): In function GetARGBBlend':
planar_functions.cc:(.text+0x1058): undefined reference to ARGBBlendRow_NEON' planar_functions.cc:(.text+0x105c): undefined reference to ARGBBlendRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBMultiply': planar_functions.cc:(.text+0x1364): undefined reference to ARGBMultiplyRow_NEON'
planar_functions.cc:(.text+0x1368): undefined reference to ARGBMultiplyRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBAdd':
planar_functions.cc:(.text+0x1548): undefined reference to ARGBAddRow_NEON' planar_functions.cc:(.text+0x154c): undefined reference to ARGBAddRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBSubtract': planar_functions.cc:(.text+0x172c): undefined reference to ARGBSubtractRow_NEON'
planar_functions.cc:(.text+0x1730): undefined reference to ARGBSubtractRow_NEON' libyuv.a(planar_functions.cc.o): In function I422ToBGRA':
planar_functions.cc:(.text+0x1934): undefined reference to I422ToBGRARow_NEON' planar_functions.cc:(.text+0x1938): undefined reference to I422ToBGRARow_NEON'
libyuv.a(planar_functions.cc.o): In function I422ToABGR': planar_functions.cc:(.text+0x1b64): undefined reference to I422ToABGRRow_NEON'
planar_functions.cc:(.text+0x1b68): undefined reference to I422ToABGRRow_NEON' libyuv.a(planar_functions.cc.o): In function I422ToRGBA':
planar_functions.cc:(.text+0x1d94): undefined reference to I422ToRGBARow_NEON' planar_functions.cc:(.text+0x1d98): undefined reference to I422ToRGBARow_NEON'
libyuv.a(planar_functions.cc.o): In function NV12ToRGB565': planar_functions.cc:(.text+0x1f24): undefined reference to NV12ToRGB565Row_NEON'
planar_functions.cc:(.text+0x1f28): undefined reference to NV12ToRGB565Row_NEON' libyuv.a(planar_functions.cc.o): In function NV21ToRGB565':
planar_functions.cc:(.text+0x20b0): undefined reference to NV21ToRGB565Row_NEON' planar_functions.cc:(.text+0x20b4): undefined reference to NV21ToRGB565Row_NEON'
libyuv.a(planar_functions.cc.o): In function SetPlane': planar_functions.cc:(.text+0x21fc): undefined reference to SetRow_NEON'
planar_functions.cc:(.text+0x2200): undefined reference to SetRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBRect':
planar_functions.cc:(.text+0x2564): undefined reference to ARGBSetRows_NEON' libyuv.a(planar_functions.cc.o): In function ARGBAttenuate':
planar_functions.cc:(.text+0x26c4): undefined reference to ARGBAttenuateRow_NEON' planar_functions.cc:(.text+0x26c8): undefined reference to ARGBAttenuateRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBGrayTo': planar_functions.cc:(.text+0x29b8): undefined reference to ARGBGrayRow_NEON'
planar_functions.cc:(.text+0x29bc): undefined reference to ARGBGrayRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBGray':
planar_functions.cc:(.text+0x2b2c): undefined reference to ARGBGrayRow_NEON' planar_functions.cc:(.text+0x2b30): undefined reference to ARGBGrayRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBSepia': planar_functions.cc:(.text+0x2c90): undefined reference to ARGBSepiaRow_NEON'
planar_functions.cc:(.text+0x2c94): undefined reference to ARGBSepiaRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBColorMatrix':
planar_functions.cc:(.text+0x2e28): undefined reference to ARGBColorMatrixRow_NEON' planar_functions.cc:(.text+0x2e2c): undefined reference to ARGBColorMatrixRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBQuantize': planar_functions.cc:(.text+0x3488): undefined reference to ARGBQuantizeRow_NEON'
planar_functions.cc:(.text+0x348c): undefined reference to ARGBQuantizeRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBShade':
planar_functions.cc:(.text+0x3bcc): undefined reference to ARGBShadeRow_NEON' planar_functions.cc:(.text+0x3bd0): undefined reference to ARGBShadeRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBInterpolate': planar_functions.cc:(.text+0x3da0): undefined reference to InterpolateRow_NEON'
planar_functions.cc:(.text+0x3da4): undefined reference to InterpolateRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBShuffle':
planar_functions.cc:(.text+0x3f6c): undefined reference to ARGBShuffleRow_NEON' planar_functions.cc:(.text+0x3f70): undefined reference to ARGBShuffleRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBSobelize': planar_functions.cc:(.text+0x40e8): undefined reference to ARGBToBayerGGRow_NEON'
planar_functions.cc:(.text+0x40ec): undefined reference to ARGBToBayerGGRow_NEON' planar_functions.cc:(.text+0x4110): undefined reference to SobelYRow_NEON'
planar_functions.cc:(.text+0x4114): undefined reference to SobelYRow_NEON' planar_functions.cc:(.text+0x4138): undefined reference to SobelXRow_NEON'
planar_functions.cc:(.text+0x413c): undefined reference to SobelXRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBSobel':
planar_functions.cc:(.text+0x44b0): undefined reference to SobelRow_NEON' planar_functions.cc:(.text+0x44b4): undefined reference to SobelRow_NEON'
libyuv.a(planar_functions.cc.o): In function ARGBSobelToPlane': planar_functions.cc:(.text+0x4548): undefined reference to SobelToPlaneRow_NEON'
planar_functions.cc:(.text+0x454c): undefined reference to SobelToPlaneRow_NEON' libyuv.a(planar_functions.cc.o): In function ARGBSobelXY':
planar_functions.cc:(.text+0x45e0): undefined reference to SobelXYRow_NEON' planar_functions.cc:(.text+0x45e4): undefined reference to SobelXYRow_NEON'
libyuv.a(row_any.cc.o): In function I444ToARGBRow_Any_NEON': row_any.cc:(.text+0x48): undefined reference to I444ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function I422ToARGBRow_Any_NEON': row_any.cc:(.text+0xf4): undefined reference to I422ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function I411ToARGBRow_Any_NEON': row_any.cc:(.text+0x1b0): undefined reference to I411ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function I422ToBGRARow_Any_NEON': row_any.cc:(.text+0x26c): undefined reference to I422ToBGRARow_NEON'
libyuv.a(row_any.cc.o): In function I422ToABGRRow_Any_NEON': row_any.cc:(.text+0x328): undefined reference to I422ToABGRRow_NEON'
libyuv.a(row_any.cc.o): In function I422ToRGBARow_Any_NEON': row_any.cc:(.text+0x3e4): undefined reference to I422ToRGBARow_NEON'
libyuv.a(row_any.cc.o): In function I422ToRGB24Row_Any_NEON': row_any.cc:(.text+0x4a0): undefined reference to I422ToRGB24Row_NEON'
libyuv.a(row_any.cc.o): In function I422ToRAWRow_Any_NEON': row_any.cc:(.text+0x564): undefined reference to I422ToRAWRow_NEON'
libyuv.a(row_any.cc.o): In function I422ToARGB4444Row_Any_NEON': row_any.cc:(.text+0x628): undefined reference to I422ToARGB4444Row_NEON'
libyuv.a(row_any.cc.o): In function I422ToARGB1555Row_Any_NEON': row_any.cc:(.text+0x6e4): undefined reference to I422ToARGB1555Row_NEON'
libyuv.a(row_any.cc.o): In function I422ToRGB565Row_Any_NEON': row_any.cc:(.text+0x7a0): undefined reference to I422ToRGB565Row_NEON'
libyuv.a(row_any.cc.o): In function I422ToYUY2Row_Any_NEON': row_any.cc:(.text+0x85c): undefined reference to I422ToYUY2Row_NEON'
libyuv.a(row_any.cc.o): In function I422ToUYVYRow_Any_NEON': row_any.cc:(.text+0x918): undefined reference to I422ToUYVYRow_NEON'
libyuv.a(row_any.cc.o): In function NV12ToARGBRow_Any_NEON': row_any.cc:(.text+0x9cc): undefined reference to NV12ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function NV21ToARGBRow_Any_NEON': row_any.cc:(.text+0xa64): undefined reference to NV21ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function NV12ToRGB565Row_Any_NEON': row_any.cc:(.text+0xafc): undefined reference to NV12ToRGB565Row_NEON'
libyuv.a(row_any.cc.o): In function NV21ToRGB565Row_Any_NEON': row_any.cc:(.text+0xb94): undefined reference to NV21ToRGB565Row_NEON'
libyuv.a(row_any.cc.o): In function ARGBToRGB24Row_Any_NEON': row_any.cc:(.text+0xc24): undefined reference to ARGBToRGB24Row_NEON'
libyuv.a(row_any.cc.o): In function ARGBToRAWRow_Any_NEON': row_any.cc:(.text+0xcb0): undefined reference to ARGBToRAWRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToRGB565Row_Any_NEON': row_any.cc:(.text+0xd3c): undefined reference to ARGBToRGB565Row_NEON'
libyuv.a(row_any.cc.o): In function ARGBToARGB1555Row_Any_NEON': row_any.cc:(.text+0xdc0): undefined reference to ARGBToARGB1555Row_NEON'
libyuv.a(row_any.cc.o): In function ARGBToARGB4444Row_Any_NEON': row_any.cc:(.text+0xe44): undefined reference to ARGBToARGB4444Row_NEON'
libyuv.a(row_any.cc.o): In function I400ToARGBRow_Any_NEON': row_any.cc:(.text+0xec8): undefined reference to I400ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function YToARGBRow_Any_NEON': row_any.cc:(.text+0xf44): undefined reference to YToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function YUY2ToARGBRow_Any_NEON': row_any.cc:(.text+0xfc0): undefined reference to YUY2ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function UYVYToARGBRow_Any_NEON': row_any.cc:(.text+0x1044): undefined reference to UYVYToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToBayerRow_Any_NEON': row_any.cc:(.text+0x10d0): undefined reference to ARGBToBayerRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToBayerGGRow_Any_NEON': row_any.cc:(.text+0x1158): undefined reference to ARGBToBayerGGRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToYRow_Any_NEON': row_any.cc:(.text+0x11d8): undefined reference to ARGBToYRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToYJRow_Any_NEON': row_any.cc:(.text+0x1254): undefined reference to ARGBToYJRow_NEON'
libyuv.a(row_any.cc.o): In function BGRAToYRow_Any_NEON': row_any.cc:(.text+0x12d0): undefined reference to BGRAToYRow_NEON'
libyuv.a(row_any.cc.o): In function ABGRToYRow_Any_NEON': row_any.cc:(.text+0x134c): undefined reference to ABGRToYRow_NEON'
libyuv.a(row_any.cc.o): In function RGBAToYRow_Any_NEON': row_any.cc:(.text+0x13c8): undefined reference to RGBAToYRow_NEON'
libyuv.a(row_any.cc.o): In function RGB24ToYRow_Any_NEON': row_any.cc:(.text+0x1444): undefined reference to RGB24ToYRow_NEON'
libyuv.a(row_any.cc.o): In function RAWToYRow_Any_NEON': row_any.cc:(.text+0x14c8): undefined reference to RAWToYRow_NEON'
libyuv.a(row_any.cc.o): In function RGB565ToYRow_Any_NEON': row_any.cc:(.text+0x154c): undefined reference to RGB565ToYRow_NEON'
libyuv.a(row_any.cc.o): In function ARGB1555ToYRow_Any_NEON': row_any.cc:(.text+0x15c8): undefined reference to ARGB1555ToYRow_NEON'
libyuv.a(row_any.cc.o): In function ARGB4444ToYRow_Any_NEON': row_any.cc:(.text+0x1644): undefined reference to ARGB4444ToYRow_NEON'
libyuv.a(row_any.cc.o): In function YUY2ToYRow_Any_NEON': row_any.cc:(.text+0x16c0): undefined reference to YUY2ToYRow_NEON'
libyuv.a(row_any.cc.o): In function UYVYToYRow_Any_NEON': row_any.cc:(.text+0x173c): undefined reference to UYVYToYRow_NEON'
libyuv.a(row_any.cc.o): In function RGB24ToARGBRow_Any_NEON': row_any.cc:(.text+0x17b8): undefined reference to RGB24ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function RAWToARGBRow_Any_NEON': row_any.cc:(.text+0x1844): undefined reference to RAWToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function RGB565ToARGBRow_Any_NEON': row_any.cc:(.text+0x18d0): undefined reference to RGB565ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function ARGB1555ToARGBRow_Any_NEON': row_any.cc:(.text+0x1954): undefined reference to ARGB1555ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function ARGB4444ToARGBRow_Any_NEON': row_any.cc:(.text+0x19d8): undefined reference to ARGB4444ToARGBRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBAttenuateRow_Any_NEON': row_any.cc:(.text+0x1a5c): undefined reference to ARGBAttenuateRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToUVRow_Any_NEON': row_any.cc:(.text+0x1af0): undefined reference to ARGBToUVRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToUVJRow_Any_NEON': row_any.cc:(.text+0x1ba0): undefined reference to ARGBToUVJRow_NEON'
libyuv.a(row_any.cc.o): In function BGRAToUVRow_Any_NEON': row_any.cc:(.text+0x1c50): undefined reference to BGRAToUVRow_NEON'
libyuv.a(row_any.cc.o): In function ABGRToUVRow_Any_NEON': row_any.cc:(.text+0x1d00): undefined reference to ABGRToUVRow_NEON'
libyuv.a(row_any.cc.o): In function RGBAToUVRow_Any_NEON': row_any.cc:(.text+0x1db0): undefined reference to RGBAToUVRow_NEON'
libyuv.a(row_any.cc.o): In function RGB24ToUVRow_Any_NEON': row_any.cc:(.text+0x1e60): undefined reference to RGB24ToUVRow_NEON'
libyuv.a(row_any.cc.o): In function RAWToUVRow_Any_NEON': row_any.cc:(.text+0x1f18): undefined reference to RAWToUVRow_NEON'
libyuv.a(row_any.cc.o): In function RGB565ToUVRow_Any_NEON': row_any.cc:(.text+0x1fd0): undefined reference to RGB565ToUVRow_NEON'
libyuv.a(row_any.cc.o): In function ARGB1555ToUVRow_Any_NEON': row_any.cc:(.text+0x2080): undefined reference to ARGB1555ToUVRow_NEON'
libyuv.a(row_any.cc.o): In function ARGB4444ToUVRow_Any_NEON': row_any.cc:(.text+0x2130): undefined reference to ARGB4444ToUVRow_NEON'
libyuv.a(row_any.cc.o): In function YUY2ToUVRow_Any_NEON': row_any.cc:(.text+0x21e0): undefined reference to YUY2ToUVRow_NEON'
libyuv.a(row_any.cc.o): In function UYVYToUVRow_Any_NEON': row_any.cc:(.text+0x2290): undefined reference to UYVYToUVRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBToUV444Row_Any_NEON': row_any.cc:(.text+0x2338): undefined reference to ARGBToUV444Row_NEON'
libyuv.a(row_any.cc.o): In function ARGBToUV422Row_Any_NEON': row_any.cc:(.text+0x23d0): undefined reference to ARGBToUV422Row_NEON'
libyuv.a(row_any.cc.o): In function ARGBToUV411Row_Any_NEON': row_any.cc:(.text+0x2478): undefined reference to ARGBToUV411Row_NEON'
libyuv.a(row_any.cc.o): In function YUY2ToUV422Row_Any_NEON': row_any.cc:(.text+0x2520): undefined reference to YUY2ToUV422Row_NEON'
libyuv.a(row_any.cc.o): In function UYVYToUV422Row_Any_NEON': row_any.cc:(.text+0x25c8): undefined reference to UYVYToUV422Row_NEON'
libyuv.a(row_any.cc.o): In function SplitUVRow_Any_NEON': row_any.cc:(.text+0x2670): undefined reference to SplitUVRow_NEON'
libyuv.a(row_any.cc.o): In function MergeUVRow_Any_NEON': row_any.cc:(.text+0x2708): undefined reference to MergeUVRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBMultiplyRow_Any_NEON': row_any.cc:(.text+0x27a0): undefined reference to ARGBMultiplyRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBAddRow_Any_NEON': row_any.cc:(.text+0x2848): undefined reference to ARGBAddRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBSubtractRow_Any_NEON': row_any.cc:(.text+0x28f0): undefined reference to ARGBSubtractRow_NEON'
libyuv.a(row_any.cc.o): In function ARGBShuffleRow_Any_NEON': row_any.cc:(.text+0x2998): undefined reference to ARGBShuffleRow_NEON'
libyuv.a(row_any.cc.o): In function InterpolateRow_Any_NEON': row_any.cc:(.text+0x2a30): undefined reference to InterpolateRow_NEON'
libyuv.a(row_any.cc.o): In function MirrorRow_Any_NEON': row_any.cc:(.text+0x2ac4): undefined reference to MirrorRow_NEON'
libyuv.a(scale.cc.o): In function ScalePlaneDown2': scale.cc:(.text+0x130): undefined reference to ScaleRowDown2Box_NEON'
scale.cc:(.text+0x134): undefined reference to ScaleRowDown2Box_NEON' scale.cc:(.text+0x13c): undefined reference to ScaleRowDown2_NEON'
scale.cc:(.text+0x140): undefined reference to ScaleRowDown2_NEON' libyuv.a(scale.cc.o): In function ScalePlaneDown4':
scale.cc:(.text+0x3a0): undefined reference to ScaleRowDown4Box_NEON' scale.cc:(.text+0x3a4): undefined reference to ScaleRowDown4Box_NEON'
scale.cc:(.text+0x3ac): undefined reference to ScaleRowDown4_NEON' scale.cc:(.text+0x3b0): undefined reference to ScaleRowDown4_NEON'
libyuv.a(scale.cc.o): In function ScalePlaneDown34': scale.cc:(.text+0x680): undefined reference to ScaleRowDown34_NEON'
scale.cc:(.text+0x684): undefined reference to ScaleRowDown34_NEON' scale.cc:(.text+0x68c): undefined reference to ScaleRowDown34_NEON'
scale.cc:(.text+0x690): undefined reference to ScaleRowDown34_NEON' scale.cc:(.text+0x69c): undefined reference to ScaleRowDown34_0_Box_NEON'
scale.cc:(.text+0x6a0): undefined reference to ScaleRowDown34_0_Box_NEON' scale.cc:(.text+0x6a8): undefined reference to ScaleRowDown34_1_Box_NEON'
scale.cc:(.text+0x6ac): undefined reference to ScaleRowDown34_1_Box_NEON' libyuv.a(scale.cc.o): In function ScalePlaneDown38':
scale.cc:(.text+0xcac): undefined reference to ScaleRowDown38_NEON' scale.cc:(.text+0xcb0): undefined reference to ScaleRowDown38_NEON'
scale.cc:(.text+0xcb8): undefined reference to ScaleRowDown38_NEON' scale.cc:(.text+0xcbc): undefined reference to ScaleRowDown38_NEON'
scale.cc:(.text+0xcc8): undefined reference to ScaleRowDown38_3_Box_NEON' scale.cc:(.text+0xccc): undefined reference to ScaleRowDown38_3_Box_NEON'
scale.cc:(.text+0xcd4): undefined reference to ScaleRowDown38_2_Box_NEON' scale.cc:(.text+0xcd8): undefined reference to ScaleRowDown38_2_Box_NEON'
libyuv.a(scale.cc.o): In function ScalePlaneBilinearDown': scale.cc:(.text+0x21b0): undefined reference to InterpolateRow_NEON'
scale.cc:(.text+0x21b4): undefined reference to InterpolateRow_NEON' libyuv.a(scale.cc.o): In function ScalePlaneBilinearUp':
scale.cc:(.text+0x2630): undefined reference to InterpolateRow_NEON' scale.cc:(.text+0x2634): undefined reference to InterpolateRow_NEON'
libyuv.a(scale_argb.cc.o): In function ScaleARGBDown2': scale_argb.cc:(.text+0x1f0): undefined reference to ScaleARGBRowDown2Box_NEON'
scale_argb.cc:(.text+0x1f4): undefined reference to ScaleARGBRowDown2Box_NEON' scale_argb.cc:(.text+0x1fc): undefined reference to ScaleARGBRowDown2_NEON'
scale_argb.cc:(.text+0x200): undefined reference to ScaleARGBRowDown2_NEON' libyuv.a(scale_argb.cc.o): In function ScaleARGBDown4Box':
scale_argb.cc:(.text+0x3d4): undefined reference to ScaleARGBRowDown2Box_NEON' scale_argb.cc:(.text+0x3d8): undefined reference to ScaleARGBRowDown2Box_NEON'
libyuv.a(scale_argb.cc.o): In function ScaleARGBDownEven': scale_argb.cc:(.text+0x604): undefined reference to ScaleARGBRowDownEvenBox_NEON'
scale_argb.cc:(.text+0x608): undefined reference to ScaleARGBRowDownEvenBox_NEON' scale_argb.cc:(.text+0x610): undefined reference to ScaleARGBRowDownEven_NEON'
scale_argb.cc:(.text+0x614): undefined reference to ScaleARGBRowDownEven_NEON' libyuv.a(scale_argb.cc.o): In function ScaleARGBBilinearDown':
scale_argb.cc:(.text+0x81c): undefined reference to InterpolateRow_NEON' scale_argb.cc:(.text+0x820): undefined reference to InterpolateRow_NEON'
libyuv.a(scale_argb.cc.o): In function ScaleARGBBilinearUp': scale_argb.cc:(.text+0xa30): undefined reference to InterpolateRow_NEON'
scale_argb.cc:(.text+0xa34): undefined reference to InterpolateRow_NEON' libyuv.a(scale_common.cc.o): In function ScalePlaneVertical':
scale_common.cc:(.text+0x4e2c): undefined reference to InterpolateRow_NEON' libyuv.a(scale_common.cc.o):scale_common.cc:(.text+0x4e30): more undefined references to InterpolateRow_NEON' follow
libyuv.a(convert_argb.cc.o): In function I444ToARGB': convert_argb.cc:(.text+0x288): undefined reference to I444ToARGBRow_NEON'
convert_argb.cc:(.text+0x28c): undefined reference to I444ToARGBRow_NEON' libyuv.a(convert_argb.cc.o): In function I422ToARGB':
convert_argb.cc:(.text+0x4a4): undefined reference to I422ToARGBRow_NEON' convert_argb.cc:(.text+0x4a8): undefined reference to I422ToARGBRow_NEON'
libyuv.a(convert_argb.cc.o): In function I411ToARGB': convert_argb.cc:(.text+0x6c0): undefined reference to I411ToARGBRow_NEON'
convert_argb.cc:(.text+0x6c4): undefined reference to I411ToARGBRow_NEON' libyuv.a(convert_argb.cc.o): In function I400ToARGB_Reference':
convert_argb.cc:(.text+0x884): undefined reference to YToARGBRow_NEON' convert_argb.cc:(.text+0x888): undefined reference to YToARGBRow_NEON'
libyuv.a(convert_argb.cc.o): In function I400ToARGB': convert_argb.cc:(.text+0xa20): undefined reference to I400ToARGBRow_NEON'
convert_argb.cc:(.text+0xa24): undefined reference to I400ToARGBRow_NEON' libyuv.a(convert_argb.cc.o): In function RGB24ToARGB':
convert_argb.cc:(.text+0xd58): undefined reference to RGB24ToARGBRow_NEON' convert_argb.cc:(.text+0xd5c): undefined reference to RGB24ToARGBRow_NEON'
libyuv.a(convert_argb.cc.o): In function RAWToARGB': convert_argb.cc:(.text+0xf00): undefined reference to RAWToARGBRow_NEON'
convert_argb.cc:(.text+0xf04): undefined reference to RAWToARGBRow_NEON' libyuv.a(convert_argb.cc.o): In function RGB565ToARGB':
convert_argb.cc:(.text+0x10a0): undefined reference to RGB565ToARGBRow_NEON' convert_argb.cc:(.text+0x10a4): undefined reference to RGB565ToARGBRow_NEON'
libyuv.a(convert_argb.cc.o): In function ARGB1555ToARGB': convert_argb.cc:(.text+0x1240): undefined reference to ARGB1555ToARGBRow_NEON'
convert_argb.cc:(.text+0x1244): undefined reference to ARGB1555ToARGBRow_NEON' libyuv.a(convert_argb.cc.o): In function ARGB4444ToARGB':
convert_argb.cc:(.text+0x13e0): undefined reference to ARGB4444ToARGBRow_NEON' convert_argb.cc:(.text+0x13e4): undefined reference to ARGB4444ToARGBRow_NEON'
libyuv.a(convert_argb.cc.o): In function NV12ToARGB': convert_argb.cc:(.text+0x1548): undefined reference to NV12ToARGBRow_NEON'
convert_argb.cc:(.text+0x154c): undefined reference to NV12ToARGBRow_NEON' libyuv.a(convert_argb.cc.o): In function NV21ToARGB':
convert_argb.cc:(.text+0x16d4): undefined reference to NV21ToARGBRow_NEON' convert_argb.cc:(.text+0x16d8): undefined reference to NV21ToARGBRow_NEON'
libyuv.a(convert_argb.cc.o): In function M420ToARGB': convert_argb.cc:(.text+0x184c): undefined reference to NV12ToARGBRow_NEON'
convert_argb.cc:(.text+0x1850): undefined reference to NV12ToARGBRow_NEON' libyuv.a(convert_argb.cc.o): In function YUY2ToARGB':
convert_argb.cc:(.text+0x1aa8): undefined reference to YUY2ToARGBRow_NEON' convert_argb.cc:(.text+0x1aac): undefined reference to YUY2ToARGBRow_NEON'
libyuv.a(convert_argb.cc.o): In function UYVYToARGB': convert_argb.cc:(.text+0x1c48): undefined reference to UYVYToARGBRow_NEON'
convert_argb.cc:(.text+0x1c4c): undefined reference to `UYVYToARGBRow_NEON'
collect2: error: ld returned 1 exit status
CMakeFiles/convert.dir/build.make:96: recipe for target 'convert' failed
make[3]: *** [convert] Error 1
make[3]: Leaving directory '/home/xxxx/v4l2tools/libyuv'
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/convert.dir/all' failed
make[2]: *** [CMakeFiles/convert.dir/all] Error 2
make[2]: Leaving directory '/home/xxxx/v4l2tools/libyuv'
Makefile:127: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/xxxx/v4l2tools/libyuv'
Makefile:81: recipe for target 'libyuv.a' failed
make: *** [libyuv.a] Error 2

Ok, so I swapped out "openpeer/obsolete.libyuv" for "webrtc-uwp/libyuv" and now libyuv builds. But build now fails at:

make v4l2compress_h264 VERBOSE=1
with log4cpp
g++ -o v4l2compress_h264 -W -Wall -pthread -g -pipe -I include -DHAVE_LOG4CPP -I /usr/include -I v4l2wrapper/inc -DHAVE_JPEG src/v4l2compress_h264.cpp libyuv.a libv4l2wrapper.a -llog4cpp -ljpeg -lx264 -I libyuv/include
src/v4l2compress_h264.cpp: In function ‘int main(int, char**)’:
src/v4l2compress_h264.cpp:203:28: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
ConvertToI420((const uint8*)buffer, rsize,
^~~~~
src/v4l2compress_h264.cpp:203:22: error: expected primary-expression before ‘const’
ConvertToI420((const uint8*)buffer, rsize,
^~~~~
src/v4l2compress_h264.cpp:203:22: error: expected ‘)’ before ‘const’
src/v4l2compress_h264.cpp:196:11: warning: unused variable ‘rsize’ [-Wunused-variable]
int rsize = videoCapture->read(buffer, sizeof(buffer));
^~~~~
Makefile:112: recipe for target 'v4l2compress_h264' failed
make: *** [v4l2compress_h264] Error 1

Added fpermissive but still:

make v4l2compress_h264 VERBOSE=1
with log4cpp
g++ -o v4l2compress_h264 -fpermissive -W -Wall -pthread -g -pipe -I include -DHAVE_LOG4CPP -I /usr/include -I v4l2wrapper/inc -DHAVE_JPEG src/v4l2compress_h264.cpp libyuv.a libv4l2wrapper.a -llog4cpp -ljpeg -lx264 -I libyuv/include
src/v4l2compress_h264.cpp: In function ‘int main(int, char**)’:
src/v4l2compress_h264.cpp:203:28: warning: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
ConvertToI420((const uint8*)buffer, rsize,
^~~~~
src/v4l2compress_h264.cpp:203:22: error: expected primary-expression before ‘const’
ConvertToI420((const uint8*)buffer, rsize,
^~~~~
src/v4l2compress_h264.cpp:203:22: error: expected ‘)’ before ‘const’
src/v4l2compress_h264.cpp:196:11: warning: unused variable ‘rsize’ [-Wunused-variable]
int rsize = videoCapture->read(buffer, sizeof(buffer));
^~~~~
Makefile:112: recipe for target 'v4l2compress_h264' failed
make: *** [v4l2compress_h264] Error 1

Any progress with the error? getting the same output.

No, I never got it to build on ARM64. It does build on ARM32.

Hi,
If you look to snapcraft build https://build.snapcraft.io/user/mpromonet/v4l2tools
arm64 is failing because libyuv doesnot build on arm64.
Maybe upgrading the libyuv source, or using different build option.
Best Regards,
Michel.

tried another source code, still getting the same error, tried using cmake, make, and gn tools, still no luck. any other idea?
thanks!

Hi @akavish12,
What is the same error ?
The error about NEON is from compiler, not link to make tools you are using.
Best Regards,
Michel.

[ 13%] Building CXX object CMakeFiles/yuv.dir/source/compare_win.cc.o
[ 15%] Building CXX object CMakeFiles/yuv.dir/source/convert.cc.o
[ 18%] Building CXX object CMakeFiles/yuv.dir/source/convert_argb.cc.o
[ 21%] Building CXX object CMakeFiles/yuv.dir/source/convert_from.cc.o
[ 23%] Building CXX object CMakeFiles/yuv.dir/source/convert_from_argb.cc.o
[ 26%] Building CXX object CMakeFiles/yuv.dir/source/convert_jpeg.cc.o
g++ -c -o src/logger.o src/logger.cpp -W -Wall -pthread -g -pipe -I inc -DHAVE_LOG4CPP -I /usr/include
[ 28%] Building CXX object CMakeFiles/yuv.dir/source/convert_to_argb.cc.o
[ 31%] Building CXX object CMakeFiles/yuv.dir/source/convert_to_i420.cc.o
[ 34%] Building CXX object CMakeFiles/yuv.dir/source/cpu_id.cc.o
[ 36%] Building CXX object CMakeFiles/yuv.dir/source/format_conversion.cc.o
[ 39%] Building CXX object CMakeFiles/yuv.dir/source/mjpeg_decoder.cc.o
[ 42%] Building CXX object CMakeFiles/yuv.dir/source/mjpeg_validate.cc.o
[ 44%] Building CXX object CMakeFiles/yuv.dir/source/planar_functions.cc.o
ar rcs libv4l2wrapper.a src/V4l2Access.o src/V4l2MmapDevice.o src/V4l2Capture.o src/V4l2Device.o src/V4l2ReadWriteDevice.o src/V4l2Output.o src/logger.o
make[1]: Leaving directory '/root/v4l2tools/v4l2wrapper'
mv v4l2wrapper/libv4l2wrapper.a .
make -C v4l2wrapper clean
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/root/v4l2tools/v4l2wrapper'
make[1]: Leaving directory '/root/v4l2tools/v4l2wrapper'
g++ -o v4l2copy -W -Wall -pthread -g -pipe -I include -DHAVE_LOG4CPP -I /usr/include -I v4l2wrapper/inc -I /opt/vc/include/ -I /opt/vc/include/interface/vcos/ -I /opt/vc/include/interface/vcos/pthreads/ -I /opt/vc/include/interface/vmcs_host/linux/ -I /opt/vc/src/hello_pi/libs/ilclient -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -DHAVE_JPEG src/v4l2copy.cpp libv4l2wrapper.a -llog4cpp -L /opt/vc/lib -L /opt/vc/src/hello_pi/libs/ilclient -lpthread -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -ljpeg
[ 47%] Building CXX object CMakeFiles/yuv.dir/source/rotate.cc.o
[ 50%] Building CXX object CMakeFiles/yuv.dir/source/rotate_argb.cc.o
[ 52%] Building CXX object CMakeFiles/yuv.dir/source/rotate_mips.cc.o
[ 55%] Building CXX object CMakeFiles/yuv.dir/source/rotate_neon.cc.o
[ 57%] Building CXX object CMakeFiles/yuv.dir/source/row_any.cc.o
[ 60%] Building CXX object CMakeFiles/yuv.dir/source/row_common.cc.o
g++ -o v4l2source_yuv -W -Wall -pthread -g -pipe -I include -DHAVE_LOG4CPP -I /usr/include -I v4l2wrapper/inc -I /opt/vc/include/ -I /opt/vc/include/interface/vcos/ -I /opt/vc/include/interface/vcos/pthreads/ -I /opt/vc/include/interface/vmcs_host/linux/ -I /opt/vc/src/hello_pi/libs/ilclient -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -DHAVE_JPEG src/v4l2source_yuv.cpp libv4l2wrapper.a -llog4cpp -L /opt/vc/lib -L /opt/vc/src/hello_pi/libs/ilclient -lpthread -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -ljpeg
[ 63%] Building CXX object CMakeFiles/yuv.dir/source/row_mips.cc.o
[ 65%] Building CXX object CMakeFiles/yuv.dir/source/row_neon.cc.o
[ 68%] Building CXX object CMakeFiles/yuv.dir/source/row_posix.cc.o
[ 71%] Building CXX object CMakeFiles/yuv.dir/source/row_win.cc.o
[ 73%] Building CXX object CMakeFiles/yuv.dir/source/scale.cc.o
[ 76%] Building CXX object CMakeFiles/yuv.dir/source/scale_argb.cc.o
[ 78%] Building CXX object CMakeFiles/yuv.dir/source/scale_common.cc.o
[ 81%] Building CXX object CMakeFiles/yuv.dir/source/scale_mips.cc.o
[ 84%] Building CXX object CMakeFiles/yuv.dir/source/scale_neon.cc.o
g++ -o v4l2grab_h264 src/encode_omx.cpp src/v4l2grab_h264.cpp /opt/vc/src/hello_pi/libs/ilclient/libilclient.a libv4l2wrapper.a -W -Wall -pthread -g -pipe -I include -DHAVE_LOG4CPP -I /usr/include -I v4l2wrapper/inc -I /opt/vc/include/ -I /opt/vc/include/interface/vcos/ -I /opt/vc/include/interface/vcos/pthreads/ -I /opt/vc/include/interface/vmcs_host/linux/ -I /opt/vc/src/hello_pi/libs/ilclient -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -DHAVE_JPEG -llog4cpp -L /opt/vc/lib -L /opt/vc/src/hello_pi/libs/ilclient -lpthread -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -ljpeg
[ 86%] Building CXX object CMakeFiles/yuv.dir/source/scale_posix.cc.o
[ 89%] Building CXX object CMakeFiles/yuv.dir/source/scale_win.cc.o
[ 92%] Building CXX object CMakeFiles/yuv.dir/source/video_common.cc.o
[ 94%] Linking CXX static library libyuv.a
make[3]: Leaving directory '/root/v4l2tools/libyuv'
[ 94%] Built target yuv
make[3]: Entering directory '/root/v4l2tools/libyuv'
Scanning dependencies of target convert
make[3]: Leaving directory '/root/v4l2tools/libyuv'
make[3]: Entering directory '/root/v4l2tools/libyuv'
[ 97%] Building CXX object CMakeFiles/convert.dir/util/convert.cc.o
[100%] Linking CXX executable convert
src/encode_omx.cpp: In function ‘ILCLIENT_T* encode_init(COMPONENT_T**)’:
src/encode_omx.cpp:41:67: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
41 | int omx_return = ilclient_create_component(client, video_encode, "video_encode",
| ^~~~~~~~~~~~~~
/usr/bin/ld: libyuv.a(convert.cc.o): in function CopyPlane2': convert.cc:(.text+0x784): undefined reference to CopyRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x788): undefined reference to CopyRow_NEON' /usr/bin/ld: libyuv.a(convert.cc.o): in function X420ToI420':
convert.cc:(.text+0xaac): undefined reference to SplitUVRow_NEON' /usr/bin/ld: convert.cc:(.text+0xab0): undefined reference to SplitUVRow_NEON'
/usr/bin/ld: libyuv.a(convert.cc.o): in function Q420ToI420': convert.cc:(.text+0xec4): undefined reference to CopyRow_NEON'
/usr/bin/ld: convert.cc:(.text+0xec8): undefined reference to CopyRow_NEON' /usr/bin/ld: convert.cc:(.text+0xf14): undefined reference to YUY2ToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0xf18): undefined reference to YUY2ToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0xf20): undefined reference to YUY2ToUV422Row_NEON'
/usr/bin/ld: convert.cc:(.text+0xf24): undefined reference to YUY2ToUV422Row_NEON' /usr/bin/ld: libyuv.a(convert.cc.o): in function YUY2ToI420':
convert.cc:(.text+0x1104): undefined reference to YUY2ToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1108): undefined reference to YUY2ToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x1110): undefined reference to YUY2ToUVRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1114): undefined reference to YUY2ToUVRow_NEON'
/usr/bin/ld: libyuv.a(convert.cc.o): in function UYVYToI420': convert.cc:(.text+0x1304): undefined reference to UYVYToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x1308): undefined reference to UYVYToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1310): undefined reference to UYVYToUVRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x1314): undefined reference to UYVYToUVRow_NEON' /usr/bin/ld: libyuv.a(convert.cc.o): in function ARGBToI420':
convert.cc:(.text+0x1548): undefined reference to ARGBToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x154c): undefined reference to ARGBToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x158c): undefined reference to ARGBToUVRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1590): undefined reference to ARGBToUVRow_NEON'
/usr/bin/ld: libyuv.a(convert.cc.o): in function BGRAToI420': convert.cc:(.text+0x17c4): undefined reference to BGRAToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x17c8): undefined reference to BGRAToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1808): undefined reference to BGRAToUVRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x180c): undefined reference to BGRAToUVRow_NEON' /usr/bin/ld: libyuv.a(convert.cc.o): in function ABGRToI420':
convert.cc:(.text+0x1a40): undefined reference to ABGRToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1a44): undefined reference to ABGRToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x1a84): undefined reference to ABGRToUVRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1a88): undefined reference to ABGRToUVRow_NEON'
/usr/bin/ld: libyuv.a(convert.cc.o): in function RGBAToI420': convert.cc:(.text+0x1cbc): undefined reference to RGBAToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x1cc0): undefined reference to RGBAToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1d00): undefined reference to RGBAToUVRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x1d04): undefined reference to RGBAToUVRow_NEON' /usr/bin/ld: libyuv.a(convert.cc.o): in function RGB24ToI420':
convert.cc:(.text+0x1f38): undefined reference to RGB24ToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1f3c): undefined reference to RGB24ToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x1f7c): undefined reference to RGB24ToUVRow_NEON' /usr/bin/ld: convert.cc:(.text+0x1f80): undefined reference to RGB24ToUVRow_NEON'
/usr/bin/ld: libyuv.a(convert.cc.o): in function RAWToI420': convert.cc:(.text+0x21b4): undefined reference to RAWToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x21b8): undefined reference to RAWToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x21f8): undefined reference to RAWToUVRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x21fc): undefined reference to RAWToUVRow_NEON' /usr/bin/ld: libyuv.a(convert.cc.o): in function RGB565ToI420':
convert.cc:(.text+0x246c): undefined reference to RGB565ToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x2470): undefined reference to RGB565ToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x2494): undefined reference to RGB565ToUVRow_NEON' /usr/bin/ld: convert.cc:(.text+0x2498): undefined reference to RGB565ToUVRow_NEON'
/usr/bin/ld: libyuv.a(convert.cc.o): in function ARGB1555ToI420': convert.cc:(.text+0x26cc): undefined reference to ARGB1555ToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x26d0): undefined reference to ARGB1555ToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x26f4): undefined reference to ARGB1555ToUVRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x26f8): undefined reference to ARGB1555ToUVRow_NEON' /usr/bin/ld: libyuv.a(convert.cc.o): in function ARGB4444ToI420':
convert.cc:(.text+0x292c): undefined reference to ARGB4444ToYRow_NEON' /usr/bin/ld: convert.cc:(.text+0x2930): undefined reference to ARGB4444ToYRow_NEON'
/usr/bin/ld: convert.cc:(.text+0x2954): undefined reference to ARGB4444ToUVRow_NEON' /usr/bin/ld: convert.cc:(.text+0x2958): undefined reference to ARGB4444ToUVRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function CopyPlane': planar_functions.cc:(.text+0x108): undefined reference to CopyRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x10c): undefined reference to CopyRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function MirrorPlane':
planar_functions.cc:(.text+0x7b4): undefined reference to MirrorRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x7b8): undefined reference to MirrorRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function YUY2ToI422': planar_functions.cc:(.text+0x978): undefined reference to YUY2ToYRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x97c): undefined reference to YUY2ToYRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x984): undefined reference to YUY2ToUV422Row_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x988): undefined reference to YUY2ToUV422Row_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function UYVYToI422':
planar_functions.cc:(.text+0xb80): undefined reference to UYVYToYRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0xb84): undefined reference to UYVYToYRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0xb8c): undefined reference to UYVYToUV422Row_NEON' /usr/bin/ld: planar_functions.cc:(.text+0xb90): undefined reference to UYVYToUV422Row_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBMirror': planar_functions.cc:(.text+0xf9c): undefined reference to ARGBMirrorRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0xfa0): undefined reference to ARGBMirrorRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function GetARGBBlend':
planar_functions.cc:(.text+0x103c): undefined reference to ARGBBlendRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x1040): undefined reference to ARGBBlendRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBMultiply': planar_functions.cc:(.text+0x1348): undefined reference to ARGBMultiplyRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x134c): undefined reference to ARGBMultiplyRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBAdd':
planar_functions.cc:(.text+0x1528): undefined reference to ARGBAddRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x152c): undefined reference to ARGBAddRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBSubtract': planar_functions.cc:(.text+0x1708): undefined reference to ARGBSubtractRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x170c): undefined reference to ARGBSubtractRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function I422ToBGRA':
planar_functions.cc:(.text+0x190c): undefined reference to I422ToBGRARow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x1910): undefined reference to I422ToBGRARow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function I422ToABGR': planar_functions.cc:(.text+0x1b38): undefined reference to I422ToABGRRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x1b3c): undefined reference to I422ToABGRRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function I422ToRGBA':
planar_functions.cc:(.text+0x1d64): undefined reference to I422ToRGBARow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x1d68): undefined reference to I422ToRGBARow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function NV12ToRGB565': planar_functions.cc:(.text+0x1ef0): undefined reference to NV12ToRGB565Row_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x1ef4): undefined reference to NV12ToRGB565Row_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function NV21ToRGB565':
planar_functions.cc:(.text+0x2078): undefined reference to NV21ToRGB565Row_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x207c): undefined reference to NV21ToRGB565Row_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function SetPlane': planar_functions.cc:(.text+0x21c0): undefined reference to SetRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x21c4): undefined reference to SetRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBRect':
planar_functions.cc:(.text+0x2520): undefined reference to ARGBSetRows_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBAttenuate':
planar_functions.cc:(.text+0x267c): undefined reference to ARGBAttenuateRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x2680): undefined reference to ARGBAttenuateRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBGrayTo': planar_functions.cc:(.text+0x296c): undefined reference to ARGBGrayRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x2970): undefined reference to ARGBGrayRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBGray':
planar_functions.cc:(.text+0x2adc): undefined reference to ARGBGrayRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x2ae0): undefined reference to ARGBGrayRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBSepia': planar_functions.cc:(.text+0x2c3c): undefined reference to ARGBSepiaRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x2c40): undefined reference to ARGBSepiaRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBColorMatrix':
planar_functions.cc:(.text+0x2dd0): undefined reference to ARGBColorMatrixRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x2dd4): undefined reference to ARGBColorMatrixRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBQuantize': planar_functions.cc:(.text+0x342c): undefined reference to ARGBQuantizeRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x3430): undefined reference to ARGBQuantizeRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBShade':
planar_functions.cc:(.text+0x3b74): undefined reference to ARGBShadeRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x3b78): undefined reference to ARGBShadeRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBInterpolate': planar_functions.cc:(.text+0x3d44): undefined reference to InterpolateRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x3d48): undefined reference to InterpolateRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBShuffle':
planar_functions.cc:(.text+0x3f10): undefined reference to ARGBShuffleRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x3f14): undefined reference to ARGBShuffleRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBSobelize': planar_functions.cc:(.text+0x4088): undefined reference to ARGBToBayerGGRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x408c): undefined reference to ARGBToBayerGGRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x40b0): undefined reference to SobelYRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x40b4): undefined reference to SobelYRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x40d8): undefined reference to SobelXRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x40dc): undefined reference to SobelXRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBSobel':
planar_functions.cc:(.text+0x441c): undefined reference to SobelRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x4420): undefined reference to SobelRow_NEON'
/usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBSobelToPlane': planar_functions.cc:(.text+0x44b0): undefined reference to SobelToPlaneRow_NEON'
/usr/bin/ld: planar_functions.cc:(.text+0x44b4): undefined reference to SobelToPlaneRow_NEON' /usr/bin/ld: libyuv.a(planar_functions.cc.o): in function ARGBSobelXY':
planar_functions.cc:(.text+0x4544): undefined reference to SobelXYRow_NEON' /usr/bin/ld: planar_functions.cc:(.text+0x4548): undefined reference to SobelXYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I444ToARGBRow_Any_NEON': row_any.cc:(.text+0x48): undefined reference to I444ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToARGBRow_Any_NEON': row_any.cc:(.text+0xf4): undefined reference to I422ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I411ToARGBRow_Any_NEON': row_any.cc:(.text+0x1b0): undefined reference to I411ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToBGRARow_Any_NEON': row_any.cc:(.text+0x26c): undefined reference to I422ToBGRARow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToABGRRow_Any_NEON': row_any.cc:(.text+0x328): undefined reference to I422ToABGRRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToRGBARow_Any_NEON': row_any.cc:(.text+0x3e4): undefined reference to I422ToRGBARow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToRGB24Row_Any_NEON': row_any.cc:(.text+0x4a0): undefined reference to I422ToRGB24Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToRAWRow_Any_NEON': row_any.cc:(.text+0x564): undefined reference to I422ToRAWRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToARGB4444Row_Any_NEON': row_any.cc:(.text+0x628): undefined reference to I422ToARGB4444Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToARGB1555Row_Any_NEON': row_any.cc:(.text+0x6e4): undefined reference to I422ToARGB1555Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToRGB565Row_Any_NEON': row_any.cc:(.text+0x7a0): undefined reference to I422ToRGB565Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToYUY2Row_Any_NEON': row_any.cc:(.text+0x85c): undefined reference to I422ToYUY2Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I422ToUYVYRow_Any_NEON': row_any.cc:(.text+0x918): undefined reference to I422ToUYVYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function NV12ToARGBRow_Any_NEON': row_any.cc:(.text+0x9cc): undefined reference to NV12ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function NV21ToARGBRow_Any_NEON': row_any.cc:(.text+0xa64): undefined reference to NV21ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function NV12ToRGB565Row_Any_NEON': row_any.cc:(.text+0xafc): undefined reference to NV12ToRGB565Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function NV21ToRGB565Row_Any_NEON': row_any.cc:(.text+0xb94): undefined reference to NV21ToRGB565Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToRGB24Row_Any_NEON': row_any.cc:(.text+0xc24): undefined reference to ARGBToRGB24Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToRAWRow_Any_NEON': row_any.cc:(.text+0xcb0): undefined reference to ARGBToRAWRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToRGB565Row_Any_NEON': row_any.cc:(.text+0xd3c): undefined reference to ARGBToRGB565Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToARGB1555Row_Any_NEON': row_any.cc:(.text+0xdc0): undefined reference to ARGBToARGB1555Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToARGB4444Row_Any_NEON': row_any.cc:(.text+0xe44): undefined reference to ARGBToARGB4444Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function I400ToARGBRow_Any_NEON': row_any.cc:(.text+0xec8): undefined reference to I400ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function YToARGBRow_Any_NEON': row_any.cc:(.text+0xf44): undefined reference to YToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function YUY2ToARGBRow_Any_NEON': row_any.cc:(.text+0xfc0): undefined reference to YUY2ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function UYVYToARGBRow_Any_NEON': row_any.cc:(.text+0x1044): undefined reference to UYVYToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToBayerRow_Any_NEON': row_any.cc:(.text+0x10d0): undefined reference to ARGBToBayerRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToBayerGGRow_Any_NEON': row_any.cc:(.text+0x1158): undefined reference to ARGBToBayerGGRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToYRow_Any_NEON': row_any.cc:(.text+0x11d8): undefined reference to ARGBToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToYJRow_Any_NEON': row_any.cc:(.text+0x1254): undefined reference to ARGBToYJRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function BGRAToYRow_Any_NEON': row_any.cc:(.text+0x12d0): undefined reference to BGRAToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ABGRToYRow_Any_NEON': row_any.cc:(.text+0x134c): undefined reference to ABGRToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGBAToYRow_Any_NEON': row_any.cc:(.text+0x13c8): undefined reference to RGBAToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGB24ToYRow_Any_NEON': row_any.cc:(.text+0x1444): undefined reference to RGB24ToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RAWToYRow_Any_NEON': row_any.cc:(.text+0x14c8): undefined reference to RAWToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGB565ToYRow_Any_NEON': row_any.cc:(.text+0x154c): undefined reference to RGB565ToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGB1555ToYRow_Any_NEON': row_any.cc:(.text+0x15c8): undefined reference to ARGB1555ToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGB4444ToYRow_Any_NEON': row_any.cc:(.text+0x1644): undefined reference to ARGB4444ToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function YUY2ToYRow_Any_NEON': row_any.cc:(.text+0x16c0): undefined reference to YUY2ToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function UYVYToYRow_Any_NEON': row_any.cc:(.text+0x173c): undefined reference to UYVYToYRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGB24ToARGBRow_Any_NEON': row_any.cc:(.text+0x17b8): undefined reference to RGB24ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RAWToARGBRow_Any_NEON': row_any.cc:(.text+0x1844): undefined reference to RAWToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGB565ToARGBRow_Any_NEON': row_any.cc:(.text+0x18d0): undefined reference to RGB565ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGB1555ToARGBRow_Any_NEON': row_any.cc:(.text+0x1954): undefined reference to ARGB1555ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGB4444ToARGBRow_Any_NEON': row_any.cc:(.text+0x19d8): undefined reference to ARGB4444ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBAttenuateRow_Any_NEON': row_any.cc:(.text+0x1a5c): undefined reference to ARGBAttenuateRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToUVRow_Any_NEON': row_any.cc:(.text+0x1af0): undefined reference to ARGBToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToUVJRow_Any_NEON': row_any.cc:(.text+0x1ba0): undefined reference to ARGBToUVJRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function BGRAToUVRow_Any_NEON': row_any.cc:(.text+0x1c50): undefined reference to BGRAToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ABGRToUVRow_Any_NEON': row_any.cc:(.text+0x1d00): undefined reference to ABGRToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGBAToUVRow_Any_NEON': row_any.cc:(.text+0x1db0): undefined reference to RGBAToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGB24ToUVRow_Any_NEON': row_any.cc:(.text+0x1e60): undefined reference to RGB24ToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RAWToUVRow_Any_NEON': row_any.cc:(.text+0x1f18): undefined reference to RAWToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function RGB565ToUVRow_Any_NEON': row_any.cc:(.text+0x1fd0): undefined reference to RGB565ToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGB1555ToUVRow_Any_NEON': row_any.cc:(.text+0x2080): undefined reference to ARGB1555ToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGB4444ToUVRow_Any_NEON': row_any.cc:(.text+0x2130): undefined reference to ARGB4444ToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function YUY2ToUVRow_Any_NEON': row_any.cc:(.text+0x21e0): undefined reference to YUY2ToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function UYVYToUVRow_Any_NEON': row_any.cc:(.text+0x2290): undefined reference to UYVYToUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToUV444Row_Any_NEON': row_any.cc:(.text+0x2338): undefined reference to ARGBToUV444Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToUV422Row_Any_NEON': row_any.cc:(.text+0x23d0): undefined reference to ARGBToUV422Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBToUV411Row_Any_NEON': row_any.cc:(.text+0x2478): undefined reference to ARGBToUV411Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function YUY2ToUV422Row_Any_NEON': row_any.cc:(.text+0x2520): undefined reference to YUY2ToUV422Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function UYVYToUV422Row_Any_NEON': row_any.cc:(.text+0x25c8): undefined reference to UYVYToUV422Row_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function SplitUVRow_Any_NEON': row_any.cc:(.text+0x2670): undefined reference to SplitUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function MergeUVRow_Any_NEON': row_any.cc:(.text+0x2708): undefined reference to MergeUVRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBMultiplyRow_Any_NEON': row_any.cc:(.text+0x27a0): undefined reference to ARGBMultiplyRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBAddRow_Any_NEON': row_any.cc:(.text+0x2848): undefined reference to ARGBAddRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBSubtractRow_Any_NEON': row_any.cc:(.text+0x28f0): undefined reference to ARGBSubtractRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function ARGBShuffleRow_Any_NEON': row_any.cc:(.text+0x2998): undefined reference to ARGBShuffleRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function InterpolateRow_Any_NEON': row_any.cc:(.text+0x2a30): undefined reference to InterpolateRow_NEON'
/usr/bin/ld: libyuv.a(row_any.cc.o): in function MirrorRow_Any_NEON': row_any.cc:(.text+0x2ac4): undefined reference to MirrorRow_NEON'
/usr/bin/ld: libyuv.a(scale.cc.o): in function ScalePlaneDown2': scale.cc:(.text+0x130): undefined reference to ScaleRowDown2Box_NEON'
/usr/bin/ld: scale.cc:(.text+0x134): undefined reference to ScaleRowDown2Box_NEON' /usr/bin/ld: scale.cc:(.text+0x13c): undefined reference to ScaleRowDown2_NEON'
/usr/bin/ld: scale.cc:(.text+0x140): undefined reference to ScaleRowDown2_NEON' /usr/bin/ld: libyuv.a(scale.cc.o): in function ScalePlaneDown4':
scale.cc:(.text+0x39c): undefined reference to ScaleRowDown4Box_NEON' /usr/bin/ld: scale.cc:(.text+0x3a0): undefined reference to ScaleRowDown4Box_NEON'
/usr/bin/ld: scale.cc:(.text+0x3a8): undefined reference to ScaleRowDown4_NEON' /usr/bin/ld: scale.cc:(.text+0x3ac): undefined reference to ScaleRowDown4_NEON'
/usr/bin/ld: libyuv.a(scale.cc.o): in function ScalePlaneDown34': scale.cc:(.text+0x67c): undefined reference to ScaleRowDown34_NEON'
/usr/bin/ld: scale.cc:(.text+0x680): undefined reference to ScaleRowDown34_NEON' /usr/bin/ld: scale.cc:(.text+0x688): undefined reference to ScaleRowDown34_NEON'
/usr/bin/ld: scale.cc:(.text+0x68c): undefined reference to ScaleRowDown34_NEON' /usr/bin/ld: scale.cc:(.text+0x698): undefined reference to ScaleRowDown34_0_Box_NEON'
/usr/bin/ld: scale.cc:(.text+0x69c): undefined reference to ScaleRowDown34_0_Box_NEON' /usr/bin/ld: scale.cc:(.text+0x6a4): undefined reference to ScaleRowDown34_1_Box_NEON'
/usr/bin/ld: scale.cc:(.text+0x6a8): undefined reference to ScaleRowDown34_1_Box_NEON' /usr/bin/ld: libyuv.a(scale.cc.o): in function ScalePlaneDown38':
scale.cc:(.text+0xca8): undefined reference to ScaleRowDown38_NEON' /usr/bin/ld: scale.cc:(.text+0xcac): undefined reference to ScaleRowDown38_NEON'
/usr/bin/ld: scale.cc:(.text+0xcb4): undefined reference to ScaleRowDown38_NEON' /usr/bin/ld: scale.cc:(.text+0xcb8): undefined reference to ScaleRowDown38_NEON'
/usr/bin/ld: scale.cc:(.text+0xcc4): undefined reference to ScaleRowDown38_3_Box_NEON' /usr/bin/ld: scale.cc:(.text+0xcc8): undefined reference to ScaleRowDown38_3_Box_NEON'
/usr/bin/ld: scale.cc:(.text+0xcd0): undefined reference to ScaleRowDown38_2_Box_NEON' /usr/bin/ld: scale.cc:(.text+0xcd4): undefined reference to ScaleRowDown38_2_Box_NEON'
/usr/bin/ld: libyuv.a(scale.cc.o): in function ScalePlaneBilinearDown': scale.cc:(.text+0x2144): undefined reference to InterpolateRow_NEON'
/usr/bin/ld: scale.cc:(.text+0x2148): undefined reference to InterpolateRow_NEON' /usr/bin/ld: libyuv.a(scale.cc.o): in function ScalePlaneBilinearUp':
scale.cc:(.text+0x25bc): undefined reference to InterpolateRow_NEON' /usr/bin/ld: scale.cc:(.text+0x25c0): undefined reference to InterpolateRow_NEON'
/usr/bin/ld: libyuv.a(scale_argb.cc.o): in function ScaleARGBDown2': scale_argb.cc:(.text+0x1e8): undefined reference to ScaleARGBRowDown2Box_NEON'
/usr/bin/ld: scale_argb.cc:(.text+0x1ec): undefined reference to ScaleARGBRowDown2Box_NEON' /usr/bin/ld: scale_argb.cc:(.text+0x1f4): undefined reference to ScaleARGBRowDown2_NEON'
/usr/bin/ld: scale_argb.cc:(.text+0x1f8): undefined reference to ScaleARGBRowDown2_NEON' /usr/bin/ld: libyuv.a(scale_argb.cc.o): in function ScaleARGBDown4Box':
scale_argb.cc:(.text+0x3c0): undefined reference to ScaleARGBRowDown2Box_NEON' /usr/bin/ld: scale_argb.cc:(.text+0x3c4): undefined reference to ScaleARGBRowDown2Box_NEON'
/usr/bin/ld: libyuv.a(scale_argb.cc.o): in function ScaleARGBDownEven': scale_argb.cc:(.text+0x5e4): undefined reference to ScaleARGBRowDownEvenBox_NEON'
/usr/bin/ld: scale_argb.cc:(.text+0x5e8): undefined reference to ScaleARGBRowDownEvenBox_NEON' /usr/bin/ld: scale_argb.cc:(.text+0x5f0): undefined reference to ScaleARGBRowDownEven_NEON'
/usr/bin/ld: scale_argb.cc:(.text+0x5f4): undefined reference to ScaleARGBRowDownEven_NEON' /usr/bin/ld: libyuv.a(scale_argb.cc.o): in function ScaleARGBBilinearDown':
scale_argb.cc:(.text+0x7f8): undefined reference to InterpolateRow_NEON' /usr/bin/ld: scale_argb.cc:(.text+0x7fc): undefined reference to InterpolateRow_NEON'
/usr/bin/ld: libyuv.a(scale_argb.cc.o): in function ScaleARGBBilinearUp': scale_argb.cc:(.text+0xa08): undefined reference to InterpolateRow_NEON'
/usr/bin/ld: scale_argb.cc:(.text+0xa0c): undefined reference to InterpolateRow_NEON' /usr/bin/ld: libyuv.a(scale_common.cc.o): in function ScalePlaneVertical':
scale_common.cc:(.text+0x4dd0): undefined reference to InterpolateRow_NEON' /usr/bin/ld: libyuv.a(scale_common.cc.o):scale_common.cc:(.text+0x4dd4): more undefined references to InterpolateRow_NEON' follow
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function I444ToARGB': convert_argb.cc:(.text+0x288): undefined reference to I444ToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0x28c): undefined reference to I444ToARGBRow_NEON' /usr/bin/ld: libyuv.a(convert_argb.cc.o): in function I422ToARGB':
convert_argb.cc:(.text+0x4a0): undefined reference to I422ToARGBRow_NEON' /usr/bin/ld: convert_argb.cc:(.text+0x4a4): undefined reference to I422ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function I411ToARGB': convert_argb.cc:(.text+0x6b8): undefined reference to I411ToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0x6bc): undefined reference to I411ToARGBRow_NEON' /usr/bin/ld: libyuv.a(convert_argb.cc.o): in function I400ToARGB_Reference':
convert_argb.cc:(.text+0x878): undefined reference to YToARGBRow_NEON' /usr/bin/ld: convert_argb.cc:(.text+0x87c): undefined reference to YToARGBRow_NEON'
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function I400ToARGB': convert_argb.cc:(.text+0xa10): undefined reference to I400ToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0xa14): undefined reference to I400ToARGBRow_NEON' /usr/bin/ld: libyuv.a(convert_argb.cc.o): in function RGB24ToARGB':
convert_argb.cc:(.text+0xd30): undefined reference to RGB24ToARGBRow_NEON' /usr/bin/ld: convert_argb.cc:(.text+0xd34): undefined reference to RGB24ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function RAWToARGB': convert_argb.cc:(.text+0xed4): undefined reference to RAWToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0xed8): undefined reference to RAWToARGBRow_NEON' /usr/bin/ld: libyuv.a(convert_argb.cc.o): in function RGB565ToARGB':
convert_argb.cc:(.text+0x1070): undefined reference to RGB565ToARGBRow_NEON' /usr/bin/ld: convert_argb.cc:(.text+0x1074): undefined reference to RGB565ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function ARGB1555ToARGB': convert_argb.cc:(.text+0x120c): undefined reference to ARGB1555ToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0x1210): undefined reference to ARGB1555ToARGBRow_NEON' /usr/bin/ld: libyuv.a(convert_argb.cc.o): in function ARGB4444ToARGB':
convert_argb.cc:(.text+0x13a8): undefined reference to ARGB4444ToARGBRow_NEON' /usr/bin/ld: convert_argb.cc:(.text+0x13ac): undefined reference to ARGB4444ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function NV12ToARGB': convert_argb.cc:(.text+0x150c): undefined reference to NV12ToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0x1510): undefined reference to NV12ToARGBRow_NEON' /usr/bin/ld: libyuv.a(convert_argb.cc.o): in function NV21ToARGB':
convert_argb.cc:(.text+0x1694): undefined reference to NV21ToARGBRow_NEON' /usr/bin/ld: convert_argb.cc:(.text+0x1698): undefined reference to NV21ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function M420ToARGB': convert_argb.cc:(.text+0x1808): undefined reference to NV12ToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0x180c): undefined reference to NV12ToARGBRow_NEON' /usr/bin/ld: libyuv.a(convert_argb.cc.o): in function YUY2ToARGB':
convert_argb.cc:(.text+0x1a58): undefined reference to YUY2ToARGBRow_NEON' /usr/bin/ld: convert_argb.cc:(.text+0x1a5c): undefined reference to YUY2ToARGBRow_NEON'
/usr/bin/ld: libyuv.a(convert_argb.cc.o): in function UYVYToARGB': convert_argb.cc:(.text+0x1bf4): undefined reference to UYVYToARGBRow_NEON'
/usr/bin/ld: convert_argb.cc:(.text+0x1bf8): undefined reference to `UYVYToARGBRow_NEON'

same error as far as i understand like Siggemada had, tried many methods, can you be more specific on how to resolve this issue (if it's even possible?)?

Thanks alot!

Hi akavish12,
Did you tried to build https://chromium.googlesource.com/libyuv/libyuv for your platform ?
What I understand is that it doesnot build, then my advice is to resolve it in this project.
Then it will be possible to upgrade the submodule link.
Best Regards,
MicheL

tried to build it using the same link, still getting the same error.. :( thanks for your time.

Don't know if that helps, but i'm trying to build it on raspberry pi 3B+ (64 bit) running Kali - For the driver support.
on x86_64 PC it builds great in seconds.
Anyway thanks again for your time.

I found a version that does compile using autogen: https://github.com/lemenkov/libyuv/tree/autotools < that specific version.
how do i modify the Makefile correctly to proceed?
thanks again..

i've commented out the libyuv section in makefile, copied manually "libyuv.a" to "v4l2tools" directory, and run make again, now it compiles, getting another error "/usr/bin/ld: ./.libs/libh264bitstream.so: undefined reference to `debug_pps'", trying to use another source.

So, after many tries i've managed to compile and make it work.
here's how:
clone this repo: git clone https://github.com/mpromonet/v4l2tools
remove libyuv directory.
manually clone this repo: git clone -b autotools https://github.com/lemenkov/libyuv
cd into libyuv dir.
run ./autogen.sh
run ./configure --with-mjpeg
run make
run make install (sudo)
copy .libs/libyuv.a to v4ltools directory.
edit Makefile:
libyuv.a: (comment out this section as follows):

git submodule init libyuv

git submodule update libyuv

cd libyuv && cmake . && make

mv libyuv/libyuv.a .

make -C libyuv clean

run make
run make install

now it works on arm64 (aarch64) as for RaspberryPi (64 bit) Rock64, Odroid C2 and others.

Enjoy :)

Hi akavish12,

I think this is now fixed building libyuv with the flag -DLIBYUV_DISABLE_NEON for arm64 architechture (see commit 41b152f)

Best Regards,
Michel.