chip-ota-provider-app for Raspberry PI

Hi support team,

I found chip-ota-provider-app tool for x64 from website

github.com/.../releases,

But I can't find chip-ota-provider-app tool for aarch64 which can run on Raspberry Pi,

Would you kindly provide aarch64 version for me to test DFU.

Thanks!

Best regards

Eric

Parents Reply Children
  • Hi Vidar

    follow the website building guide and use command as below:

    scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/provider_aarch64 chip_config_network_layer_ble=false 'target_cpu="arm64"'

    I can't build app-ota-provider-app arm64  from my x86 laptop and got some error :

    /usr/include/openssl/macros.h:14:10: fatal error: openssl/opensslconf.h: No such file or directory
    14 | #include <openssl/opensslconf.h>
    | ^~~~~~~~~~~~~~~~~~~~~~~

    my laptop had been install libssl-dev package and successfully build x86_64 version 

    opensslconf.h location is /use/include/x86_64-linux-gnu/openssl/opensslconf.h

    why arm64 cross-compiler can't find it?

    complete log :

    ➜ connectedhomeip git:(master) scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/provider_aarch64 chip_config_network_layer_ble=false 'target_cpu="arm64"'

    WELCOME TO...



    ▄ █ ▄ █ █
    ▀▀█████▀▀ ▄▀▀▀▄ ▄▀▀▀▄ ▄▀▀▀▀▄█ ▀▀█▀▀▀▀▀█▀▀ ▄▀▀▀▀▄ ▄▀▀
    ▀█▄ ▄█▀ █ █ █ █ █ █ █ █▄▄▄▄▄▄█ █
    ▀█▄ ▄█▀ █ █ █ █ █ █ █ █ █
    ▄██▀▀█ █▀▀██▄ █ █ █ ▀▄▄▄▄▀█ ▀▄▄ ▀▄▄ ▀▄▄▄▄▀ █
    ▀▀ █ █ ▀▀

    ACTIVATOR! This sets your shell environment variables.

    Activating environment (setting environment variables):

    Setting environment variables for CIPD package manager...done
    Setting environment variables for Python environment.....done
    Setting environment variables for pw packages............skipped
    Setting environment variables for Host tools.............done

    Checking the environment:

    20230614 03:05:37 INF Environment passes all checks!

    Environment looks good, you are ready to go!

    + env
    SHELL=/usr/bin/zsh
    LSCOLORS=Gxfxcxdxbxegedabagacad
    SESSION_MANAGER=local/eric-ub22042s:@/tmp/.ICE-unix/17418,unix/eric-ub22042s:/tmp/.ICE-unix/17418
    QT_ACCESSIBILITY=1
    COLORTERM=truecolor
    SSH_AGENT_LAUNCHER=gnome-keyring
    LESS=-R
    XDG_MENU_PREFIX=gnome-
    GNOME_DESKTOP_SESSION_ID=this-is-deprecated
    GNOME_SHELL_SESSION_MODE=ubuntu
    SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
    PW_PROJECT_ROOT=/home/eric/workspace/connectedhomeip
    XMODIFIERS=@im=ibus
    DESKTOP_SESSION=ubuntu
    PW_ZAP_CIPD_INSTALL_DIR=/home/eric/workspace/connectedhomeip/.environment/cipd/packages/zap
    GTK_MODULES=gail:atk-bridge
    PWD=/home/eric/workspace/connectedhomeip
    LOGNAME=eric
    XDG_SESSION_DESKTOP=ubuntu
    XDG_SESSION_TYPE=wayland
    SYSTEMD_EXEC_PID=17441
    XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.0OIB61
    PW_ROOT=/home/eric/workspace/connectedhomeip/third_party/pigweed/repo
    HOME=/home/eric
    USERNAME=eric
    LANG=en_US.UTF-8
    LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
    XDG_CURRENT_DESKTOP=ubuntu:GNOME
    VIRTUAL_ENV=/home/eric/workspace/connectedhomeip/.environment/pigweed-venv
    VTE_VERSION=6800
    WAYLAND_DISPLAY=wayland-0
    GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/d5a02041_1f33_4755_b950_6407d8355f05
    PW_PYTHON_CIPD_INSTALL_DIR=/home/eric/workspace/connectedhomeip/.environment/cipd/packages/python
    _PW_ROSETTA=0
    GNOME_SETUP_DISPLAY=:1
    XDG_SESSION_CLASS=user
    TERM=xterm-256color
    ZSH=/home/eric/.oh-my-zsh
    USER=eric
    GNOME_TERMINAL_SERVICE=:1.87
    DISPLAY=:0
    SHLVL=2
    PAGER=less
    QT_IM_MODULE=ibus
    PW_PACKAGE_ROOT=/home/eric/workspace/connectedhomeip/.environment/packages
    _PW_ENVIRONMENT_CONFIG_FILE=/home/eric/workspace/connectedhomeip/scripts/setup/environment.json
    XDG_RUNTIME_DIR=/run/user/1000
    _PW_ACTUAL_ENVIRONMENT_ROOT=/home/eric/workspace/connectedhomeip/.environment
    PW_BRANDING_BANNER=/home/eric/workspace/connectedhomeip/scripts/setup/banner.txt
    PW_ARM_CIPD_INSTALL_DIR=/home/eric/workspace/connectedhomeip/.environment/cipd/packages/arm
    XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
    PATH=/home/eric/workspace/connectedhomeip/third_party/pigweed/repo/out/host/host_tools:/home/eric/workspace/connectedhomeip/.environment/pigweed-venv/bin:/home/eric/workspace/connectedhomeip/.environment/cipd/packages/arm/bin:/home/eric/workspace/connectedhomeip/.environment/cipd/packages/arm:/home/eric/workspace/connectedhomeip/.environment/cipd/packages/pigweed/bin:/home/eric/workspace/connectedhomeip/.environment/cipd/packages/pigweed:/home/eric/workspace/connectedhomeip/.environment/cipd/packages/zap:/home/eric/workspace/connectedhomeip/.environment/cipd:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
    GDMSESSION=ubuntu
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
    PW_PIGWEED_CIPD_INSTALL_DIR=/home/eric/workspace/connectedhomeip/.environment/cipd/packages/pigweed
    OLDPWD=/home/eric
    _=/usr/bin/env
    + gn gen --check --fail-on-unused-args --root=examples/ota-provider-app/linux out/provider_aarch64 '--args=chip_config_network_layer_ble=false target_cpu="arm64"'
    Done. Made 231 targets from 213 files in 137ms
    + ninja -C out/provider_aarch64
    ninja: Entering directory `out/provider_aarch64'
    [190/450] c++ obj/third_party/connectedhomeip/src/crypto/cryptopal_openssl.CHIPCryptoPALOpenSSL.cpp.o
    FAILED: obj/third_party/connectedhomeip/src/crypto/cryptopal_openssl.CHIPCryptoPALOpenSSL.cpp.o
    aarch64-linux-gnu-g++ -MMD -MF obj/third_party/connectedhomeip/src/crypto/cryptopal_openssl.CHIPCryptoPALOpenSSL.cpp.o.d -O0 -g2 -fno-common -ffunction-sections -fdata-sections -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -Wall -Werror -Wextra -Wshadow -Wunreachable-code -Wvla -Wformat -Wformat-nonliteral -Wformat-security -Wno-deprecated-declarations -Wno-missing-field-initializers -Wno-unknown-warning-option -Wno-unused-parameter -Wno-cast-function-type -Wno-psabi -Wno-maybe-uninitialized -fdiagnostics-color -fno-strict-aliasing -fmacro-prefix-map=../../examples/ota-provider-app/linux/third_party/connectedhomeip/= -std=gnu++14 -fno-rtti -Wnon-virtual-dtor -DCHIP_HAVE_CONFIG_H=1 -I../../examples/ota-provider-app/linux/third_party/connectedhomeip/src/include -I../../examples/ota-provider-app/linux/third_party/connectedhomeip/src -Igen/include -I../../examples/ota-provider-app/linux/third_party/connectedhomeip/zzz_generated/app-common -I../../examples/ota-provider-app/linux/third_party/connectedhomeip/examples/ota-provider-app/linux/include -I../../examples/ota-provider-app/linux/third_party/connectedhomeip/config/standalone -I../../examples/ota-provider-app/linux/third_party/connectedhomeip/third_party/nlassert/repo/include -I../../examples/ota-provider-app/linux/third_party/connectedhomeip/third_party/nlio/repo/include -c ../../examples/ota-provider-app/linux/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp -o obj/third_party/connectedhomeip/src/crypto/cryptopal_openssl.CHIPCryptoPALOpenSSL.cpp.o
    In file included from /usr/include/openssl/bn.h:15,
    from ../../examples/ota-provider-app/linux/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:31:
    /usr/include/openssl/macros.h:14:10: fatal error: openssl/opensslconf.h: No such file or directory
    14 | #include <openssl/opensslconf.h>
    | ^~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    [195/450] c++ obj/third_party/connectedhomeip/src/credentials/libCredentials.LastKnownGoodTime.cpp.o
    ninja: build stopped: subcommand failed.

  • Hi Eric,

    To cross-compile this tool you will likely need to create a 'sysroot' folder with the libraries and headers from your Pi. You can't cross compile with the x64 libraries from your host. But what OS are you targeting, and why are you not using the pre-built executable?

  • Hi Eric,

    Isn't this the executable you are looking for:

     

    ?

    Best regards,

    Vidar

  • Hi Vidar,

    The zip file only include chip-tool-debug and chip-tool-release 2 files.

    Best regards

    Eric

Related