[应版主要求重新开贴]CAM-C126S2U rkmedia_vi_zbar_test 出厂code编译失败

原帖见 如下帖子 #42
https://dev.t-firefly.com/thread-103667-4-1.html

现在按照版主要求重新开贴,重新提供log在如下链接.
https://paste.ubuntu.com/p/svpnMZTNy9/
PS. 为什么不直接贴log到这里.
因为贴log到这里, 提示log有违禁词. 我无言以对.

报错复现问题说明:

CAM-CRV1126S2U ==> 我用wiki建议的`rv1126_rv1109_linux_ai_camera_release`+`cam-crv1126s2u-uvcc.mk` , 然后build后有要自己修改build.sh ,参考# 31

在app/firefly_rkmedia_demo 执行./build.sh rkmedia_vi_zbar_test.c
build 报错.

./arcsoft/lib/libarcsoft_face_engine.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()@GLIBCXX_3.4.21'

bash -x ./build.sh rkmedia_vi_zbar_test.c 的 log 呢?

板蓝根 发表于 2021-8-4 09:06
bash -x ./build.sh rkmedia_vi_zbar_test.c 的 log 呢?

重新提供log在如下链接.
https://paste.ubuntu.com/p/svpnMZTNy9/

PS. 为什么不直接贴log到这里.
因为贴log到这里, 提示log有违禁词. 我无言以对.

bash -x ./build.sh rkmedia_vi_zbar_test.c;不是 ./build.sh rkmedia_vi_zbar_test.c

板蓝根 发表于 2021-8-4 09:53
bash -x ./build.sh rkmedia_vi_zbar_test.c;不是 ./build.sh rkmedia_vi_zbar_test.c

对不起, 我贴错网址了.

https://paste.ubuntu.com/p/wMNHRGJPvT/

顺便吐槽一下, 咱log中哪里犯忌讳了, 辛辛苦苦整理排版后点发送提示有违禁词. 能不能优化一下论坛的违禁词啊

大哥,你这个报的 arcsoft_face 库的报错,是你自己链接上去的把,这是 c++ 的库你用 gcc 去编译是不是不太合适呢?像之前那样只去掉 opencv 不就可以了吗

板蓝根 发表于 2021-8-4 10:26
大哥,你这个报的 arcsoft_face 库的报错,是你自己链接上去的把,这是 c++ 的库你用 gcc 去编译是不是不太 …

给大佬点赞.
的确如上次和您请教的, 我加了opencv的lib,然后./build.sh

请教一下, 目前错误是"这是 c++ 的库你用 gcc 去编译是不是不太合适呢?", 那该如何配置为g++呢?
我用的build.sh 就是参考您如下修改测试的, 不知如何配置为g++呢?

再次感谢您!

问题是你要用到这个库吗??arcsoft_face,这个是虹软人脸识别的库,和二维码一点关系都没有喔。应该把它去掉吧

板蓝根 发表于 2021-8-4 15:50
问题是你要用到这个库吗??arcsoft_face,这个是虹软人脸识别的库,和二维码一点关系都没有喔。应该把它去 …

是的, 若项目着急, 我会选择去掉.
现在还在预研, 所有希望了解一下, 我这里为什么配置错了,方便以后开发用.

请教一下, 目前错误是"这是 c++ 的库你用 gcc 去编译是不是不太合适呢?", 那该如何配置为g++呢?
我用的build.sh 就是参考您如下修改测试的, 不知如何配置为g++呢?

板蓝根 发表于 2021-8-4 15:50
问题是你要用到这个库吗??arcsoft_face,这个是虹软人脸识别的库,和二维码一点关系都没有喔。应该把它去 …

我已经把opencv 和arcsoft的库去掉, 还是build fail, 提示少了文件.

build.sh 文件 和 bash +x *** 的log 见如下链接.
https://paste.ubuntu.com/p/XjP7x7vhKJ/

奇怪, Core-1126-JD4 闸机固件没有这个问题, 直接可以用. CAM-C1126S2U AIO固件就行
请麻烦再分析一下.

ubuntu 发表于 2021-8-5 09:59
我已经把opencv 和arcsoft的库去掉, 还是build fail, 提示少了文件.

build.sh 文件 和 bash +x *** …

#LIB=“-lffrtspGet -leasymedia -lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment -lpthread”
你没有链接 zbar 库吧? 我们提供的源码中是有链接的,你删掉了吗?麻烦把我们提供的源码只删掉 opencv 其他不要更改试试

板蓝根 发表于 2021-8-5 14:38
#LIB="-lffrtspGet -leasymedia -lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment - …

冤枉啊.
版本信息:
如果需要开发AI_UVC应用请下载 rv1126_rv1109_linux_ai_camera_release REPO_SDK 软件包。
./build.sh cam-crv1126s2u-uvcc.mk

原始的文件就这样的:

# SDK 目录
SDK_PATH="/home/daijh/daijhfs/daijh/p/rk-rv1109/gitlab_merge/"

# 编译完 buildroot 后的 sysroot 目录
sysroot="$SDK_PATH/buildroot/output/firefly_rv1126_rv1109_facial_gate/host/arm-buildroot-linux-gnueabihf/sysroot/"

# 交叉编译工具路径
compliecp="$SDK_PATH/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++"
compliecc="$SDK_PATH/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc"

INCLUDE_PATH="-I $sysroot/usr/include/rknn -I ./librtsp -I ./include/rkmedia -I ./include/easymedia -I ./arcsoft/inc/"

LIB_PATH="-L ./ffrtsp/ -L ./librtsp/ -L ./arcsoft/lib/"
OP="-Wl,--copy-dt-needed-entries"
#LIB="-lffrtspGet -leasymedia -lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment -lpthread"
#LIBCC="-leasymedia -lpthread -lrtsp -lrknn_api"
LIBCC="-leasymedia -lpthread -lrtsp -lrknn_api -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -larcsoft_face_engine -larcsoft_face"
LIBCP="-lffrtsp $LIBCC"

if [ ! -n "$1" ];then
	src_file=$(ls *.c*)
else
	src_file="$1"
fi

for i in $src_file
do
	file_name=$(echo $i | awk -F '.' '{printf $1}')
	ctype=$(echo $i | awk -F '.' '{print $2}')
	if [ "x$ctype" == "xcc" ];then
		complie=$compliecp
		lib=$LIBCP
	else
		complie=$compliecc
		lib=$LIBCC
	fi
	echo "Start Build $file_name Demo ..."
	$complie $OP $i -o $file_name $LIB_PATH $lib $INCLUDE_PATH --sysroot=$sysroot
	echo "Build $file_name Demo done."
	echo "Next .."
done

git log; git status 的log 发一下

板蓝根 发表于 2021-8-5 14:38
#LIB="-lffrtspGet -leasymedia -lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment - …

总结一下, rv1126_rv1109_linux_release rv1126_rv1109_linux_ai_camera_release 两份codebase build.sh有差异, rv1126_rv1109_linux_ai_camera_release 里面没有加-lzbar, 我加入后pass, 所以我一直想请教您那边测试demo code用的哪一份代码. 您原来说zbar您是在双摄aio的版本测试的, 所以我选rv1126_rv1109_linux_ai_camera_release 这份, 但通过这个问题看, 应该也不是我用的,否则您那边早修了.
rv1126_rv1109_linux_release 这个branch里面

LIBCC="-lzbar -leasymedia -lpthread -lrtsp -lrknn_api -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc"

rv1126_rv1109_linux_ai_camera_release 这个branch里面

LIBCC="-leasymedia -lpthread -lrtsp -lrknn_api -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -larcsoft_face_engine -larcsoft_face"

帖子一直说明 demo 的仓库是 https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo
帖子一直说明 demo 的仓库是 https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo
帖子一直说明 demo 的仓库是 https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo
帖子一直说明 demo 的仓库是 https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo
,没有说用 sdk 内的源码仓库。你如果直接 git clone https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo 应该没有问题吧?

板蓝根 发表于 2021-8-5 14:38
#LIB="-lffrtspGet -leasymedia -lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment - …

补图:

板蓝根 发表于 2021-8-5 17:07
帖子一直说明 demo 的仓库是 https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo
帖子一直说明 …

{:4_89:}

我一直看wiki这句:
“为了方便用户快速掌握 RKMedia 的开发流程,Firefly 提供了大量的测试 DEMO。代码路径 SDK/external/rkmedia/example/、SDK/app/firefly_rkmedia_demo。”
以为直接用codebase里面自带即可!
所以按照您的说明app/firefly_rkmedia_demo 里面的demo 要用https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo 来覆盖替换掉!

谢谢说明.

另外一个关联问题顺便请教一下, external/rkmedia/example/ 里面需要更新吗, 论坛好几个朋友用aio codebase, 这里的code无法运行.
参考如下帖子:
https://dev.t-firefly.com/thread-104496-1-1.html
https://dev.t-firefly.com/thread-104268-1-1.html