ipcweb/ipcweb-backend application build error

  • Hello, based on the printed information, it appears that the issue is caused by the missing <mediaserver.h> header file. From the source code, it seems that this is due to the MEDIASERVER_ROCKFACE definition. This option is disabled by default in the CMakeLists.txt file. Please check if this option is needed; if not, you can remove the MEDIASERVER_ROCKFACE define.
  • Dear Crocodile

    Thank you for your answer.

    I have a question and an error and would like to request a response.

    1. Can't use MEDIA SERVER ROCKFACE?

    2. Build after removing MEDIASERVER_ROCKFACE. The error below occurred. Do you know why?

    root@fe14e6b697d1:/home/luckfox-pico/luckfox-pico# ./build.sh app
    **************************************
    Check [OK]: dtc --version
    **************************************
    Check [OK]: makeinfo --version
    **************************************
    Check [OK]: gperf --version
    **************************************
    Check [OK]: dpkg --list |grep g++-.*-multilib
    **************************************
    Check [OK]: dpkg --list |grep gcc-.*-multilib
    **************************************
    Check [OK]: make -v
    GLOBAL_PARTITIONS: 0x8000@0x0(env),0x80000@0x8000(idblock),0x40000@0x88000(uboot),0x2000000@0xC8000(boot),0x20000000@0x20C8000(oem),0x10000000@0x220C8000(userdata),0x180000000@0x320C8000(rootfs)
    [build.sh:info] Partition Filesystem Type Configure: rootfs@IGNORE@ext4,userdata@/userdata@ext4,oem@/oem@ext4
    [build.sh:info] switch to DTS: /home/luckfox-pico/luckfox-pico/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra.dts
    [build.sh:info] switch to kernel defconfig: /home/luckfox-pico/luckfox-pico/sysdrv/source/kernel/arch/arm/configs/luckfox_rv1106_linux_defconfig
    [build.sh:info] switch to buildroot defconfig: /home/luckfox-pico/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/configs/luckfox_pico_w_defconfig
    ============Start building app 1============
    TARGET_APP_CONFIG= RKIPC_RV1106
    =========================================
    [build.sh:info] ============Start building meta============
    [build.sh:info] Running build_meta succeeded.
    make: Entering directory '/home/luckfox-pico/luckfox-pico/project/app'
    make -C ./ipcweb/||exit -1; make -C ./rkipc/||exit -1; make -C ./wifi_app/||exit -1;
    make[1]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb'
    PKG_TARPATH is out/
    pushd build/; \
    rm -rf CMakeCache.txt; \
    cmake /home/luckfox-pico/luckfox-pico/project/app/ipcweb/ipcweb-backend/ \
    -DCMAKE_C_COMPILER=arm-rockchip830-linux-uclibcgnueabihf-gcc \
    -DCMAKE_CXX_COMPILER=arm-rockchip830-linux-uclibcgnueabihf-g++ \
    -DCMAKE_INSTALL_PREFIX="/home/luckfox-pico/luckfox-pico/project/app/ipcweb/out" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_COLOR_MAKEFILE=OFF \
    -DCMAKE_SYSTEM_NAME=Linux \
    -DUSE_RKIPC=ON \
    -DCMAKE_C_FLAGS="-I /home/luckfox-pico/luckfox-pico/output/out/media_out/include -I /home/luckfox-pico/luckfox-pico/project/app/ipcweb/out//include -L /home/luckfox-pico/luckfox-pico/project/app/ipcweb/out//usr/lib/ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-rpath-link,/home/luckfox-pico/luckfox-pico/output/out/media_out/lib:/home/luckfox-pico/luckfox-pico/output/out/media_out/root/usr/lib" -DCMAKE_CXX_FLAGS="-I /home/luckfox-pico/luckfox-pico/output/out/media_out/include -I /home/luckfox-pico/luckfox-pico/project/app/ipcweb/out//include -L /home/luckfox-pico/luckfox-pico/project/app/ipcweb/out//usr/lib/ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-rpath-link,/home/luckfox-pico/luckfox-pico/output/out/media_out/lib:/home/luckfox-pico/luckfox-pico/output/out/media_out/root/usr/lib" ;\
    make -j19 || exit -1; \
    make install; \
    popd;
    /home/luckfox-pico/luckfox-pico/project/app/ipcweb/build /home/luckfox-pico/luckfox-pico/project/app/ipcweb
    -- The CXX compiler identification is GNU 8.3.0
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- The C compiler identification is GNU 8.3.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    -- Found Threads: TRUE
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/luckfox-pico/luckfox-pico/project/app/ipcweb/build
    make[2]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[3]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    Consolidate compiler generated dependencies of target gtest
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    Consolidate compiler generated dependencies of target restapi
    [ 6%] Built target gtest
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    Consolidate compiler generated dependencies of target gmock
    Consolidate compiler generated dependencies of target gtest_main
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    [ 19%] Built target gmock
    [ 19%] Built target gtest_main
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    [ 74%] Built target restapi
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    Consolidate compiler generated dependencies of target gmock_main
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    Consolidate compiler generated dependencies of target ResponseTest
    Consolidate compiler generated dependencies of target ObjectsTest
    Consolidate compiler generated dependencies of target entry.cgi
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    [ 80%] Built target gmock_main
    make[4]: Entering directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    [ 87%] Built target ObjectsTest
    [ 90%] Linking CXX executable ResponseTest
    [ 96%] Built target entry.cgi
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: ../src/librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponse::addHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    http_response.cpp:(.text+0x170): undefined reference to `cgicc::HTTPResponseHeader::addHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: ../src/librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponse::setHeader(rockchip::cgi::HttpStatus)':
    http_response.cpp:(.text+0x21c): undefined reference to `cgicc::HTTPResponseHeader::HTTPResponseHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: ../src/librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponse::setCookie(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)':
    http_response.cpp:(.text+0x3fc): undefined reference to `cgicc::HTTPCookie::HTTPCookie(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: http_response.cpp:(.text+0x408): undefined reference to `cgicc::HTTPResponseHeader::setCookie(cgicc::HTTPCookie const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: http_response.cpp:(.text+0x410): undefined reference to `cgicc::HTTPCookie::~HTTPCookie()'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: ../src/librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponseImpl::setHeader(rockchip::cgi::HttpStatus, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    http_response.cpp:(.text._ZN8rockchip3cgi16HttpResponseImpl9setHeaderENS0_10HttpStatusERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN8rockchip3cgi16HttpResponseImpl9setHeaderENS0_10HttpStatusERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x4c): undefined reference to `cgicc::HTTPResponseHeader::HTTPResponseHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: ../src/librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponseImpl::render(std::ostream&)':
    http_response.cpp:(.text._ZN8rockchip3cgi16HttpResponseImpl6renderERSo[_ZN8rockchip3cgi16HttpResponseImpl6renderERSo]+0x8c): undefined reference to `cgicc::HTTPResponseHeader::addHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: http_response.cpp:(.text._ZN8rockchip3cgi16HttpResponseImpl6renderERSo[_ZN8rockchip3cgi16HttpResponseImpl6renderERSo]+0x220): undefined reference to `cgicc::HTTPResponseHeader::addHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    collect2: error: ld returned 1 exit status
    make[4]: *** [test/CMakeFiles/ResponseTest.dir/build.make:101: test/ResponseTest] Error 1
    make[4]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[3]: *** [CMakeFiles/Makefile2:363: test/CMakeFiles/ResponseTest.dir/all] Error 2
    make[3]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[2]: *** [Makefile:146: all] Error 2
    make[2]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb/build'
    make[1]: *** [Makefile:48: ipcweb-build] Error 255
    make[1]: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app/ipcweb'
    make: *** [Makefile:33: all] Error 255
    make: Leaving directory '/home/luckfox-pico/luckfox-pico/project/app'
    [build.sh:error] Running build_app failed!
    [build.sh:error] exit code 2 from line 581:
    [build.sh:info] make -C ${SDK_APP_DIR}
  • ipcweb-backend is an example provided by Rockchip and is included in the SDK. We've only tested its basic usage. This example is suitable for multiple platforms, but not all features are supported on every platform. We haven't tested it extensively and do not provide technical support for it. The configurable attributes currently supported by ipcweb-backend can be enabled or disabled in the .Boardconfig board support file. I have tested it on my end, and it can be configured normally after being enabled. However, I'm not sure what other configurations you've made, so I can't determine the cause of the compilation error.
  • Dear Crocodile

    Is there a build app guide document? If you have any documentation regarding setup, please let me know.

    thank you
    Last edited by hsg2000@cammsys.net on 2024-08-05 5:37, edited 1 time in total.
  • Unfortunately, I don't have any documentation related to rkipc-backend. There is a Chinese user guide for the rkipc application, but it only contains a brief introduction regarding the backend part, and there is no corresponding English version.
  • Dear Crocodile.

    How did you successfully build the sdk? I got a build link error. There seems to be no library. How did you install cgicc lib? Please confirm.

    Many Thanks.

    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: ../src/librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponse::addHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    http_response.cpp:(.text+0x170): undefined reference to `cgicc::HTTPResponseHeader::addHeader(std::__cxx11::basic_string/<homechar/,luckfox -stdpico:/:luckfoxchar_traits-<picochar/>tools,/ linuxstd/:toolchain:/allocatorarm<-charrockchip830>- linux>- uclibcgnueabihfconst/&bin,/ .std.:/:lib__cxx11/:gcc:/basic_stringarm<-charrockchip830,- linuxstd-:uclibcgnueabihf:/char_traits8.3.0</char.>.,/ .std.:/:.allocator.</char.>. />arm -constrockchip830&-)linux'-
    uclibcgnueabihf//homebin//luckfoxld.bfd-:pico /librestapi.aluckfox(-rest_api.cpp.opico)/:tools /inlinux /functiontoolchain /`armrockchip-:rockchip830:-cgilinux:-:uclibcgnueabihfdetail/:bin:/parseRequest.(.rockchip/:lib:/cgigcc:/:armHttpRequest-&rockchip830)-'linux:-
    uclibcgnueabihfrest_api.cpp/:8.3.0(/..text.+/0x320.).:/ .undefined. /reference. .to/ arm`-cgiccrockchip830:-:linuxCgicc-:uclibcgnueabihf:/Cgiccbin(/cgiccld.bfd::: CgiInput.*.)/'src
    //librestapi.ahome(/http_response.cpp.oluckfox)-:pico /inluckfox -functionpico /`toolsrockchip/:linux:/cgitoolchain:/:armHttpResponse-:rockchip830:-setHeaderlinux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/.(./../../rockchip../:arm:-cgirockchip830:-:linuxHttpStatus-)uclibcgnueabihf'/:bin
    /http_response.cppld.bfd::( .rest_api.cpptext:+(0x21c.)text:+ 0x61cundefined) :reference undefinedto reference` cgiccto: :`HTTPResponseHeadercgicc::::HTTPResponseHeaderCgicc(:std::~:Cgicc__cxx11(:):'basic_string
    </charhome,/ luckfoxstd-:pico:/char_traitsluckfox<-charpico>/,tools /stdlinux:/:toolchainallocator/<armchar->rockchip830 ->linux -constuclibcgnueabihf&/,bin /int.,. /stdlib:/:gcc__cxx11/:arm:-basic_stringrockchip830<-charlinux,- uclibcgnueabihfstd/:8.3.0:/char_traits.<.char/>.,. /std.:.:/allocator.<.char/>arm ->rockchip830 -constlinux&-)uclibcgnueabihf'/
    bin//homeld.bfd/:luckfox -librestapi.apico(/rest_api.cpp.oluckfox)-:pico /intools /functionlinux /`toolchainstd/:arm:-vectorrockchip830<-cgicclinux:-:uclibcgnueabihfFormFile/,bin /std.:.:/allocatorlib</cgiccgcc:/:armFormFile->rockchip830 ->linux:-:uclibcgnueabihfoperator/=8.3.0(/std.:.:/vector.<.cgicc/:.:.FormFile/,. .std/:arm:-allocatorrockchip830<-cgicclinux:-:uclibcgnueabihfFormFile/>bin />ld.bfd :const &.).'/:src
    /rest_api.cpplibrestapi.a:((http_response.cpp.o.)text._ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_:[ _ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_in] +function0x7c )`:rockchip :undefined: cgireference: :toHttpResponse :`:cgiccsetCookie:(:stdFormFile::::__cxx11FormFile:(:cgiccbasic_string:<:charFormFile, conststd&:):'char_traits
    </charhome>/,luckfox -stdpico:/:luckfoxallocator-<picochar/>tools />linux /consttoolchain&/,arm -stdrockchip830:-:linux__cxx11-:uclibcgnueabihf:/basic_stringbin</char.,. /stdlib:/:gccchar_traits/<armchar->rockchip830,- linuxstd-:uclibcgnueabihf:/allocator8.3.0</char.>. />. .const/&.,. /unsigned. .long/)arm'-:rockchip830
    -http_response.cpplinux:-(uclibcgnueabihf./textbin+/0x3fcld.bfd):: rest_api.cppundefined: (reference. text._ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_to[ _ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_`]cgicc+:0xa0:)HTTPCookie:: :undefinedHTTPCookie (referencestd :to: __cxx11`:cgicc::basic_string:<FormFilechar:,: ~stdFormFile:(:)char_traits'<
    char/>home,/ luckfoxstd-:pico:/allocatorluckfox<-charpico>/ tools>/ linuxconst/&toolchain,/ armstd-:rockchip830:-__cxx11linux:-:uclibcgnueabihfbasic_string/<binchar/,. .std/:lib:/char_traitsgcc</chararm>-,rockchip830 -stdlinux:-:uclibcgnueabihfallocator/<8.3.0char/>. .>/ .const.&/,. .std/:.:.__cxx11/:arm:-basic_stringrockchip830<-charlinux,- uclibcgnueabihfstd/:bin:/char_traitsld.bfd<:char >rest_api.cpp,: (std.:text._ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_:[allocator_ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_<]char+>0x108 )>: constundefined& ,reference stdto: :`__cxx11cgicc::::basic_stringFormFile<:char:,operator =std(:cgicc::char_traits:<FormFilechar >const,& )std':
    :/allocatorhome</charluckfox>- pico>/ luckfoxconst-&pico,/ toolsunsigned/ linuxlong/,toolchain /stdarm:-:rockchip830__cxx11-:linux:-basic_stringuclibcgnueabihf</charbin,/ .std.:/:libchar_traits/<gccchar/>arm,- rockchip830std-:linux:-allocatoruclibcgnueabihf</char8.3.0>/ .>. /const.&.,/ .bool.)/'.
    .//homearm/-luckfoxrockchip830--picolinux/-luckfoxuclibcgnueabihf-/picobin//toolsld.bfd/:linux /rest_api.cpptoolchain:/(arm.-text._ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_rockchip830[-_ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_linux]-+uclibcgnueabihf0x13c/)bin:/ .undefined. /referencelib /togcc /`armcgicc-:rockchip830:-FormFilelinux:-:uclibcgnueabihf~/FormFile8.3.0(/).'.
    //.home.//luckfox.-.pico//.luckfox.-/picoarm/-toolsrockchip830/-linuxlinux/-toolchainuclibcgnueabihf//armbin-/rockchip830ld.bfd-:linux -http_response.cppuclibcgnueabihf:/(bin./text.+.0x408/)lib:/ gccundefined/ armreference- rockchip830to- linux`-cgiccuclibcgnueabihf:/:8.3.0HTTPResponseHeader/:.:.setCookie/(.cgicc.:/:.HTTPCookie. /const.&.)/'arm
    -/rockchip830home-/linuxluckfox--uclibcgnueabihfpico//binluckfox/-ld.bfdpico:/ toolsrest_api.cpp/:linux(/.toolchaintext._ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_/[arm_ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_-]rockchip830+-0x154linux)-:uclibcgnueabihf /undefinedbin /reference. .to/ lib`/cgiccgcc:/:armFormFile-:rockchip830:-operatorlinux=-(uclibcgnueabihfcgicc/:8.3.0:/FormFile. .const/&.).'/
    ./.home//.luckfox.-/picoarm/-luckfoxrockchip830--picolinux/-toolsuclibcgnueabihf//linuxbin//toolchainld.bfd/:arm -http_response.cpprockchip830:-(linux.-textuclibcgnueabihf+/0x410bin)/:. .undefined/ libreference/ gccto/ arm`-cgiccrockchip830:-:linuxHTTPCookie-:uclibcgnueabihf:/~8.3.0HTTPCookie/(.).'/
    ./.home//.luckfox.-/pico./.luckfox/-armpico-/rockchip830tools-/linuxlinux-/uclibcgnueabihftoolchain//binarm/-ld.bfdrockchip830:- linuxrest_api.cpp-:uclibcgnueabihf(/.bintext._ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_/[._ZNSt6vectorIN5cgicc8FormFileESaIS1_EEaSERKS3_.]/+lib0x18c/)gcc:/ armundefined- rockchip830reference- linuxto- uclibcgnueabihf`/cgicc8.3.0:/:.FormFile.:/:.FormFile.(/cgicc.:.:/FormFile. .const/&arm)-'rockchip830
    -/linuxhome-/uclibcgnueabihfluckfox/-binpico//ld.bfdluckfox:- pico./.tools//srclinux//librestapi.atoolchain(/http_response.cpp.oarm)-:rockchip830 -inlinux -functionuclibcgnueabihf /`binrockchip/:.:.cgi/:lib:/HttpResponseImplgcc:/:armsetHeader-(rockchip830rockchip-:linux:-cgiuclibcgnueabihf:/:8.3.0HttpStatus/,. .std/:.:.__cxx11/:.:.basic_string/<.char.,/ armstd-:rockchip830:-char_traitslinux<-charuclibcgnueabihf>/,bin /stdld.bfd::: allocatorlibrestapi.a<(charrest_api.cpp.o>) :> inconst &function) '`:rockchip
    :http_response.cpp::cgi(:.:text._ZN8rockchip3cgi16HttpResponseImpl9setHeaderENS0_10HttpStatusERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEHttpRequest[:_ZN8rockchip3cgi16HttpResponseImpl9setHeaderENS0_10HttpStatusERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:]~+HttpRequest0x4c()):' :undefined
    rest_api.cppreference: (to. text._ZN8rockchip3cgi11HttpRequestD2Ev`[cgicc_ZN8rockchip3cgi11HttpRequestD5Ev:]:+HTTPResponseHeader0x20:)::HTTPResponseHeader (undefinedstd :reference: __cxx11to: :`basic_stringcgicc<:char:,FormFile :std::~:FormFilechar_traits(<)char'>
    ,/ homestd/:luckfox:-allocatorpico</charluckfox>- pico>/ toolsconst/&linux,/ toolchainint/,arm -stdrockchip830:-:linux__cxx11-:uclibcgnueabihf:/basic_stringbin</char.,. /stdlib:/:gccchar_traits/<armchar->rockchip830,- linuxstd-:uclibcgnueabihf:/allocator8.3.0</char.>. />. .const/&.).'/
    ./.home//armluckfox--rockchip830pico-/linuxluckfox--uclibcgnueabihfpico//bintools//ld.bfdlinux:/ toolchainlibrestapi.a/(armhttp_response.cpp.o-)rockchip830:- linuxin- function `rockchip::uclibcgnueabihfcgi/:bin:/HttpResponse.:.:/addHeaderlib(/stdgcc:/:arm__cxx11-:rockchip830:-basic_stringlinux<-charuclibcgnueabihf,/ 8.3.0std/:.:.char_traits/<.char.>/,. .std/:.:.allocator/<armchar->rockchip830 ->linux -constuclibcgnueabihf&/,bin /stdld.bfd::: __cxx11.:.:/basic_stringsrc</charlibrestapi.a,( http_response.cpp.ostd)::: char_traitsin< charfunction> ,` rockchipstd::::cgiallocator:<:charHttpResponseImpl>: :>render(std::ostream&)':
    http_response.cpp:(.text._ZN8rockchip3cgi16HttpResponseImpl6renderERSo[_ZN8rockchip3cgi16HttpResponseImpl6renderERSo]+0x8c): undefined const&)':
    http_response.cpp:(.referencetext+ 0x170to) :` cgiccundefined: :referenceHTTPResponseHeader :to: addHeader`(cgiccstd::::HTTPResponseHeader__cxx11::::addHeaderbasic_string(<stdchar:,: __cxx11std::::basic_stringchar_traits<<charchar,> ,std :std::char_traits:<allocatorchar<>char,> std>: :constallocator&<,char >std :>: __cxx11const:&:,basic_string <stdchar:,: __cxx11std::::basic_stringchar_traits<<charchar,> ,std :std::char_traits:<allocatorchar<>char,> std>: :constallocator&<)char'>
    />home /constluckfox&-)pico'/
    luckfox/-homepico//luckfoxtools-/picolinux//luckfoxtoolchain-/picoarm/-toolsrockchip830/-linuxlinux/-toolchainuclibcgnueabihf//armbin-/rockchip830.-.linux/-libuclibcgnueabihf//gccbin//arm.-.rockchip830/-liblinux/-gccuclibcgnueabihf//arm8.3.0-/rockchip830.-.linux/-.uclibcgnueabihf.//8.3.0./../../../.arm/-.rockchip830.-/linux.-.uclibcgnueabihf//armbin-/rockchip830ld.bfd-:linux -http_response.cppuclibcgnueabihf:/(bin./text._ZN8rockchip3cgi16HttpResponseImpl6renderERSold.bfd[:_ZN8rockchip3cgi16HttpResponseImpl6renderERSo ]librestapi.a+(0x220http_response.cpp.o)):: undefinedin referencefunction to` rockchip`:cgicc::cgi::HTTPResponseHeader::HttpResponse::addHeader:(setHeaderstd(:rockchip::__cxx11::cgi::basic_string:<HttpStatuschar),' :std
    :http_response.cpp::char_traits(<.chartext>+,0x21c )std:: :undefinedallocator <referencechar >to >` cgiccconst:&:,HTTPResponseHeader :std::HTTPResponseHeader:(__cxx11std::::basic_string__cxx11<:char:,basic_string <stdchar:,: char_traitsstd<:char:>char_traits,< charstd>:,: allocatorstd<:char:>allocator <>char >const &>) 'const
    &, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: librestapi.a(http_response.cpp.o): in function `collect2: error: ld returned 1 exit status
    rockchip::cgi::HttpResponse::setCookie(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)':
    http_response.cpp:(.text+0x3fc): undefined reference to `cgicc::HTTPCookie::HTTPCookie(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: http_response.cpp:(.text+0x408): undefined reference to `cgicc::HTTPResponseHeader::setCookie(cgicc::HTTPCookie const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: http_response.cpp:(.text+0x410): undefined reference to `cgicc::HTTPCookie::~HTTPCookie()'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponseImpl::setHeader(rockchip::cgi::HttpStatus, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    http_response.cpp:(.text._ZN8rockchip3cgi16HttpResponseImpl9setHeaderENS0_10HttpStatusERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN8rockchip3cgi16HttpResponseImpl9setHeaderENS0_10HttpStatusERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x4c): undefined reference to `cgicc::HTTPResponseHeader::HTTPResponseHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: librestapi.a(http_response.cpp.o): in function `rockchip::cgi::HttpResponseImpl::render(std::ostream&)':
    http_response.cpp:(.text._ZN8rockchip3cgi16HttpResponseImpl6renderERSo[_ZN8rockchip3cgi16HttpResponseImpl6renderERSo]+0x8c): undefined reference to `cgicc::HTTPResponseHeader::addHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/luckfox-pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/../lib/gcc/arm-rockchip830-linux-uclibcgnueabihf/8.3.0/../../../../arm-rockchip830-linux-uclibcgnueabihf/bin/ld.bfd: http_response.cpp:(.text._ZN8rockchip3cgi16HttpResponseImpl6renderERSo[_ZN8rockchip3cgi16HttpResponseImpl6renderERSo]+0x220): undefined reference to `cgicc::HTTPResponseHeader::addHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
  • I re-pulled the SDK and compiled it. After enabling RK_APP_IPCWEB_BACKEND in the .BoardConfig.mk, the compilation completed without any issues. I'm unable to determine what changes you made, so I'm unable to provide assistance. Please ensure the SDK is complete, as the repository should include libcgicc.so by default.
  • Dear Crocodile

    I solved it.

    RK_APP_IPCWEB_BACKEND After change

    I did a rebuild.

    Problem solved.

    thank you