libretiny-eu / libretiny

PlatformIO development platform for IoT modules
http://docs.libretiny.eu/
MIT License
412 stars 61 forks source link

Compile error #99

Closed edautz closed 1 year ago

edautz commented 1 year ago

Hallo,

Created last week an Ubuntu Amd64 VM with a libretuya ESPHome container version:

ESPHome by Nabu Casa | Fund development | v2023.3.0-dev Documentation

and compiled sucessful the next yaml:

substitutions:
  device_name: "test-cloud-cutter-lsc-connec1"
  friendly_name: "test cloud cutter lsc connec1"

esphome:
  name: ${device_name}
  name_add_mac_suffix: false

libretuya:
  board: wb2s
  framework:
    version: dev

logger:
  level: INFO
  baud_rate: 0

api:
  password: !secret api_password
  #auto reboot bij ontbreken van HA api connectie uitzetten.
  reboot_timeout: 0s

ota:
  password: !secret ota_password

wifi:
  networks:
  - ssid: !secret wifi_ssid1 
    password: !secret wifi_password1
    priority: 3.0
  - ssid: !secret wifi_ssid2
    password: !secret wifi_password2
    priority: 3.0
  - ssid: !secret wifi_ssid3
    password: !secret wifi_password3
    priority: 2.0

  #use_address: 192.168.2.126
  manual_ip:
    static_ip: 192.168.2.222
    gateway: 192.168.2.1
    subnet: 255.255.255.0
  ap:
    ssid: ${friendly_name} AP
    password: !secret wifi_fallback_pw

captive_portal:

web_server:
  local: true
  port: 80
  auth:
    username: admin
    password: !secret web_server_password

time:
  - platform: homeassistant
    id: homeassistant_time

sensor:
  - platform: uptime
    name: Uptime Sensor
    id: uptime_sensor
    update_interval: 60s
    internal: true
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: uptime_human
            state: !lambda |-
              int seconds = round(id(uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds / 60;
              seconds = seconds % 60;
              return (
                (days ? to_string(days) + "d " : "") +
                (hours ? to_string(hours) + "h " : "") +
                (minutes ? to_string(minutes) + "m " : "") +
                (to_string(seconds) + "s")
              ).c_str();
  - platform: wifi_signal
    #id: Wifi_signal_sensor
    name: ${friendly_name} WiFi Signal Sensor
    update_interval: 60s

#diag info
text_sensor:
  - platform: version
    name: ${friendly_name} ESPHome Info
    icon: "mdi:chip"
  - platform: wifi_info
    ip_address:
      name: ${friendly_name} IP Address
      icon: mdi:ip-network
    ssid:
      name: ${friendly_name} Netwerk
      icon: mdi:access-point-network
    mac_address:
      name: ${friendly_name} Mac adres
      icon: mdi:folder-key-network-outline
  - platform: template
    name: ${friendly_name} Uptime
    id: uptime_human
    icon: mdi:clock-start

button: 
  - platform: restart
    name: ${friendly_name} Restart device 

binary_sensor:
  - platform: status
    name: ${friendly_name} status HA API connectie
  - platform: gpio
    pin:
      number: D1
      mode: INPUT_PULLUP
      inverted: true
    name: ${friendly_name} button
    internal: true
    on_press:
      - switch.toggle: relay

output:
  - platform: gpio
    id: relay_led
    pin: D2

switch:
  - platform: gpio
    id: relay
    name: lsc-plug-1_relay
    pin: D0
    on_turn_on:
      - output.turn_on: relay_led
    on_turn_off:
      - output.turn_off: relay_led

Flashed on LSC Smart Connect power plug and runs fine without problems.

Created today an ARMv7 based RPI a libretuya ESPHome container with:

ESPHome by Nabu Casa | Fund development | v2023.4.0-dev Documentation

Notices that the ESPHome version is updated from v2023.3.0 to 2023.4.0.

Container runs fine on a RPI3 and RPI4, but:

Try to compile the same yaml, but got compile error:

INFO Reading configuration /config/lsc-smart-connect-beken-bk7231t-power-plug.yaml...
INFO Detected timezone 'Europe/Amsterdam'
INFO Generating C++ source...
INFO Compiling app...
Processing test-cloud-cutter-lsc-connect (board: wb2s; framework: arduino; platform: https://github.com/kuba2k2/libretuya.git)
--------------------------------------------------------------------------------
Installing/updating ltchiptool
Collecting ltchiptool<4.0,>=^3.0.1
  Using cached ltchiptool-3.0.1-py3-none-any.whl (116 kB)
Collecting prettytable<4.0.0,>=3.3.0
  Using cached prettytable-3.6.0-py3-none-any.whl (27 kB)
Collecting bk7231tools<2.0.0,>=1.3.0
  Using cached bk7231tools-1.3.1-py3-none-any.whl (28 kB)
Collecting importlib-metadata<5.0.0,>=4.12.0
  Using cached importlib_metadata-4.13.0-py3-none-any.whl (23 kB)
Collecting colorama<0.5.0,>=0.4.5
  Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting pycryptodomex<4.0.0,>=3.15.0
  Using cached pycryptodomex-3.17.tar.gz (4.6 MB)
Collecting xmodem<0.5.0,>=0.4.6
  Using cached xmodem-0.4.6-py3-none-any.whl
Collecting click<9.0.0,>=8.1.3
  Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting pyserial<4.0,>=3.5
  Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting zipp>=0.5
  Using cached zipp-3.15.0-py3-none-any.whl (6.8 kB)
Collecting wcwidth
  Using cached wcwidth-0.2.6-py2.py3-none-any.whl (29 kB)
Building wheels for collected packages: pycryptodomex
  Building wheel for pycryptodomex (setup.py): started
  Building wheel for pycryptodomex (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/setup.py'"'"'; __file__='"'"'/tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-2c_8krip
       cwd: /tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/
  Complete output (333 lines):
  Testing support for clang
  Target does not support clang
  Testing support for gcc
  Target does not support gcc
  Testing support for stdint.h header
  Target does not support stdint.h header
  Testing support for 128-bit integer
  Target does not support 128-bit integer
  Testing support for cpuid.h header
  Target does not support cpuid.h header
  Testing support for intrin.h header
  Target does not support intrin.h header
  Testing support for posix_memalign
  Target does not support posix_memalign
  Testing support for memalign
  Target does not support memalign
  Testing support for SSE2(intrin.h)
  Target does not support SSE2(intrin.h)
  Testing support for SSE2(x86intrin.h)
  Target does not support SSE2(x86intrin.h)
  Testing support for SSE2(emmintrin.h)
  Target does not support SSE2(emmintrin.h)
  Warning: compiler does not support AESNI instructions
  Warning: compiler does not support CLMUL instructions
  running bdist_wheel
  running build
  running build_py
  creating build/lib.linux-aarch64-3.9
  creating build/lib.linux-aarch64-3.9/Cryptodome
  copying lib/Cryptodome/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome
  creating build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/DES.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ctr.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_EKSBlowfish.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ofb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ccm.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/CAST.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_cfb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/AES.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/DES3.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ChaCha20.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_cbc.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_eax.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ARC4.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_siv.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/PKCS1_OAEP.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/Blowfish.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/PKCS1_v1_5.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ARC2.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/Salsa20.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_gcm.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_openpgp.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ChaCha20_Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ecb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ocb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  creating build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/keccak.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/RIPEMD.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/HMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/MD2.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/KMAC128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/KangarooTwelve.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHAKE256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/BLAKE2s.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/CMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/KMAC256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHAKE128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/TupleHash128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/BLAKE2b.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA224.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/RIPEMD160.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_384.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA384.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_224.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/TupleHash256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_512.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA1.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/cSHAKE256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/cSHAKE128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/MD4.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA512.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/MD5.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  creating build/lib.linux-aarch64-3.9/Cryptodome/IO
  copying lib/Cryptodome/IO/PEM.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
  copying lib/Cryptodome/IO/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
  copying lib/Cryptodome/IO/_PBES.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
  copying lib/Cryptodome/IO/PKCS8.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
  creating build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/ElGamal.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/_openssh.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/RSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/DSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/ECC.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  creating build/lib.linux-aarch64-3.9/Cryptodome/Protocol
  copying lib/Cryptodome/Protocol/SecretSharing.py -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
  copying lib/Cryptodome/Protocol/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
  copying lib/Cryptodome/Protocol/KDF.py -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
  creating build/lib.linux-aarch64-3.9/Cryptodome/Random
  copying lib/Cryptodome/Random/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Random
  copying lib/Cryptodome/Random/random.py -> build/lib.linux-aarch64-3.9/Cryptodome/Random
  creating build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/DSS.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/pkcs1_15.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/PKCS1_v1_5.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/PKCS1_PSS.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/eddsa.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/pss.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  creating build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/_file_system.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/py3compat.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/_cpu_features.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/_raw_api.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/RFC1751.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/strxor.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/Padding.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/asn1.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/number.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/Counter.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  creating build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerCustom.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerNative.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/Primality.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerBase.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/Numbers.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerGMP.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
  copying lib/Cryptodome/SelfTest/loader.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
  copying lib/Cryptodome/SelfTest/st_common.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
  copying lib/Cryptodome/SelfTest/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
  copying lib/Cryptodome/SelfTest/__main__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_DES.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_CTR.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_pkcs1_15.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_CFB.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_CAST.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_Salsa20.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_DES3.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_CBC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_ChaCha20_Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_OpenPGP.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_ARC4.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_pkcs1_oaep.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_OFB.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_ChaCha20.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_OCB.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_Blowfish.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_CCM.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_ARC2.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_AES.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_SIV.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_GCM.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/common.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  copying lib/Cryptodome/SelfTest/Cipher/test_EAX.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA3_256.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_MD2.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA512.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHAKE.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_CMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_KMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_KangarooTwelve.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA3_384.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_cSHAKE.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_MD4.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_HMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA1.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_RIPEMD160.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_MD5.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_BLAKE2.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_TupleHash.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA256.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA384.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA3_224.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA3_512.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/common.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_SHA224.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  copying lib/Cryptodome/SelfTest/Hash/test_keccak.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
  copying lib/Cryptodome/SelfTest/IO/test_PKCS8.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
  copying lib/Cryptodome/SelfTest/IO/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
  copying lib/Cryptodome/SelfTest/IO/test_PBES.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
  copying lib/Cryptodome/SelfTest/Protocol/test_rfc1751.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
  copying lib/Cryptodome/SelfTest/Protocol/test_KDF.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
  copying lib/Cryptodome/SelfTest/Protocol/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
  copying lib/Cryptodome/SelfTest/Protocol/test_SecretSharing.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_import_RSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_import_DSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_ECC_25519.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_ElGamal.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_DSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_ECC_NIST.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_ECC_448.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_import_ECC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  copying lib/Cryptodome/SelfTest/PublicKey/test_RSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Random
  copying lib/Cryptodome/SelfTest/Random/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Random
  copying lib/Cryptodome/SelfTest/Random/test_random.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Random
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
  copying lib/Cryptodome/SelfTest/Signature/test_pkcs1_15.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
  copying lib/Cryptodome/SelfTest/Signature/test_pss.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
  copying lib/Cryptodome/SelfTest/Signature/test_dss.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
  copying lib/Cryptodome/SelfTest/Signature/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
  copying lib/Cryptodome/SelfTest/Signature/test_eddsa.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  copying lib/Cryptodome/SelfTest/Util/test_number.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  copying lib/Cryptodome/SelfTest/Util/test_Counter.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  copying lib/Cryptodome/SelfTest/Util/test_rfc1751.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  copying lib/Cryptodome/SelfTest/Util/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  copying lib/Cryptodome/SelfTest/Util/test_strxor.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  copying lib/Cryptodome/SelfTest/Util/test_asn1.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  copying lib/Cryptodome/SelfTest/Util/test_Padding.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
  creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
  copying lib/Cryptodome/SelfTest/Math/test_Primality.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
  copying lib/Cryptodome/SelfTest/Math/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
  copying lib/Cryptodome/SelfTest/Math/test_modexp.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
  copying lib/Cryptodome/SelfTest/Math/test_Numbers.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
  copying lib/Cryptodome/py.typed -> build/lib.linux-aarch64-3.9/Cryptodome
  copying lib/Cryptodome/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome
  copying lib/Cryptodome/Cipher/_mode_openpgp.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/DES3.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_gcm.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ofb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/AES.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/DES.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ccm.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/CAST.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ctr.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_cfb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_siv.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_cbc.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/Blowfish.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/PKCS1_OAEP.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ChaCha20.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ChaCha20_Poly1305.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_EKSBlowfish.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ecb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_ocb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/_mode_eax.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/PKCS1_v1_5.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/Salsa20.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ARC2.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Cipher/ARC4.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
  copying lib/Cryptodome/Hash/SHA1.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/HMAC.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/KMAC256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA384.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_384.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_512.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/MD5.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/keccak.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/cSHAKE256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA512.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHAKE128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/BLAKE2b.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/RIPEMD160.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/cSHAKE128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/KangarooTwelve.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/Poly1305.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/RIPEMD.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHAKE256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA3_224.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/TupleHash128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/BLAKE2s.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/KMAC128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/CMAC.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/TupleHash256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/MD2.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/MD4.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/Hash/SHA224.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
  copying lib/Cryptodome/IO/PKCS8.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/IO
  copying lib/Cryptodome/IO/_PBES.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/IO
  copying lib/Cryptodome/IO/PEM.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/IO
  copying lib/Cryptodome/PublicKey/RSA.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/ElGamal.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/DSA.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/_openssh.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/PublicKey/ECC.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
  copying lib/Cryptodome/Protocol/KDF.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
  copying lib/Cryptodome/Protocol/SecretSharing.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
  copying lib/Cryptodome/Protocol/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
  copying lib/Cryptodome/Random/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Random
  copying lib/Cryptodome/Random/random.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Random
  copying lib/Cryptodome/Signature/DSS.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/eddsa.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/PKCS1_PSS.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/pkcs1_15.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/PKCS1_v1_5.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Signature/pss.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
  copying lib/Cryptodome/Util/strxor.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/_cpu_features.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/RFC1751.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/Padding.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/asn1.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/py3compat.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/number.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/_file_system.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/Counter.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Util/_raw_api.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
  copying lib/Cryptodome/Math/Numbers.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/Primality.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerCustom.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerBase.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerGMP.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  copying lib/Cryptodome/Math/_IntegerNative.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
  running build_ext
  building 'Cryptodome.Hash._MD2' extension
  creating build/temp.linux-aarch64-3.9
  creating build/temp.linux-aarch64-3.9/src
  arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCRYPTO_LITTLE_ENDIAN -DSYS_BITS=32 -DLTC_NO_ASM -Isrc/ -I/usr/include/python3.9 -c src/MD2.c -o build/temp.linux-aarch64-3.9/src/MD2.o
  error: command 'arm-linux-gnueabihf-gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for pycryptodomex
  Running setup.py clean for pycryptodomex
Failed to build pycryptodomex
Installing collected packages: zipp, wcwidth, pyserial, xmodem, pycryptodomex, prettytable, importlib-metadata, colorama, click, bk7231tools, ltchiptool
  Attempting uninstall: zipp
    Found existing installation: zipp 3.15.0
    Uninstalling zipp-3.15.0:
      Successfully uninstalled zipp-3.15.0
  Attempting uninstall: wcwidth
    Found existing installation: wcwidth 0.2.6
    Uninstalling wcwidth-0.2.6:
      Successfully uninstalled wcwidth-0.2.6
  Attempting uninstall: pyserial
    Found existing installation: pyserial 3.5
    Uninstalling pyserial-3.5:
      Successfully uninstalled pyserial-3.5
  Attempting uninstall: xmodem
    Found existing installation: xmodem 0.4.6
    Uninstalling xmodem-0.4.6:
      Successfully uninstalled xmodem-0.4.6
    Running setup.py install for pycryptodomex: started
    Running setup.py install for pycryptodomex: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/setup.py'"'"'; __file__='"'"'/tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vuq59xu3/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/pycryptodomex
         cwd: /tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/
    Complete output (333 lines):
    Testing support for clang
    Target does not support clang
    Testing support for gcc
    Target does not support gcc
    Testing support for stdint.h header
    Target does not support stdint.h header
    Testing support for 128-bit integer
    Target does not support 128-bit integer
    Testing support for cpuid.h header
    Target does not support cpuid.h header
    Testing support for intrin.h header
    Target does not support intrin.h header
    Testing support for posix_memalign
    Target does not support posix_memalign
    Testing support for memalign
    Target does not support memalign
    Testing support for SSE2(intrin.h)
    Target does not support SSE2(intrin.h)
    Testing support for SSE2(x86intrin.h)
    Target does not support SSE2(x86intrin.h)
    Testing support for SSE2(emmintrin.h)
    Target does not support SSE2(emmintrin.h)
    Warning: compiler does not support AESNI instructions
    Warning: compiler does not support CLMUL instructions
    running install
    running build
    running build_py
    creating build/lib.linux-aarch64-3.9
    creating build/lib.linux-aarch64-3.9/Cryptodome
    copying lib/Cryptodome/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome
    creating build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/DES.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ctr.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_EKSBlowfish.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ofb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ccm.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/CAST.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_cfb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/AES.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/DES3.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ChaCha20.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_cbc.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_eax.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ARC4.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_siv.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/PKCS1_OAEP.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/Blowfish.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/PKCS1_v1_5.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ARC2.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/Salsa20.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_gcm.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_openpgp.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ChaCha20_Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ecb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ocb.py -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    creating build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/keccak.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/RIPEMD.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/HMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/MD2.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/KMAC128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/KangarooTwelve.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHAKE256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/BLAKE2s.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/CMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/KMAC256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHAKE128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/TupleHash128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/BLAKE2b.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA224.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/RIPEMD160.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_384.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA384.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_224.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/TupleHash256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_512.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA1.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/cSHAKE256.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/cSHAKE128.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/MD4.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA512.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/MD5.py -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    creating build/lib.linux-aarch64-3.9/Cryptodome/IO
    copying lib/Cryptodome/IO/PEM.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
    copying lib/Cryptodome/IO/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
    copying lib/Cryptodome/IO/_PBES.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
    copying lib/Cryptodome/IO/PKCS8.py -> build/lib.linux-aarch64-3.9/Cryptodome/IO
    creating build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/ElGamal.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/_openssh.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/RSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/DSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/ECC.py -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    creating build/lib.linux-aarch64-3.9/Cryptodome/Protocol
    copying lib/Cryptodome/Protocol/SecretSharing.py -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
    copying lib/Cryptodome/Protocol/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
    copying lib/Cryptodome/Protocol/KDF.py -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
    creating build/lib.linux-aarch64-3.9/Cryptodome/Random
    copying lib/Cryptodome/Random/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Random
    copying lib/Cryptodome/Random/random.py -> build/lib.linux-aarch64-3.9/Cryptodome/Random
    creating build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/DSS.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/pkcs1_15.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/PKCS1_v1_5.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/PKCS1_PSS.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/eddsa.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/pss.py -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    creating build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/_file_system.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/py3compat.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/_cpu_features.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/_raw_api.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/RFC1751.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/strxor.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/Padding.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/asn1.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/number.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/Counter.py -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    creating build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerCustom.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerNative.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/Primality.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerBase.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/Numbers.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerGMP.py -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
    copying lib/Cryptodome/SelfTest/loader.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
    copying lib/Cryptodome/SelfTest/st_common.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
    copying lib/Cryptodome/SelfTest/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
    copying lib/Cryptodome/SelfTest/__main__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_DES.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_CTR.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_pkcs1_15.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_CFB.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_CAST.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_Salsa20.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_DES3.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_CBC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_ChaCha20_Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_OpenPGP.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_ARC4.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_pkcs1_oaep.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_OFB.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_ChaCha20.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_OCB.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_Blowfish.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_CCM.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_ARC2.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_AES.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_SIV.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_GCM.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/common.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    copying lib/Cryptodome/SelfTest/Cipher/test_EAX.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Cipher
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_Poly1305.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA3_256.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_MD2.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA512.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHAKE.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_CMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_KMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_KangarooTwelve.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA3_384.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_cSHAKE.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_MD4.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_HMAC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA1.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_RIPEMD160.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_MD5.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_BLAKE2.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_TupleHash.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA256.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA384.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA3_224.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA3_512.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/common.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_SHA224.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    copying lib/Cryptodome/SelfTest/Hash/test_keccak.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Hash
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
    copying lib/Cryptodome/SelfTest/IO/test_PKCS8.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
    copying lib/Cryptodome/SelfTest/IO/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
    copying lib/Cryptodome/SelfTest/IO/test_PBES.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/IO
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
    copying lib/Cryptodome/SelfTest/Protocol/test_rfc1751.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
    copying lib/Cryptodome/SelfTest/Protocol/test_KDF.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
    copying lib/Cryptodome/SelfTest/Protocol/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
    copying lib/Cryptodome/SelfTest/Protocol/test_SecretSharing.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Protocol
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_import_RSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_import_DSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_ECC_25519.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_ElGamal.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_DSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_ECC_NIST.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_ECC_448.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_import_ECC.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    copying lib/Cryptodome/SelfTest/PublicKey/test_RSA.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/PublicKey
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Random
    copying lib/Cryptodome/SelfTest/Random/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Random
    copying lib/Cryptodome/SelfTest/Random/test_random.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Random
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
    copying lib/Cryptodome/SelfTest/Signature/test_pkcs1_15.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
    copying lib/Cryptodome/SelfTest/Signature/test_pss.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
    copying lib/Cryptodome/SelfTest/Signature/test_dss.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
    copying lib/Cryptodome/SelfTest/Signature/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
    copying lib/Cryptodome/SelfTest/Signature/test_eddsa.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Signature
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    copying lib/Cryptodome/SelfTest/Util/test_number.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    copying lib/Cryptodome/SelfTest/Util/test_Counter.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    copying lib/Cryptodome/SelfTest/Util/test_rfc1751.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    copying lib/Cryptodome/SelfTest/Util/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    copying lib/Cryptodome/SelfTest/Util/test_strxor.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    copying lib/Cryptodome/SelfTest/Util/test_asn1.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    copying lib/Cryptodome/SelfTest/Util/test_Padding.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Util
    creating build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
    copying lib/Cryptodome/SelfTest/Math/test_Primality.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
    copying lib/Cryptodome/SelfTest/Math/__init__.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
    copying lib/Cryptodome/SelfTest/Math/test_modexp.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
    copying lib/Cryptodome/SelfTest/Math/test_Numbers.py -> build/lib.linux-aarch64-3.9/Cryptodome/SelfTest/Math
    copying lib/Cryptodome/py.typed -> build/lib.linux-aarch64-3.9/Cryptodome
    copying lib/Cryptodome/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome
    copying lib/Cryptodome/Cipher/_mode_openpgp.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/DES3.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_gcm.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ofb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/AES.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/DES.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ccm.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/CAST.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ctr.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_cfb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_siv.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_cbc.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/Blowfish.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/PKCS1_OAEP.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ChaCha20.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ChaCha20_Poly1305.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_EKSBlowfish.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ecb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_ocb.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/_mode_eax.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/PKCS1_v1_5.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/Salsa20.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ARC2.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Cipher/ARC4.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Cipher
    copying lib/Cryptodome/Hash/SHA1.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/HMAC.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/KMAC256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA384.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_384.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_512.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/MD5.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/keccak.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/cSHAKE256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA512.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHAKE128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/BLAKE2b.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/RIPEMD160.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/cSHAKE128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/KangarooTwelve.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/Poly1305.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/RIPEMD.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHAKE256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA3_224.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/TupleHash128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/BLAKE2s.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/KMAC128.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/CMAC.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/TupleHash256.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/MD2.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/MD4.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/Hash/SHA224.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Hash
    copying lib/Cryptodome/IO/PKCS8.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/IO
    copying lib/Cryptodome/IO/_PBES.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/IO
    copying lib/Cryptodome/IO/PEM.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/IO
    copying lib/Cryptodome/PublicKey/RSA.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/ElGamal.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/DSA.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/_openssh.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/PublicKey/ECC.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/PublicKey
    copying lib/Cryptodome/Protocol/KDF.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
    copying lib/Cryptodome/Protocol/SecretSharing.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
    copying lib/Cryptodome/Protocol/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Protocol
    copying lib/Cryptodome/Random/__init__.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Random
    copying lib/Cryptodome/Random/random.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Random
    copying lib/Cryptodome/Signature/DSS.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/eddsa.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/PKCS1_PSS.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/pkcs1_15.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/PKCS1_v1_5.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Signature/pss.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Signature
    copying lib/Cryptodome/Util/strxor.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/_cpu_features.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/RFC1751.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/Padding.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/asn1.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/py3compat.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/number.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/_file_system.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/Counter.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Util/_raw_api.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Util
    copying lib/Cryptodome/Math/Numbers.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/Primality.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerCustom.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerBase.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerGMP.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    copying lib/Cryptodome/Math/_IntegerNative.pyi -> build/lib.linux-aarch64-3.9/Cryptodome/Math
    running build_ext
    building 'Cryptodome.Hash._MD2' extension
    creating build/temp.linux-aarch64-3.9
    creating build/temp.linux-aarch64-3.9/src
    arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCRYPTO_LITTLE_ENDIAN -DSYS_BITS=32 -DLTC_NO_ASM -Isrc/ -I/usr/include/python3.9 -c src/MD2.c -o build/temp.linux-aarch64-3.9/src/MD2.o
    error: command 'arm-linux-gnueabihf-gcc' failed: No such file or directory
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/setup.py'"'"'; __file__='"'"'/tmp/pip-install-h5_auro6/pycryptodomex_30d0afa4125647b99dd1117a0d7d1e24/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vuq59xu3/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/pycryptodomex Check the logs for full command output.
!!! Installing ltchiptool failed, or version outdated. Please install ltchiptool manually using pip. Cannot continue. <member 'name' of 'ImportError' objects>: No module named 'ltchiptool'
Error: Unknown development platform 'libretuya'
kuba2k2 commented 1 year ago

I hate this

edautz commented 1 year ago

Sorry for the hassle.

Is there anything I can do?

kuba2k2 commented 1 year ago

Don't be sorry, it's not your fault. This issue is my greatest failure, and I hate trying to fix it constantly with no success. Encryption - doesn't build. No encryption - doesn't update OTA. Encryption again - doesn't build again, even if everything tells me it should...

RoganDawes commented 1 year ago

Would it not make sense to simply use the slower pure python solution, and skip trying to install high-performance wheels? I mean, if it is the difference between 55 seconds or 60 seconds to build, I really don't think anyone will care. It's better than something that doesn't build at all.

kuba2k2 commented 1 year ago

Sure, 55 vs 60 seconds is not a huge difference. That's a difference on a fairly modern PC - it might be 55 vs 80 seconds on a Raspberry Pi or some other SBC. If the first build takes 55 seconds, the following builds might take 10 seconds. And 10 vs 35 seconds is already a huge difference.

I'll try to find the root of this issue and resolve it, for good this time. I have a Pi 3B, but for some reason it says it's aarch64. I have an aarch64 VM in QEMU as well, but I don't have any ARM 32 bit systems. Might have to make a VM for that too...

zviratkos commented 1 year ago

Hello,

won't that be same problem with not having install 32bit libc6-i386? Somewhere else was mentioned, that arm-linux-gnueabihf-gcc is only 32bit application? In my case "apt-get install libc6-i386" solved this error, but I'm not running dockerized version, just 64bit Debian VM.

Jarda

kuba2k2 commented 1 year ago

No, this is a different problem. I believe it's fixed since yesterday, because I upgraded GCC to a version that has real 64 bit binaries.

RoganDawes commented 1 year ago

Sure, 55 vs 60 seconds is not a huge difference. That's a difference on a fairly modern PC - it might be 55 vs 80 seconds on a Raspberry Pi or some other SBC. If the first build takes 55 seconds, the following builds might take 10 seconds. And 10 vs 35 seconds is already a huge difference.

Sure, a 25 second difference is a large percentage. But still less than it would take to log a GitHub issue, and troubleshoot the problem. "First make it correct (i.e. actually work), then make it fast."

kuba2k2 commented 1 year ago

I've updated ltchiptool to (hopefully) not install PyCryptodomex on ARM. The related LT commit is eae64d34e265b68c1584a954cfb74b31bf858f02, so try updating, rebuild the docker image and compile again.

I noticed that in the Dockerfile there's python3-cryptography installed - so ltchiptool will now try to use that too. If all options fail, it will fall back to the slow PyAES.

edautz commented 1 year ago

I rebuild the container from scratch, deleted the old config directory. Container runs fine, but the compile failes with another bunch of errors. Look like there is no compiler.

INFO Reading configuration /config/test.yaml...
INFO Detected timezone 'Europe/Amsterdam'
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Compiling app...
Processing test-cloud-cutter-lsc-connec1 (board: wb2s; framework: arduino; platform: https://github.com/kuba2k2/libretuya.git)
--------------------------------------------------------------------------------
Platform Manager: Installing git+https://github.com/kuba2k2/libretuya.git
INFO Installing git+https://github.com/kuba2k2/libretuya.git
git version 2.30.2
Cloning into '/config/.esphome/platformio/cache/tmp/pkg-installing-texhe6vd'...
Platform Manager: libretuya@0.12.6+sha.eae64d3 has been installed!
INFO libretuya@0.12.6+sha.eae64d3 has been installed!
Installing/updating ltchiptool
Collecting ltchiptool<4.0,>=^3.0.2
  Downloading ltchiptool-3.0.2-py3-none-any.whl (116 kB)
Collecting click<9.0.0,>=8.1.3
  Downloading click-8.1.3-py3-none-any.whl (96 kB)
Collecting prettytable<4.0.0,>=3.3.0
  Downloading prettytable-3.6.0-py3-none-any.whl (27 kB)
Collecting colorama<0.5.0,>=0.4.5
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting importlib-metadata<5.0.0,>=4.12.0
  Downloading importlib_metadata-4.13.0-py3-none-any.whl (23 kB)
Collecting bk7231tools<2.0.0,>=1.3.0
  Downloading bk7231tools-1.3.1-py3-none-any.whl (28 kB)
Collecting pyaes<2.0.0,>=1.6.1
  Downloading pyaes-1.6.1.tar.gz (28 kB)
Collecting xmodem<0.5.0,>=0.4.6
  Downloading xmodem-0.4.6.tar.gz (32 kB)
Collecting pyserial<4.0,>=3.5
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting zipp>=0.5
  Downloading zipp-3.15.0-py3-none-any.whl (6.8 kB)
Collecting wcwidth
  Downloading wcwidth-0.2.6-py2.py3-none-any.whl (29 kB)
Building wheels for collected packages: pyaes, xmodem
  Building wheel for pyaes (setup.py): started
  Building wheel for pyaes (setup.py): finished with status 'done'
  Created wheel for pyaes: filename=pyaes-1.6.1-py3-none-any.whl size=26346 sha256=d6db64f3757fb4834bf7b131331bb47b1a4df2da61f8d165ca43a5c3454c5614
  Stored in directory: /root/.cache/pip/wheels/33/13/e9/ef9894385084d8e4fab38f5f83afda49a3d593d8afc907c8fd
  Building wheel for xmodem (setup.py): started
  Building wheel for xmodem (setup.py): finished with status 'done'
  Created wheel for xmodem: filename=xmodem-0.4.6-py3-none-any.whl size=34564 sha256=c7fe453b51123f528e4cef18f25883fbdd3d4826ea1d931f6da6fad7c76aafcb
  Stored in directory: /root/.cache/pip/wheels/03/02/db/af85b84f5d4713e3fcbdf10bbd72306cb4516e1105eddd86d7
Successfully built pyaes xmodem
Installing collected packages: zipp, wcwidth, pyserial, xmodem, pyaes, prettytable, importlib-metadata, colorama, click, bk7231tools, ltchiptool
  Attempting uninstall: pyserial
    Found existing installation: pyserial 3.5
    Uninstalling pyserial-3.5:
      Successfully uninstalled pyserial-3.5
  Attempting uninstall: colorama
    Found existing installation: colorama 0.4.6
    Uninstalling colorama-0.4.6:
      Successfully uninstalled colorama-0.4.6
  Attempting uninstall: click
    Found existing installation: click 8.1.3
    Uninstalling click-8.1.3:
      Successfully uninstalled click-8.1.3
Successfully installed bk7231tools-1.3.1 click-8.1.3 colorama-0.4.6 importlib-metadata-4.13.0 ltchiptool-3.0.2 prettytable-3.6.0 pyaes-1.6.1 pyserial-3.5 wcwidth-0.2.6 xmodem-0.4.6 zipp-3.15.0
Tool Manager: Installing git+https://github.com/libretuya/framework-beken-bdk#v2021.06.07
INFO Installing git+https://github.com/libretuya/framework-beken-bdk#v2021.06.07
git version 2.30.2
Cloning into '/config/.esphome/platformio/cache/tmp/pkg-installing-wjygn1zo'...
Note: switching to '6491b8c001b737c790cba0bee16e548859d5e6fe'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Updating files: 100% (3077/3077), done.
Tool Manager: framework-beken-bdk@0.0.0+v2021.06.07.sha.6491b8c has been installed!
INFO framework-beken-bdk@0.0.0+v2021.06.07.sha.6491b8c has been installed!
Tool Manager: Installing git+https://github.com/libretuya/ArduinoCore-API#3a4cbfc
INFO Installing git+https://github.com/libretuya/ArduinoCore-API#3a4cbfc
git version 2.30.2
Cloning into '/config/.esphome/platformio/cache/tmp/pkg-installing-oazefcc8'...
HEAD is now at 3a4cbfc Add Print::printf() method
Tool Manager: framework-arduino-api@3.0.0-a4cbfc+sha.3a4cbfc has been installed!
INFO framework-arduino-api@3.0.0-a4cbfc+sha.3a4cbfc has been installed!
Tool Manager: Installing toolchain-gccarmnoneeabi @ ~1.100301.0
INFO Installing toolchain-gccarmnoneeabi @ ~1.100301.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: toolchain-gccarmnoneeabi@1.100301.220327 has been installed!
INFO toolchain-gccarmnoneeabi@1.100301.220327 has been installed!
Tool Manager: Installing git+https://github.com/libretuya/ltchiptool#v2.0.2
INFO Installing git+https://github.com/libretuya/ltchiptool#v2.0.2
git version 2.30.2
Cloning into '/config/.esphome/platformio/cache/tmp/pkg-installing-1zep1rxm'...
Note: switching to '755903383c890c5e2969670531eadb87085ae81f'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Tool Manager: tool-ltchiptool@2.0.2+sha.7559033 has been installed!
INFO tool-ltchiptool@2.0.2+sha.7559033 has been installed!
Tool Manager: Installing git+https://github.com/libretuya/lwip#v2.1.3-bdk
INFO Installing git+https://github.com/libretuya/lwip#v2.1.3-bdk
git version 2.30.2
Cloning into '/config/.esphome/platformio/cache/tmp/pkg-installing-oavyv2v4'...
Note: switching to '57a7df125b17aeaefc1af7a1c33976a42699b3e5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Tool Manager: library-lwip@2.1.3-bdk@2.1.3-bdk+sha.57a7df1 has been installed!
INFO library-lwip@2.1.3-bdk@2.1.3-bdk+sha.57a7df1 has been installed!
Tool Manager: Installing git+https://github.com/armink/FlashDB#03500fa
INFO Installing git+https://github.com/armink/FlashDB#03500fa
git version 2.30.2
Cloning into '/config/.esphome/platformio/cache/tmp/pkg-installing-3rtvippc'...
HEAD is now at 03500fa update the version number.
Tool Manager: library-flashdb@03500fa@3500.0.0-fa+sha.03500fa has been installed!
INFO library-flashdb@03500fa@3500.0.0-fa+sha.03500fa has been installed!
Tool Manager: Installing git+https://github.com/eyalroz/printf#v6.0.0
INFO Installing git+https://github.com/eyalroz/printf#v6.0.0
git version 2.30.2
Cloning into '/config/.esphome/platformio/cache/tmp/pkg-installing-h4vtdxm0'...
Note: switching to '8b831c12307af16ed0d64320f370b8350ee34b60'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Tool Manager: library-printf@6.0.0@6.0.0+sha.8b831c1 has been installed!
INFO library-printf@6.0.0@6.0.0+sha.8b831c1 has been installed!
Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 3.0.0
INFO Installing esphome/ESPAsyncWebServer-esphome @ 3.0.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: ESPAsyncWebServer-esphome@3.0.0 has been installed!
INFO ESPAsyncWebServer-esphome@3.0.0 has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/AsyncTCP-esphome
INFO Installing esphome/AsyncTCP-esphome
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: AsyncTCP-esphome@2.0.0 has been installed!
INFO AsyncTCP-esphome@2.0.0 has been installed!
Library Manager: Installing bblanchon/ArduinoJson @ 6.18.5
INFO Installing bblanchon/ArduinoJson @ 6.18.5
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: ArduinoJson@6.18.5 has been installed!
INFO ArduinoJson@6.18.5 has been installed!
Tool Manager: Installing platformio/tool-scons @ ~4.40400.0
INFO Installing platformio/tool-scons @ ~4.40400.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: tool-scons@4.40400.0 has been installed!
INFO tool-scons@4.40400.0 has been installed!
HARDWARE: BK7231T 120MHz, 256KB RAM, 1.03MB Flash
 - framework-arduino-api @ 3.0.0-a4cbfc+sha.3a4cbfc 
 - framework-beken-bdk @ 0.0.0+v2021.06.07.sha.6491b8c 
 - library-flashdb@03500fa @ 3500.0.0-fa+sha.03500fa 
 - library-lwip@2.1.3-bdk @ 2.1.3-bdk+sha.57a7df1 
 - library-printf@6.0.0 @ 6.0.0+sha.8b831c1 
 - tool-ltchiptool @ 2.0.2+sha.7559033 
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Library Manager: Installing DNSServer
Downloading 0% 10%

Unpacking  [------------------------------------]    0%
Unpacking  [###---------------------------------]    8%
Unpacking  [######------------------------------]   16%
Unpacking  [#########---------------------------]   25%
Unpacking  [############------------------------]   33%
Unpacking  [###############---------------------]   41%
Unpacking  [##################------------------]   50%
Unpacking  [#####################---------------]   58%
Unpacking  [########################------------]   66%
Unpacking  [###########################---------]   75%
Unpacking  [##############################------]   83%
Unpacking  [#################################---]   91%
Unpacking  [####################################]  100%
Library Manager: DNSServer@1.1.0 has been installed!
Dependency Graph
|-- ESPAsyncWebServer-esphome @ 3.0.0
|   |-- AsyncTCP-esphome @ 2.0.0
|-- DNSServer @ 1.1.0
|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_connection.cpp.o
sh: 1: arm-none-eabi-g++: not found
Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_frame_helper.cpp.o
sh: 1: arm-none-eabi-g++: not found
Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2.cpp.o
sh: 1: arm-none-eabi-g++: not found
*** [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_connection.cpp.o] Error 127
Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2_service.cpp.o
*** [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_frame_helper.cpp.o] Error 127
*** [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2.cpp.o] Error 127
sh: 1: arm-none-eabi-g++: not found
*** [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2_service.cpp.o] Error 127
========================= [FAILED] Took 232.25 seconds =========================

Docker build log:

python docker/build.py --tag libretuya --arch armv7                                                                                              --build-type docker build
$ docker buildx build --build-arg BASEIMGTYPE=docker --build-arg BUILD_VERSION=l                                                                                             ibretuya --cache-from type=registry,ref=ghcr.io/esphome/esphome-armv7:cache-dev                                                                                              --file docker/Dockerfile --platform linux/arm/v7 --target docker --tag esphome/e                                                                                             sphome-armv7:libretuya --tag esphome/esphome-armv7:dev --tag ghcr.io/esphome/esp                                                                                             home-armv7:libretuya --tag ghcr.io/esphome/esphome-armv7:dev .
[+] Building 54.1s (16/16) FINISHED
 => [internal] load build definition from Dockerfile                       0.1s
 => => transferring dockerfile: 4.59kB                                     0.0s
 => [internal] load .dockerignore                                          0.1s
 => => transferring context: 1.32kB                                        0.0s
 => [internal] load metadata for docker.io/library/debian:bullseye-202302  1.6s
 => importing cache manifest from ghcr.io/esphome/esphome-armv7:cache-dev  2.1s
 => [internal] load build context                                          6.4s
 => => transferring context: 8.67MB                                        6.0s
 => [base-docker 1/1] FROM docker.io/library/debian:bullseye-20230208-sli  0.0s
 => CACHED [base 1/5] RUN     apt-get update     && apt-get install -y --  0.0s
 => CACHED [base 2/5] RUN     if [ "armv7" = "armv7" ]; then         ln -  0.0s
 => CACHED [base 3/5] RUN     pip3 install --no-cache-dir         wheel==  0.0s
 => CACHED [base 4/5] COPY requirements.txt requirements_optional.txt doc  0.0s
 => CACHED [base 5/5] RUN     pip3 install --no-cache-dir -r /requirement  0.0s
 => [docker 1/4] COPY . /esphome                                           6.1s
 => [docker 2/4] RUN pip3 install --no-cache-dir --no-use-pep517 -e /esp  34.3s
 => [docker 3/4] COPY docker/docker_entrypoint.sh /entrypoint.sh           0.5s
 => [docker 4/4] WORKDIR /config                                           0.3s
 => exporting to image                                                     2.3s
 => => exporting layers                                                    2.2s
 => => writing image sha256:b9430e0845e4738d14620de21063532ddc964643e6f35  0.0s
 => => naming to docker.io/esphome/esphome-armv7:libretuya                 0.0s
 => => naming to docker.io/esphome/esphome-armv7:dev                       0.0s
 => => naming to ghcr.io/esphome/esphome-armv7:libretuya                   0.0s
 => => naming to ghcr.io/esphome/esphome-armv7:dev                         0.0s

The build was very quick, probably using cached content. Could that be the problem?

Update: Did a second build from the container with a cleared docker cache. Problem persist.

kuba2k2 commented 1 year ago

What machine are you running this on? Is it a 32 or 64 bit OS? (post the output of uname -a command)

edautz commented 1 year ago

Tried this on a Raspberry Pi 3 and a Raspberry Pi 4. Both 64 bits machines with a 64 bits Raspberry Pi OS.

uname -a output RPI4:

Linux rpi4 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux

See: https://www.raspberrypi.com/news/raspberry-pi-os-64-bit/

catalin2402 commented 1 year ago

Try using this modifications from here in the Dockerfile. https://github.com/kuba2k2/libretuya-esphome/pull/5/files

kuba2k2 commented 1 year ago

Try python docker/build.py --tag libretuya --arch arm64 (you have a 64-bit OS, so build the container for arm64, instead of armv7).

edautz commented 1 year ago

Tried that in the first place, but as the Dockerfile shows that isn't a valid option.

python docker/build.py --tag libretuya --arch arm64 --build-type docker build usage: build.py [-h] --tag TAG [--arch {amd64,armv7,aarch64}] --build-type {docker,ha-addon,lint} [--dry-run] {build,manifest} ... build.py: error: argument --arch: invalid choice: 'arm64' (choose from 'amd64', 'armv7', 'aarch64')

catalin2402 commented 1 year ago

aarch64 == arm64

kuba2k2 commented 1 year ago

Oh, sorry, I got confused by seeing "arm64" here

edautz commented 1 year ago

Try using this modifications from here in the Dockerfile. https://github.com/kuba2k2/libretuya-esphome/pull/5/files

This change produces the same error with armv7 tag:

Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_connection.cpp.o sh: 1: arm-none-eabi-g++: not found Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_frame_helper.cpp.o sh: 1: arm-none-eabi-g++: not found Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2.cpp.o sh: 1: arm-none-eabi-g++: not found [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_connection.cpp.o] Error 127 Compiling .pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2_service.cpp.o [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_frame_helper.cpp.o] Error 127 [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2.cpp.o] Error 127 sh: 1: arm-none-eabi-g++: not found [.pioenvs/test-cloud-cutter-lsc-connec1/src/esphome/components/api/api_pb2_service.cpp.o] Error 127

Trying the aarch64 tag with orginal Dockerfile. Fingers crossed.

edautz commented 1 year ago

Bad news.

Docker build, compile and flash through Wifi succesfull, but device is bricked.

Not pingable, not in DHCP table, not in Arp table. No Wifi fallback AP. Not responding to it build-in switch. Nothing.

Any way to revive the powerplug? Except for prying it open and do a serial flash?

Any idea what did go wrong in the process that bricked the device? I am afraid this method is rather useless until this is clear and solved.

With my Ubuntu Amd64 VM with a libretuya ESPHome container version v2023.3.0-dev on a W10 i7 machine it worked.

Compile log:

INFO Reading configuration /config/test.yaml... INFO Detected timezone 'Europe/Amsterdam' INFO Generating C++ source... INFO Core config or version changed, cleaning build files... INFO Compiling app... Processing test-cloud-cutter-lsc-connec2 (board: wb2s; framework: arduino; platform: https://github.com/kuba2k2/libretuya.git)

Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 3.0.0 INFO Installing esphome/ESPAsyncWebServer-esphome @ 3.0.0 Unpacking [####################################] 100% Library Manager: ESPAsyncWebServer-esphome@3.0.0 has been installed! INFO ESPAsyncWebServer-esphome@3.0.0 has been installed! Library Manager: Resolving dependencies... INFO Resolving dependencies... Library Manager: Installing esphome/AsyncTCP-esphome INFO Installing esphome/AsyncTCP-esphome Unpacking [####################################] 100% Library Manager: AsyncTCP-esphome@2.0.0 has been installed! INFO AsyncTCP-esphome@2.0.0 has been installed! Library Manager: Installing bblanchon/ArduinoJson @ 6.18.5 INFO Installing bblanchon/ArduinoJson @ 6.18.5 Unpacking [####################################] 100% Library Manager: ArduinoJson@6.18.5 has been installed! INFO ArduinoJson@6.18.5 has been installed! HARDWARE: BK7231T 120MHz, 256KB RAM, 1.03MB Flash

Unpacking [------------------------------------] 0% Unpacking [###---------------------------------] 8% Unpacking [######------------------------------] 16% Unpacking [#########---------------------------] 25% Unpacking [############------------------------] 33% Unpacking [###############---------------------] 41% Unpacking [##################------------------] 50% Unpacking [#####################---------------] 58% Unpacking [########################------------] 66% Unpacking [###########################---------] 75% Unpacking [##############################------] 83% Unpacking [#################################---] 91% Unpacking [####################################] 100% Library Manager: DNSServer@1.1.0 has been installed! Dependency Graph -- ESPAsyncWebServer-esphome @ 3.0.0 -- AsyncTCP-esphome @ 2.0.0 -- DNSServer @ 1.1.0 -- ArduinoJson @ 6.18.5 Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/api_connection.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/api_frame_helper.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/api_pb2.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/api_pb2_service.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/api_server.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/list_entities.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/proto.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/subscribe_state.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/api/user_services.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/binary_sensor/automation.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/binary_sensor/binary_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/binary_sensor/filter.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/button/button.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/captive_portal/captive_portal.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/gpio/output/gpio_binary_output.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/gpio/switch/gpio_switch.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/homeassistant/time/homeassistant_time.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/json/json_util.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/libretuya/core.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/libretuya/gpio_arduino.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/libretuya/lt_component.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/libretuya/preferences.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/logger/logger.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/md5/md5.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/mdns/mdns_component.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/mdns/mdns_esp32.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/mdns/mdns_esp8266.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/mdns/mdns_rp2040.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/network/util.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/ota/ota_backend_esp_idf.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/ota/ota_component.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/output/automation.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/output/float_output.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/restart/button/restart_button.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/sensor/automation.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/sensor/filter.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/sensor/sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/socket/bsd_sockets_impl.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/socket/lwip_sockets_impl.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/socket/socket.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/status/status_binary_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/switch/automation.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/switch/switch.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/text_sensor/filter.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/text_sensor/text_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/time/automation.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/time/real_time_clock.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/uptime/uptime_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/version/version_text_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/web_server/list_entities.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/web_server/web_server.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/web_server_base/web_server_base.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi/wifi_component.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi/wifi_component_esp8266.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi/wifi_component_libretuya.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi/wifi_component_pico_w.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/application.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/color.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/component.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/component_iterator.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/controller.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/entity_base.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/helpers.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/log.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/scheduler.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/esphome/core/util.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/src/main.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libcfd/AsyncTCP-esphome/AsyncTCP.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libe41/ESPAsyncWebServer-esphome/AsyncEventSource.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libe41/ESPAsyncWebServer-esphome/AsyncWebSocket.cpp.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libcfd/libAsyncTCP-esphome.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libe41/ESPAsyncWebServer-esphome/WebAuthentication.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libe41/ESPAsyncWebServer-esphome/WebHandlers.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libe41/ESPAsyncWebServer-esphome/WebRequest.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libe41/ESPAsyncWebServer-esphome/WebResponses.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libe41/ESPAsyncWebServer-esphome/WebServer.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lib984/DNSServer/DNSServer.cpp.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/lib984/libDNSServer.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/arduino_api/api/Common.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/arduino_api/api/IPAddress.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/arduino_api/api/PluggableUSB.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/arduino_api/api/Print.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/arduino_api/api/Stream.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/arduino_api/api/String.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/Events.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/FS.cpp.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libe41/libESPAsyncWebServer-esphome.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/SoftwareSerial.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/WiFi/WiFi.cpp.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libarduino_api.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/WiFi/WiFiAP.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/WiFi/WiFiEvents.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/WiFi/WiFiGeneric.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/WiFi/WiFiSTA.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/api/WiFi/WiFiScan.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/common/WMath.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/common/abi.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/common/dtostrf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/common/hooks.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/common/itoa.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/common/serial_event.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/common/wiring_shift.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/core/LibreTuyaAPI.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/core/LibreTuyaClass.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/core/LibreTuyaCompat.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/core/LibreTuyaCustom.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/core/lt_logger.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/core/main.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/Flash/Flash.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/HTTPClient/HTTPClient.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/HTTPClient/strptime/strptime.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/MD5/MD5MbedTLSImpl.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/MD5/MD5PolarSSLImpl.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/NetUtils/IPv6Address.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/NetUtils/lwip/LwIPClient.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/NetUtils/lwip/LwIPRxBuffer.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/NetUtils/lwip/LwIPServer.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/NetUtils/lwip/LwIPUdp.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/NetUtils/ssl/MbedTLSClient.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/StreamString/StreamString.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/Update/Update.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/Update/UpdateUtil.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/WebServer/Parsing.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/WebServer/WebServer.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/WebServer/detail/mimetable.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/WiFiMulti/WiFiMulti.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/base64/base64.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/base64/libb64/cdecode.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/base64/libb64/cencode.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/cbuf/cbuf.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/mDNS/LwIPmDNS.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/libraries/mDNS/mDNS.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/port/printf/putchar.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/port/printf/puts.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/posix/strcasecmp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/posix/strdup.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api/posix/time.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/uf2ota/uf2ota/uf2binpatch.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/uf2ota/uf2ota/uf2ota.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/uf2ota/uf2ota/uf2priv.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/board_wb2s/variant.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_core/cores/arduino/LibreTuyaAPI.cpp.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libretuya_api.a Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libuf2ota.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_core/cores/arduino/SerialClass.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_core/cores/arduino/main.cpp.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libboard_wb2s.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_core/cores/arduino/wiring.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_core/cores/arduino/wiring_analog.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_core/cores/arduino/wiring_digital.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_core/cores/arduino/wiring_irq.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_libs/libraries/WiFi/WiFi.cpp.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbk72xx_arduino_core.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_libs/libraries/WiFi/WiFiAP.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_libs/libraries/WiFi/WiFiEvents.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_libs/libraries/WiFi/WiFiGeneric.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_libs/libraries/WiFi/WiFiSTA.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_libs/libraries/WiFi/WiFiScan.cpp.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_port/port/flashdb/fal_flash_bk72xx_port.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_arduino_port/port/printf/printf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/port/fal/src/fal.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbk72xx_arduino_port.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/port/fal/src/fal_flash.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/port/fal/src/fal_partition.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/port/fal/src/fal_rtt.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/src/fdb.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/src/fdb_file.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/src/fdb_kvdb.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/src/fdb_tsdb.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/flashdb03500fa/src/fdb_utils.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/printf6.0.0/src/printf/printf.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libflashdb03500fa.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_core/app/app.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbk72xx_arduino_libs.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_core/app/config/param_config.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_core/driver/entry/boot_vectors.S.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libprintf6.0.0.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_core/func/wlan_ui/wlan_ui.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_fixups/arch_main.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_fixups/ate_app.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_fixups/boot_handlers_105_bk7231s.S.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_fixups/clock_cal.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_fixups/clock_rtos.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_fixups/intc.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bk72xx_fixups/wrap_BkDriverFlash.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbk7231u_fixups.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/http/lite-log.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/http/utils_httpc.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbk72xx_fixups.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/http/utils_net.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/http/utils_timer.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_core.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/net_work/video_demo_main.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/net_work/video_demo_softap.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/net_work/video_demo_station.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/standalone-ap/sa_ap.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/standalone-station/sa_station.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/video_work/video_buffer.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/video_work/video_transfer_tcp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_app/video_work/video_transfer_udp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/calendar/calendar.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/common/dd.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/common/drv_model.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/dma/dma.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_app.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/driver.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/fft/fft.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/flash/flash.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/general_dma/general_dma.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/gpio/gpio.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/i2c/i2c1.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/i2c/i2c2.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/i2s/i2s.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/icu/icu.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/irda/irda.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/jpeg/jpeg_encoder.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/macphy_bypass/mac_phy_bypass.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/phy/phy_trident.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/pwm/bk_timer.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/pwm/mcu_ps_timer.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/pwm/pwm.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/pwm/pwm_bk7231n.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/pwm/pwm_mutex.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/qspi/qspi.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/rw_pub/rw_platf_pub.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/saradc/saradc.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/security/hal_aes.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/security/hal_sha.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/security/security.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/spidma/spidma.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/sys_ctrl/sys_ctrl.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/uart/Retarget.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/uart/uart.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver/wdt/wdt.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/airkiss/airkiss_main.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/airkiss/airkiss_pingpong.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/airkiss/bk_airkiss.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/base64/base_64.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/ble_wifi_exchange/ble_wifi_port.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/camera_intf/camera_intf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/func.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_driver.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/hostapd_intf/hostapd_intf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/joint_up/role_launch.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/lwip_intf/dhcpd/dhcp-server-main.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/lwip_intf/dhcpd/dhcp-server.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/misc/pseudo_random.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/misc/start_type.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/misc/target_util.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/net_param_intf/net_param.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/power_save/ap_idle.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/power_save/manual_ps.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/power_save/mcu_ps.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/power_save/power_save.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/rwnx_intf/rw_ieee80211.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/rwnx_intf/rw_msdu.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/rwnx_intf/rw_msg_rx.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/rwnx_intf/rw_msg_tx.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/saradc_intf/saradc_intf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/security/security_func.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/sim_uart/gpio_uart.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/sim_uart/pwm_uart.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/spidma_intf/spidma_intf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/temp_detect/temp_detect.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/usb_plug/usb_plug.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/user_driver/BkDriverFlash.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/user_driver/BkDriverGpio.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/user_driver/BkDriverPwm.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/user_driver/BkDriverRng.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/user_driver/BkDriverTimer.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/user_driver/BkDriverUart.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/user_driver/BkDriverWdg.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/utf8/conv_utf8.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_func/video_transfer/video_transfer.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_thumb/os/FreeRTOSv9.0.0/rtos_pub.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_thumb/os/mem_arch.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_thumb/os/platform_stub.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_thumb/os/str_arch.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_func.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/croutine.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/event_groups.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/list.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/portable/Keil/ARM968es/port.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_freertos_thumb.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/portable/MemMang/heap_4.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/queue.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/tasks.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_freertos_arm/FreeRTOSv9.0.0/FreeRTOS/Source/timers.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/port/ethernetif.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/port/net.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/port/sys_arch.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_freertos_arm.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/api_lib.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/api_msg.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/err.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/if_api.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/netbuf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/netdb.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/netifapi.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/sockets.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/api/tcpip.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/apps/mdns/mdns.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/apps/sntp/sntp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/altcp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/altcp_alloc.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/altcp_tcp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/def.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/dns.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/inet_chksum.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/init.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ip.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/autoip.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/dhcp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/etharp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/icmp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/igmp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/ip4.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/ip4_addr.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/ipv4/ip4_frag.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/mem.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/memp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/netif.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/pbuf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/raw.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/stats.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/sys.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/tcp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/tcp_in.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/tcp_out.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/timeouts.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/core/udp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/lwip2.1.3_bdk/src/netif/ethernet.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls-port/src/timing_alt.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls-port/src/tls_certificate.c.o /config/.esphome/platformio/packages/framework-beken-bdk/beken378/func/mbedtls/mbedtls-port/src/tls_certificate.c:56:76: warning: backslash and newline separated by space 56 #define GLOBALSIGN_ROOT_CA \

Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls-port/src/tls_client.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls-port/src/tls_hardware.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/liblwip2.1.3_bdk Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls-port/src/tls_mem.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls-port/src/tls_net.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/aes.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/aesni.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/arc4.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/asn1parse.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/asn1write.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/base64.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/bignum.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/blowfish.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/camellia.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ccm.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/certs.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/cipher.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/cipher_wrap.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/cmac.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ctr_drbg.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/debug.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/des.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/dhm.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ecdh.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ecdsa.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ecjpake.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ecp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ecp_curves.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/entropy.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/entropy_poll.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/error.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/gcm.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/havege.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/hmac_drbg.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/md.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/md2.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/md4.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/md5.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/md_wrap.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/memory_buffer_alloc.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/net_sockets.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/oid.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/padlock.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pem.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pk.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pk_wrap.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pkcs11.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pkcs12.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pkcs5.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pkparse.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/pkwrite.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/platform.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ripemd160.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/rsa.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/sha1.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/sha256.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/sha512.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ssl_cache.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ssl_ciphersuites.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ssl_cli.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ssl_cookie.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ssl_srv.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ssl_ticket.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/ssl_tls.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/threading.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/timing.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/version.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/version_features.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/x509.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/x509_create.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/x509_crl.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/x509_crt.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/x509_csr.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/x509write_crt.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/x509write_csr.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls/library/xtea.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_mbedtls/mbedtls_ui/sl_tls.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver_spi/spi.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver_spi/spi_master.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_driver_spi/spi_slave.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/ble.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/modules/app/src/app_ble.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_mbedtls.a Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_driver_spi.a Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/modules/app/src/app_comm.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/modules/app/src/app_sdp.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/modules/app/src/app_sec.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/modules/app/src/app_task.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/driver/ble_icu/ble_icu.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/driver/uart/ble_uart.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/modules/arch/ble_arch_main.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/modules/common/RomCallFlash.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/modules/dbg/dbg.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/modules/dbg/dbg_mwsgen.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/modules/dbg/dbg_swdiag.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/modules/dbg/dbg_task.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/plactform/modules/rf/src/ble_rf_xvr.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/profiles/comm/src/comm.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/profiles/comm/src/comm_task.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/profiles/prf/src/prf.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/profiles/prf/src/prf_utils.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/profiles/sdp/src/sdp_service.c.o Compiling .pioenvs/test-cloud-cutter-lsc-connec2/bdk_ble_4_2/profiles/sdp/src/sdp_service_task.c.o Archiving .pioenvs/test-cloud-cutter-lsc-connec2/libbdk_ble_4_2.a Linking .pioenvs/test-cloud-cutter-lsc-connec2/firmware.elf |-- Image 1: firmware.elf | |-- bk7231t_app_0x011000.rbl | | |-- firmware.bin | |-- bk7231t_app_0x011000.crc | |-- bk7231t_app_0x129F0A.rblh | |-- bk7231t_app.ota.rbl | |-- bk7231t_app.ota.ug.bin Building UF2 OTA image |-- firmware.uf2 RAM: [==== ] 44.2% (used 115852 bytes from 262144 bytes) Flash: [===== ] 54.4% (used 589297 bytes from 1083136 bytes) ======================== [SUCCESS] Took 189.30 seconds ======================== INFO Successfully compiled program. INFO Connecting to 192.168.2.222 INFO Uploading /config/.esphome/build/test-cloud-cutter-lsc-connec2/.pioenvs/test-cloud-cutter-lsc-connec2/firmware.uf2 (2052608 bytes) Uploading: [============================================================] 100% Done...

INFO Waiting for result... INFO OTA successful INFO Successfully uploaded program. INFO Starting log output from 192.168.2.222 using esphome API WARNING Can't connect to ESPHome API for 192.168.2.222: Timeout while connecting to ('192.168.2.222', 6053) INFO Trying to reconnect to 192.168.2.222 in the background

kuba2k2 commented 1 year ago

Sorry to hear that. Is this the same (or similar) config that worked on the plug before?

edautz commented 1 year ago

Used exactly the same yaml file as on my Ubuntu VM. Only changed the devicename to "test-cloud-cutter-lsc connec2” and the friendly name to "test cloud cutter lsc connec2”, to determine if the OTA upload is succesfull. You can find this file at the beginning of this issue.

I can save a firmware file for analyses. Does this help?

kuba2k2 commented 1 year ago

Yes, if you could send me the firmware.uf2 file that got uploaded to the device, I can test it to see if it works.

edautz commented 1 year ago

Here we go. File in Legacy format.

test-cloud-cutter-lsc-connec2.zip

I changed all the Wifi ssids and alle the passwords in TESTTEST

And I didn't a file upload of the firmware, but an direct wireless install of the firmware.

Good luck.

kuba2k2 commented 1 year ago

@edautz Thanks for the report, the issue has been fixed. Update everything and do a clean build. Unfortunately, there's not much you can do to update the plug. The only option now is to disassemble it, and flash firmware using UART.

edautz commented 1 year ago

@kuba2k2, Saw you fixed an infinite bootloop. This explaines why my devices doesn’t respond to anything. Thnxs.

How safe is it to use the updated code?

I don’t want to brick another.

kuba2k2 commented 1 year ago

You'll have to disassemble the bricked devices anyway, so I'd try on these first. We have tested it with a few configs and it worked, but now I'm getting another similar issue on my board (but that might be completely unrelated).

edautz commented 1 year ago

The bricked device will be solved when I got plenty time. It is difficult to pry it open at a decent way.

I buiild everything new from scratch.

Can you please test the new compiled firmware, before I flash it?

test-cloud-cutter-lsc-connec3.zip

kuba2k2 commented 1 year ago

I can't tell if it boots or not. I can see the welcome message, and it doesn't reboot every 10 seconds, so chances are it actually works. You've probably removed the logger component (or set baud_rate to 0) so it doesn't produce any visible output.

EDIT: I can see the fallback AP test cloud cutter lsc connec3 AP so it works!

edautz commented 1 year ago

test-cloud-cutter-lsc-connec4.zip

I made a version with logger baudrate 0 commented out. Can you please test it, to make 100% shure with a decent logging?

Thanxs.

kuba2k2 commented 1 year ago

I can confirm it works: obraz

edautz commented 1 year ago

I flashed my devices succesfull.

Thanks for your wonderfull software and all the swift support 👍