Firefly开源社区

标题: [应版主要求重新开贴]CAM-C126S2U rkmedia_vi_zbar_test 出厂code编译失败 [打印本页]

作者: ubuntu    时间: 2021-8-3 18:59
标题: [应版主要求重新开贴]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有违禁词. 我无言以对.

报错复现问题说明:
  1. CAM-CRV1126S2U ==> 我用wiki建议的`rv1126_rv1109_linux_ai_camera_release`+`cam-crv1126s2u-uvcc.mk` , 然后build后有要自己修改build.sh ,参考# 31

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


  4. ./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'
复制代码




作者: 板蓝根    时间: 2021-8-4 09:06
bash -x ./build.sh rkmedia_vi_zbar_test.c 的 log 呢?

作者: ubuntu    时间: 2021-8-4 09:48
板蓝根 发表于 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有违禁词. 我无言以对.
作者: 板蓝根    时间: 2021-8-4 09:53
bash -x ./build.sh rkmedia_vi_zbar_test.c;不是 ./build.sh rkmedia_vi_zbar_test.c
作者: ubuntu    时间: 2021-8-4 10:19
板蓝根 发表于 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中哪里犯忌讳了, 辛辛苦苦整理排版后点发送提示有违禁词. 能不能优化一下论坛的违禁词啊
作者: 板蓝根    时间: 2021-8-4 10:26
大哥,你这个报的 arcsoft_face 库的报错,是你自己链接上去的把,这是 c++ 的库你用 gcc 去编译是不是不太合适呢?像之前那样只去掉 opencv 不就可以了吗
作者: ubuntu    时间: 2021-8-4 14:31
板蓝根 发表于 2021-8-4 10:26
大哥,你这个报的 arcsoft_face 库的报错,是你自己链接上去的把,这是 c++ 的库你用 gcc 去编译是不是不太 ...

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

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


再次感谢您!

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

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

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

作者: ubuntu    时间: 2021-8-5 09:59
板蓝根 发表于 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固件就行
请麻烦再分析一下.
作者: 板蓝根    时间: 2021-8-5 14:38
ubuntu 发表于 2021-8-5 09:59
我已经把opencv  和arcsoft的库去掉, 还是build fail, 提示少了文件.

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

#LIB="-lffrtspGet -leasymedia -lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment -lpthread"
你没有链接 zbar 库吧? 我们提供的源码中是有链接的,你删掉了吗?麻烦把我们提供的源码只删掉 opencv 其他不要更改试试
作者: ubuntu    时间: 2021-8-5 16:52
板蓝根 发表于 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


原始的文件就这样的:
  1. # SDK 目录
  2. SDK_PATH="/home/daijh/daijhfs/daijh/p/rk-rv1109/gitlab_merge/"

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

  5. # 交叉编译工具路径
  6. 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++"
  7. 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"

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

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


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

  20. for i in $src_file
  21. do
  22.         file_name=$(echo $i | awk -F '.' '{printf $1}')
  23.         ctype=$(echo $i | awk -F '.' '{print $2}')
  24.         if [ "x$ctype" == "xcc" ];then
  25.                 complie=$compliecp
  26.                 lib=$LIBCP
  27.         else
  28.                 complie=$compliecc
  29.                 lib=$LIBCC
  30.         fi
  31.         echo "Start Build $file_name Demo ..."
  32.         $complie $OP $i -o $file_name $LIB_PATH $lib $INCLUDE_PATH --sysroot=$sysroot
  33.         echo "Build $file_name Demo done."
  34.         echo "Next .."
  35. done
复制代码

作者: 板蓝根    时间: 2021-8-5 16:57
git log; git status 的log 发一下
作者: ubuntu    时间: 2021-8-5 17:01
板蓝根 发表于 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里面
  1. LIBCC="-lzbar -leasymedia -lpthread -lrtsp -lrknn_api -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc"
复制代码


rv1126_rv1109_linux_ai_camera_release 这个branch里面
  1. LIBCC="-leasymedia -lpthread -lrtsp -lrknn_api -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -larcsoft_face_engine -larcsoft_face"
复制代码



作者: 板蓝根    时间: 2021-8-5 17:07
帖子一直说明 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 应该没有问题吧?
作者: ubuntu    时间: 2021-8-5 17:08
板蓝根 发表于 2021-8-5 14:38
#LIB="-lffrtspGet -leasymedia -lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment - ...

补图:

作者: ubuntu    时间: 2021-8-6 08:41
板蓝根 发表于 2021-8-5 17:07
帖子一直说明 demo 的仓库是  https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo
帖子一直说明 ...



我一直看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








欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1