linorobot / linorobot2_hardware

Apache License 2.0
94 stars 84 forks source link

[bug] error linking firmware: undefined references #32

Closed atticusrussell closed 1 year ago

atticusrussell commented 1 year ago

Working on RPi4 with teensy 4.1 on branch foxy, ROS Humble Ubuntu 22.04. Calibration folder works fine, but uploading firmware following README yields errors:

atticus@rospi-ssh-session  <catbot>
~/github/linorobot2_hardware/firmware
18:25:32 $ pio run --target upload -e teensy41
Processing teensy41 (board: teensy41; platform: teensy; framework: arduino)
---------------------------------------------------------------------------------------------------------
Library Manager: Installing git+https://github.com/micro-ROS/micro_ros_arduino
git version 2.34.1
Cloning into '/home/atticus/.platformio/.cache/tmp/pkg-installing-_g7s561e'...
remote: Enumerating objects: 2162, done.
remote: Counting objects: 100% (2162/2162), done.
remote: Compressing objects: 100% (673/673), done.
remote: Total 2162 (delta 1559), reused 1786 (delta 1451), pack-reused 0
Receiving objects: 100% (2162/2162), 17.20 MiB | 5.32 MiB/s, done.
Resolving deltas: 100% (1559/1559), done.
Updating files: 100% (1963/1963), done.
Library Manager: micro_ros_arduino@2.0.7-iron+sha.c14c4e3 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/teensy/teensy41.html
PLATFORM: Teensy (4.18.0) > Teensy 4.1
HARDWARE: IMXRT1062 600MHz, 512KB RAM, 7.75MB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES: 
 - framework-arduinoteensy @ 1.158.0 (1.58) 
 - tool-teensy @ 1.158.0 (1.58) 
 - toolchain-gccarmnoneeabi-teensy @ 1.110301.0 (11.3.1)
Converting firmware.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 99 compatible libraries
Scanning dependencies...
Dependency Graph
|-- micro_ros_arduino @ 2.0.7-iron+sha.c14c4e3
|-- encoder
|-- imu
|-- kinematics
|-- motor
|-- odometry
|-- pid
Building in release mode
Compiling .pio/build/teensy41/src/firmware.ino.cpp.o
Compiling .pio/build/teensy41/libff1/SPI/SPI.cpp.o
Compiling .pio/build/teensy41/lib697/Ethernet/Dhcp.cpp.o
Compiling .pio/build/teensy41/lib697/Ethernet/Dns.cpp.o
Compiling .pio/build/teensy41/lib697/Ethernet/Ethernet.cpp.o
/home/atticus/github/linorobot2_hardware/firmware/src/firmware.ino: In function 'bool destroyEntities()':
/home/atticus/github/linorobot2_hardware/firmware/src/firmware.ino:221:23: warning: ignoring return value of 'rcl_ret_t rcl_publisher_fini(rcl_publisher_t*, rcl_node_t*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  221 |     rcl_publisher_fini(&odom_publisher, &node);
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/atticus/github/linorobot2_hardware/firmware/src/firmware.ino:222:23: warning: ignoring return value of 'rcl_ret_t rcl_publisher_fini(rcl_publisher_t*, rcl_node_t*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  222 |     rcl_publisher_fini(&imu_publisher, &node);
      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/atticus/github/linorobot2_hardware/firmware/src/firmware.ino:223:26: warning: ignoring return value of 'rcl_ret_t rcl_subscription_fini(rcl_subscription_t*, rcl_node_t*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  223 |     rcl_subscription_fini(&twist_subscriber, &node);
      |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/atticus/github/linorobot2_hardware/firmware/src/firmware.ino:224:18: warning: ignoring return value of 'rcl_ret_t rcl_node_fini(rcl_node_t*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  224 |     rcl_node_fini(&node);
      |     ~~~~~~~~~~~~~^~~~~~~
/home/atticus/github/linorobot2_hardware/firmware/src/firmware.ino:225:19: warning: ignoring return value of 'rcl_ret_t rcl_timer_fini(rcl_timer_t*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  225 |     rcl_timer_fini(&control_timer);
      |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
Compiling .pio/build/teensy41/lib697/Ethernet/EthernetClient.cpp.o
Archiving .pio/build/teensy41/libff1/libSPI.a
Indexing .pio/build/teensy41/libff1/libSPI.a
Compiling .pio/build/teensy41/lib697/Ethernet/EthernetServer.cpp.o
Compiling .pio/build/teensy41/lib697/Ethernet/EthernetUdp.cpp.o
Compiling .pio/build/teensy41/lib697/Ethernet/socket.cpp.o
Compiling .pio/build/teensy41/lib697/Ethernet/utility/w5100.cpp.o
Compiling .pio/build/teensy41/libdd9/FNET/port/cpu/fnet_cpu.c.o
Compiling .pio/build/teensy41/libdd9/FNET/port/cpu/mimxrt/fnet_mimxrt.c.o
Compiling .pio/build/teensy41/libdd9/FNET/port/cpu/mimxrt/fnet_mimxrt_eth.c.o
Compiling .pio/build/teensy41/libdd9/FNET/port/cpu/mimxrt/fnet_mimxrt_isr.c.o
Compiling .pio/build/teensy41/libdd9/FNET/port/cpu/mimxrt/fnet_mimxrt_isr_inst.c.o
Compiling .pio/build/teensy41/libdd9/FNET/port/cpu/mimxrt/fnet_mimxrt_serial.c.o
Compiling .pio/build/teensy41/libdd9/FNET/port/cpu/mimxrt/fnet_mimxrt_serial.cpp.o
Compiling .pio/build/teensy41/libdd9/FNET/port/fnet_usb.c.o
Compiling .pio/build/teensy41/libdd9/FNET/port/fnet_usb_config.c.o
Archiving .pio/build/teensy41/lib697/libEthernet.a
Indexing .pio/build/teensy41/lib697/libEthernet.a
Compiling .pio/build/teensy41/libdd9/FNET/port/netif/fec/fnet_fec.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/autoip/fnet_autoip.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/azure/fnet_azure_lock.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/azure/fnet_azure_platform.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/azure/fnet_azure_socketio.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/azure/fnet_azure_threadapi.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/azure/fnet_azure_tickcounter.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/azure/fnet_azure_tlsio.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/azure/fnet_azure_tlsio_socketio.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/bench/fnet_bench_cln.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/bench/fnet_bench_srv.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/dhcp/fnet_dhcp.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/dhcp/fnet_dhcp_cln.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/dhcp/fnet_dhcp_srv.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/dns/fnet_dns.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/flash/fnet_flash.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/fnet_service.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/fs/fnet_fs.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/fs/fnet_fs_rom.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/fs/fnet_fs_root.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/http/fnet_http_cln.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/http/fnet_http_srv.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/http/fnet_http_srv_auth.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/http/fnet_http_srv_cgi.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/http/fnet_http_srv_get.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/http/fnet_http_srv_post.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/http/fnet_http_srv_ssi.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/link/fnet_link.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/llmnr/fnet_llmnr.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/mdns/fnet_mdns.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/ping/fnet_ping.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/serial/fnet_serial.c.o
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/service/llmnr/fnet_llmnr.c:60:30: warning: 'fnet_llmnr_ip6_multicast_addr' defined but not used [-Wunused-const-variable=]
   60 | static const fnet_ip6_addr_t fnet_llmnr_ip6_multicast_addr = FNET_IP6_ADDR_INIT(0xFF, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x00, 0x03);
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/teensy41/libdd9/FNET/service/shell/fnet_shell.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/sntp/fnet_sntp.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/telnet/fnet_telnet.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/tftp/fnet_tftp_cln.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/tftp/fnet_tftp_srv.c.o
Compiling .pio/build/teensy41/libdd9/FNET/service/tls/fnet_tls.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_arp.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_checksum.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_error.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_eth.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_icmp4.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_icmp6.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_igmp.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_inet.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_ip.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_ip4.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_ip6.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_isr.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_loop.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_mempool.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_mld.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_nd6.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_netbuf.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_netif.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_prot.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_raw.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_socket.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_stack.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_stdlib.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_tcp.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_timer.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_udp.c.o
Compiling .pio/build/teensy41/libdd9/FNET/stack/fnet_wifi.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/aes.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/aesni.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/arc4.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/aria.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/asn1parse.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/asn1write.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/base64.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/bignum.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/blowfish.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/camellia.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ccm.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/certs.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/chacha20.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/chachapoly.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/cipher.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/cipher_wrap.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/cmac.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ctr_drbg.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/debug.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/des.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/dhm.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ecdh.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ecdsa.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ecjpake.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ecp.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ecp_curves.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/entropy.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/entropy_poll.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/error.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/gcm.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/havege.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/hkdf.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/hmac_drbg.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/md.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/md2.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/md4.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/md5.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/md_wrap.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/memory_buffer_alloc.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/net_sockets.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/nist_kw.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/oid.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/padlock.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pem.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pk.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pk_wrap.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pkcs11.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pkcs12.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pkcs5.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pkparse.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/pkwrite.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/platform.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/platform_util.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/poly1305.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ripemd160.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/rsa.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/rsa_internal.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/sha1.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/sha256.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/sha512.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ssl_cache.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ssl_ciphersuites.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ssl_cli.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ssl_cookie.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ssl_srv.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ssl_ticket.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/ssl_tls.c.o
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:1062:83: warning: argument 2 of type 'unsigned char[36]' with mismatched bound [-Warray-parameter=]
 1062 | MBEDTLSFLASHMEM void ssl_calc_verify_tls( mbedtls_ssl_context *ssl, unsigned char hash[36] )
      |                                                                     ~~~~~~~~~~~~~~^~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:483:73: note: previously declared as 'unsigned char *'
  483 | MBEDTLSFLASHMEM static void ssl_calc_verify_tls( mbedtls_ssl_context *, unsigned char * );
      |                                                                         ^~~~~~~~~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:1090:90: warning: argument 2 of type 'unsigned char[32]' with mismatched bound [-Warray-parameter=]
 1090 | MBEDTLSFLASHMEM void ssl_calc_verify_tls_sha256( mbedtls_ssl_context *ssl, unsigned char hash[32] )
      |                                                                            ~~~~~~~~~~~~~~^~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:490:79: note: previously declared as 'unsigned char *'
  490 | MBEDTLSFLASHMEM static void ssl_calc_verify_tls_sha256( mbedtls_ssl_context *,unsigned char * );
      |                                                                               ^~~~~~~~~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:1111:90: warning: argument 2 of type 'unsigned char[48]' with mismatched bound [-Warray-parameter=]
 1111 | MBEDTLSFLASHMEM voCompiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/threading.c.o
id ssl_calc_verify_tls_sha384( mbedtls_ssl_context *ssl, unsigned char hash[48] )
      |                                                                            ~~~~~~~~~~~~~~^~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:496:80: note: previously declared as 'unsigned char *'
  496 | MBEDTLSFLASHMEM static void ssl_calc_verify_tls_sha384( mbedtls_ssl_context *, unsigned char * );
      |                                                                                ^~~~~~~~~~~~~~~
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/timing.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/version.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/version_features.c.o
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c: In function 'ssl_calc_verify_tls_sha384':
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:1120:5: warning: 'mbedtls_sha512_finish_ret' accessing 64 bytes in a region of size 48 [-Wstringop-overflow=]
 1120 |     mbedtls_sha512_finish_ret( &sha512, hash );
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:1120:5: note: referencing argument 2 of type 'unsigned char *'
In file included from /home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/mbedtls/ssl_internal.h:43,
                 from /home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:48:
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/mbedtls/sha512.h:128:21: note: in a call to function 'mbedtls_sha512_finish_ret'
  128 | MBEDTLSFLASHMEM int mbedtls_sha512_finish_ret( mbedtls_sha512_context *ctx,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c: In function 'ssl_calc_finished_tls_sha384':
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:5376:5: warning: 'mbedtls_sha512_finish_ret' accessing 64 bytes in a region of size 48 [-Wstringop-overflow=]
 5376 |     mbedtls_sha512_finish_ret( &sha512, padbuf );
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:5376:5: note: referencing argument 2 of type 'unsigned char *'
In file included from /home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/mbedtls/ssl_internal.h:43,
                 from /home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/ssl_tls.c:48:
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/FNET/src/third_party/mbedtls-2.12.0/src/mbedtls/sha512.h:128:21: note: in a call to function 'mbedtls_sha512_finish_ret'
  128 | MBEDTLSFLASHMEM int mbedtls_sha512_finish_ret( mbedtls_sha512_context *ctx,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/x509.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/x509_create.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/x509_crl.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/x509_crt.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/x509_csr.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/x509write_crt.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/x509write_csr.c.o
Compiling .pio/build/teensy41/libdd9/FNET/third_party/mbedtls-2.12.0/src/xtea.c.o
Compiling .pio/build/teensy41/lib79d/NativeEthernet/NativeDns.cpp.o
Compiling .pio/build/teensy41/lib79d/NativeEthernet/NativeEthernet.cpp.o
Compiling .pio/build/teensy41/lib79d/NativeEthernet/NativeEthernetClient.cpp.o
Compiling .pio/build/teensy41/lib79d/NativeEthernet/NativeEthernetServer.cpp.o
Archiving .pio/build/teensy41/libdd9/libFNET.a
Indexing .pio/build/teensy41/libdd9/libFNET.a
Compiling .pio/build/teensy41/lib79d/NativeEthernet/NativeEthernetUdp.cpp.o
Compiling .pio/build/teensy41/lib79d/NativeEthernet/NativeMdns.cpp.o
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/NativeEthernet/src/NativeEthernetServer.cpp: In member function 'EthernetClient EthernetServer::available()':
/home/atticus/.platformio/packages/framework-arduinoteensy/libraries/NativeEthernet/src/NativeEthernetServer.cpp:119:103: warning: enum constant in boolean context [-Wint-in-bool-context]
  119 |                                            if(socket_poll.events_occurred & (FNET_SOCKET_EVENT_OUT || FNET_SOCKET_EVENT_IN)) {
      |                                                                                                       ^~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/teensy41/lib79d/NativeEthernet/Nativesocket.cpp.o
Compiling .pio/build/teensy41/lib4a6/micro_ros_arduino/default_transport.cpp.o
Compiling .pio/build/teensy41/lib4a6/micro_ros_arduino/native_ethernet_transport.cpp.o
Compiling .pio/build/teensy41/lib4a6/micro_ros_arduino/wifi_transport.cpp.o
Compiling .pio/build/teensy41/lib4ee/encoder/encoder.cpp.o
Archiving .pio/build/teensy41/lib79d/libNativeEthernet.a
Indexing .pio/build/teensy41/lib79d/libNativeEthernet.a
Compiling .pio/build/teensy41/libc16/Wire/Wire.cpp.o
Compiling .pio/build/teensy41/libc16/Wire/WireIMXRT.cpp.o
Archiving .pio/build/teensy41/lib4a6/libmicro_ros_arduino.a
Archiving .pio/build/teensy41/lib4ee/libencoder.a
Indexing .pio/build/teensy41/lib4a6/libmicro_ros_arduino.a
Indexing .pio/build/teensy41/lib4ee/libencoder.a
Compiling .pio/build/teensy41/libc16/Wire/WireKinetis.cpp.o
Compiling .pio/build/teensy41/libc16/Wire/utility/twi.c.o
Compiling .pio/build/teensy41/libdb1/imu/ADXL345.cpp.o
Compiling .pio/build/teensy41/libdb1/imu/HMC5883L.cpp.o
Compiling .pio/build/teensy41/libdb1/imu/I2Cdev.cpp.o
Archiving .pio/build/teensy41/libc16/libWire.a
Indexing .pio/build/teensy41/libc16/libWire.a
Compiling .pio/build/teensy41/libdb1/imu/ITG3200.cpp.o
Compiling .pio/build/teensy41/libdb1/imu/MPU6050.cpp.o
Compiling .pio/build/teensy41/libdb1/imu/MPU9150.cpp.o
Compiling .pio/build/teensy41/libdb1/imu/MPU9250.cpp.o
Compiling .pio/build/teensy41/liba2a/kinematics/kinematics.cpp.o
Archiving .pio/build/teensy41/liba2a/libkinematics.a
Indexing .pio/build/teensy41/liba2a/libkinematics.a
Compiling .pio/build/teensy41/libff3/Servo/Servo.cpp.o
Compiling .pio/build/teensy41/lib66f/odometry/odometry.cpp.o
Archiving .pio/build/teensy41/libff3/libServo.a
Indexing .pio/build/teensy41/libff3/libServo.a
Compiling .pio/build/teensy41/libbc7/pid/pid.cpp.o
lib/imu/MPU9250.cpp: In member function 'bool MPU9250::writeMemoryBlock(const uint8_t*, uint16_t, uint8_t, uint8_t, bool, bool)':
lib/imu/MPU9250.cpp:2999:14: warning: 'progBuffer' may be used uninitialized in this function [-Wmaybe-uninitialized]
 2999 |     uint8_t *progBuffer;
      |              ^~~~~~~~~~
lib/imu/MPU9250.cpp:3025:23: warning: 'verifyBuffer' may be used uninitialized in this function [-Wmaybe-uninitialized]
 3025 |         if (verify && verifyBuffer) {
      |                       ^~~~~~~~~~~~
lib/imu/MPU9150.cpp: In member function 'bool MPU9150::writeMemoryBlock(const uint8_t*, uint16_t, uint8_t, uint8_t, bool, bool)':
lib/imu/MPU9150.cpp:3020:23: warning: 'verifyBuffer' may be used uninitialized in this function [-Wmaybe-uninitialized]
 3020 |         if (verify && verifyBuffer) {
      |                       ^~~~~~~~~~~~
lib/imu/MPU9250.cpp: In member function 'bool MPU9250::writeDMPConfigurationSet(const uint8_t*, uint16_t, bool)':
lib/imu/MPU9250.cpp:3104:81: warning: 'progBuffer' may be used uninitialized in this function [-Wmaybe-uninitialized]
 3104 |                 if (sizeof(progBuffer) < length) progBuffer = (uint8_t *)realloc(progBuffer, length);
      |                                                                          ~~~~~~~^~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/teensy41/FrameworkArduino/AudioStream.cpp.o
Archiving .pio/build/teensy41/libdb1/libimu.a
Indexing .pio/build/teensy41/libdb1/libimu.a
Compiling .pio/build/teensy41/FrameworkArduino/CrashReport.cpp.o
Archiving .pio/build/teensy41/lib66f/libodometry.a
Indexing .pio/build/teensy41/lib66f/libodometry.a
Compiling .pio/build/teensy41/FrameworkArduino/DMAChannel.cpp.o
Archiving .pio/build/teensy41/libbc7/libpid.a
Indexing .pio/build/teensy41/libbc7/libpid.a
Compiling .pio/build/teensy41/FrameworkArduino/EventResponder.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial1.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial2.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial3.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial4.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial5.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial6.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial7.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/HardwareSerial8.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/IntervalTimer.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/Print.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/Time.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/WString.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/analog.c.o
Compiling .pio/build/teensy41/FrameworkArduino/bootdata.c.o
Compiling .pio/build/teensy41/FrameworkArduino/clockspeed.c.o
Compiling .pio/build/teensy41/FrameworkArduino/debugprintf.c.o
Compiling .pio/build/teensy41/FrameworkArduino/delay.c.o
Compiling .pio/build/teensy41/FrameworkArduino/digital.c.o
Compiling .pio/build/teensy41/FrameworkArduino/eeprom.c.o
Compiling .pio/build/teensy41/FrameworkArduino/extmem.c.o
Compiling .pio/build/teensy41/FrameworkArduino/fuse.c.o
Compiling .pio/build/teensy41/FrameworkArduino/interrupt.c.o
Compiling .pio/build/teensy41/FrameworkArduino/keylayouts.c.o
Compiling .pio/build/teensy41/FrameworkArduino/main.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/memcpy-armv7m.S.o
Compiling .pio/build/teensy41/FrameworkArduino/memset.S.o
Compiling .pio/build/teensy41/FrameworkArduino/new.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/nonstd.c.o
Compiling .pio/build/teensy41/FrameworkArduino/pwm.c.o
Compiling .pio/build/teensy41/FrameworkArduino/rtc.c.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent1.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent2.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent3.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent4.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent5.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent6.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent7.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEvent8.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEventUSB1.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/serialEventUSB2.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_alloc_valid.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_calloc.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_free.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_hash.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_malloc.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_malloc_stats.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_pool.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_realloc.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_realloc_i.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_realloc_move.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_szalloc.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_util.c.o
Compiling .pio/build/teensy41/FrameworkArduino/sm_zalloc.c.o
Compiling .pio/build/teensy41/FrameworkArduino/startup.c.o
Compiling .pio/build/teensy41/FrameworkArduino/tempmon.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_audio.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_desc.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_flightsim.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_inst.cpp.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_joystick.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_keyboard.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_midi.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_mouse.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_mtp.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_rawhid.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_seremu.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_serial.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_serial2.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_serial3.c.o
Compiling .pio/build/teensy41/FrameworkArduino/usb_touch.c.o
Compiling .pio/build/teensy41/FrameworkArduino/yield.cpp.o
Archiving .pio/build/teensy41/libFrameworkArduino.a
Indexing .pio/build/teensy41/libFrameworkArduino.a
Linking .pio/build/teensy41/firmware.elf
/home/atticus/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: .pio/libdeps/teensy41/micro_ros_arduino/src/imxrt1062/fpv5-d16-hard/libmicroros.a(librmw-validate_node_name.c.obj): in function `rmw_validate_node_name':
validate_node_name.c:(.text.rmw_validate_node_name+0x5e): undefined reference to `__locale_ctype_ptr'
/home/atticus/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: .pio/libdeps/teensy41/micro_ros_arduino/src/imxrt1062/fpv5-d16-hard/libmicroros.a(librmw-validate_full_topic_name.c.obj): in function `rmw_validate_full_topic_name':
validate_full_topic_name.c:(.text.rmw_validate_full_topic_name+0xbe): undefined reference to `__locale_ctype_ptr'
/home/atticus/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: .pio/libdeps/teensy41/micro_ros_arduino/src/imxrt1062/fpv5-d16-hard/libmicroros.a(librcl-validate_topic_name.c.obj): in function `rcl_validate_topic_name':
validate_topic_name.c:(.text.rcl_validate_topic_name+0x46): undefined reference to `__locale_ctype_ptr'
/home/atticus/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: validate_topic_name.c:(.text.rcl_validate_topic_name+0xb6): undefined reference to `__locale_ctype_ptr'
/home/atticus/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: validate_topic_name.c:(.text.rcl_validate_topic_name+0x164): undefined reference to `__locale_ctype_ptr'
collect2: error: ld returned 1 exit status
*** [.pio/build/teensy41/firmware.elf] Error 1
====================================== [FAILED] Took 89.49 seconds ======================================

Environment    Status    Duration
-------------  --------  ------------
teensy41       FAILED    00:01:29.486
================================= 1 failed, 0 succeeded in 00:01:29.486 =================================
grassjelly commented 1 year ago

could you try uploading the galactic branch?

atticusrussell commented 1 year ago

Thank you for your quick response. Yes, the galactic branch works for me.

I ended up trying it right after filing the issue when I saw the change for Foxy in the commit history that seemed related to my issue.

grassjelly commented 1 year ago

great. closing this for now