ivmarkov / rust-esp32-std-demo

Rust on ESP32 STD demo app. A demo STD binary crate for the ESP32[XX] and ESP-IDF, which connects to WiFi, Ethernet, drives a small HTTP server and draws on a LED screen.
Apache License 2.0
784 stars 105 forks source link

Fail to build for esp32s2, Ubuntu 21.10 #54

Closed sumhoy closed 2 years ago

sumhoy commented 2 years ago

Good day. i tried to build esp32s2 but failed, however esp32 build was successful.

target = "xtensa-esp32-espidf" <-- build successfully

target = "xtensa-esp32s2-espidf" <-- fail to run cargo build

Ran command below and got esp-idf-hal-0.32.4 compilation error.

cargo build -v

Errors : error[E0412]: cannot find type T in this scope --> /home/sumhoy/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-hal-0.32.4/src/ulp.rs:284:46 | 284 | pub unsafe fn write_var(&self, dst: *mut T, value: T) -> Result<(), EspError> { | ^ not found in this scope

error[E0412]: cannot find type T in this scope --> /home/sumhoy/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-hal-0.32.4/src/ulp.rs:284:56 | 284 | pub unsafe fn write_var(&self, dst: *mut T, value: T) -> Result<(), EspError> { | ^ not found in this scope

error[E0412]: cannot find type T in this scope --> /home/sumhoy/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-hal-0.32.4/src/ulp.rs:292:49 | 292 | pub unsafe fn swap_var(&mut self, ptr: *mut T, value: T) -> Result<T, EspError> { | ^ not found in this scope

error[E0412]: cannot find type T in this scope --> /home/sumhoy/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-hal-0.32.4/src/ulp.rs:292:59 | 292 | pub unsafe fn swap_var(&mut self, ptr: *mut T, value: T) -> Result<T, EspError> { | ^ not found in this scope

error[E0412]: cannot find type T in this scope --> /home/sumhoy/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-hal-0.32.4/src/ulp.rs:292:72 | 265 | impl ULP { | - help: you might be missing a type parameter: <T> ... 292 | pub unsafe fn swap_var(&mut self, ptr: *mut T, value: T) -> Result<T, EspError> { | ^ not found in this scope

error[E0308]: mismatched types --> /home/sumhoy/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-hal-0.32.4/src/ulp.rs:108:33 108 const TIMER_REG: *mut u32 = RTC_CNTL_ULP_CP_TIMER_REG; ^^^^^^^^^^^^^^^^^^^^^^^^^ expected *-ptr, found u32
= note: expected raw pointer `*mut u32`
                  found type `u32`

Some errors have detailed explanations: E0308, E0412. For more information about an error, try rustc --explain E0308. error: could not compile esp-idf-hal due to 6 previous errors

Caused by: process didn't exit successfully: rustc --crate-name esp_idf_hal --edition=2018 /home/sumhoy/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-hal-0.32.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on --cfg 'feature="default"' --cfg 'feature="embedded-svc"' --cfg 'feature="embedded-svc-mutex"' --cfg 'feature="esp-idf-sys"' --cfg 'feature="std"' -C metadata=b9c1c774e622c597 -C extra-filename=-b9c1c774e622c597 --out-dir /home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps --target xtensa-esp32s2-espidf -C linker=ldproxy -L dependency=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps -L dependency=/home/sumhoy/git/rust-esp32-std-demo/target/debug/deps --extern 'noprelude:alloc=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/liballoc-d3bd9574fb98762c.rmeta' --extern 'noprelude:compiler_builtins=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libcompiler_builtins-e9c7863a56d27070.rmeta' --extern 'noprelude:core=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libcore-7b520c3c1bd1e795.rmeta' --extern embedded_hal_0_2=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libembedded_hal-4f7977672458e652.rmeta --extern embedded_hal=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libembedded_hal-987ef8b0ef4413c5.rmeta --extern embedded_svc=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libembedded_svc-1051e55eca01894f.rmeta --extern esp_idf_sys=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libesp_idf_sys-4409fa89559930e7.rmeta --extern nb=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libnb-27839f3857a2c3f7.rmeta --extern 'noprelude:panic_abort=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libpanic_abort-20d28edbda8e5014.rmeta' --extern 'noprelude:panic_unwind=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libpanic_unwind-3f21ce81f2ce614e.rmeta' --extern 'noprelude:proc_macro=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libproc_macro-b0e2e1fa8bbfa545.rmeta' --extern 'noprelude:std=/home/sumhoy/git/rust-esp32-std-demo/target/xtensa-esp32s2-espidf/debug/deps/libstd-6ca87025b32ca845.rmeta' -Z unstable-options --cap-lints allow --cfg esp_idf_idf_cmake --cfg esp_idf_idf_target_arch_xtensa --cfg 'esp_idf_idf_target="esp32s2"' --cfg esp_idf_idf_target_esp32s2 --cfg esp_idf_app_build_type_app_2ndboot --cfg esp_idf_app_build_generate_binaries --cfg esp_idf_app_build_bootloader --cfg esp_idf_app_build_use_flash_sections --cfg esp_idf_app_compile_time_date --cfg esp_idf_bootloader_compiler_optimization_size --cfg esp_idf_bootloader_log_level_info --cfg esp_idf_bootloader_vddsdio_boost_1_9v --cfg esp_idf_bootloader_wdt_enable --cfg esp_idf_secure_boot_supports_rsa --cfg esp_idf_secure_target_has_secure_rom_dl_mode --cfg esp_idf_esptoolpy_flashmode_dio --cfg esp_idf_esptoolpy_flashfreq_80m --cfg esp_idf_esptoolpy_flashsize_2mb --cfg esp_idf_esptoolpy_flashsize_detect --cfg esp_idf_esptoolpy_before_reset --cfg esp_idf_esptoolpy_after_reset --cfg esp_idf_esptoolpy_monitor_baud_115200b --cfg esp_idf_partition_table_single_app --cfg esp_idf_partition_table_md5 --cfg esp_idf_compiler_optimization_default --cfg esp_idf_compiler_optimization_assertions_enable --cfg esp_idf_compiler_stack_check_mode_none --cfg esp_idf_apptrace_dest_none --cfg esp_idf_apptrace_lock_enable --cfg esp_idf_bt_ctrl_ble_adv_report_flow_ctrl_supp --cfg esp_idf_bt_ctrl_ble_scan_dupl --cfg esp_idf_bt_nimble_use_esp_timer --cfg esp_idf_coap_mbedtls_psk --cfg esp_idf_adc_disable_dac --cfg esp_idf_spi_master_isr_in_iram --cfg esp_idf_spi_slave_isr_in_iram --cfg esp_idf_esp_tls_using_mbedtls --cfg esp_idf_esp_tls_use_ds_peripheral --cfg esp_idf_esp_tls_insecure --cfg esp_idf_esp_tls_skip_server_cert_verify --cfg esp_idf_esp32s2_default_cpu_freq_160 --cfg esp_idf_esp32s2_instruction_cache_8kb --cfg esp_idf_esp32s2_instruction_cache_line_32b --cfg esp_idf_esp32s2_data_cache_0kb --cfg esp_idf_esp32s2_data_cache_line_32b --cfg esp_idf_esp32s2_universal_mac_addresses_two --cfg esp_idf_esp32s2_ulp_coproc_enabled --cfg esp_idf_esp32s2_ulp_coproc_riscv --cfg esp_idf_esp32s2_debug_ocdaware --cfg esp_idf_esp32s2_brownout_det --cfg esp_idf_esp32s2_brownout_det_lvl_sel_7 --cfg esp_idf_esp32s2_time_syscall_use_rtc_frc1 --cfg esp_idf_esp32s2_rtc_clk_src_int_rc --cfg esp_idf_esp_err_to_name_lookup --cfg esp_idf_esp_console_uart_default --cfg esp_idf_esp_console_uart --cfg esp_idf_esp_console_multiple_uart --cfg esp_idf_esp_int_wdt --cfg esp_idf_esp_task_wdt --cfg esp_idf_esp_task_wdt_check_idle_task_cpu0 --cfg esp_idf_esp_mac_addr_universe_wifi_sta --cfg esp_idf_esp_mac_addr_universe_wifi_ap --cfg esp_idf_eth_enabled --cfg esp_idf_eth_use_spi_ethernet --cfg esp_idf_eth_spi_ethernet_dm9051 --cfg esp_idf_eth_spi_ethernet_w5500 --cfg esp_idf_esp_event_post_from_isr --cfg esp_idf_esp_event_post_from_iram_isr --cfg esp_idf_esp_http_client_enable_https --cfg esp_idf_httpd_err_resp_no_delay --cfg esp_idf_esp_netif_tcpip_lwip --cfg esp_idf_esp_netif_tcpip_adapter_compatible_layer --cfg esp_idf_esp_system_panic_print_reboot --cfg esp_idf_esp_system_single_core_mode --cfg esp_idf_esp_system_rtc_fast_mem_as_heap_depcheck --cfg esp_idf_esp_system_allow_rtc_fast_mem_as_heap --cfg esp_idf_esp_system_pd_flash --cfg esp_idf_esp_system_memprot_feature --cfg esp_idf_esp_system_memprot_feature_lock --cfg esp_idf_esp_time_funcs_use_rtc_timer --cfg esp_idf_esp_time_funcs_use_esp_timer --cfg esp_idf_esp_timer_impl_systimer --cfg esp_idf_esp32_wifi_dynamic_tx_buffer --cfg esp_idf_esp32_wifi_ampdu_tx_enabled --cfg esp_idf_esp32_wifi_ampdu_rx_enabled --cfg esp_idf_esp32_wifi_nvs_enabled --cfg esp_idf_wifi_log_default_level_info --cfg esp_idf_esp32_wifi_iram_opt --cfg esp_idf_esp32_wifi_rx_iram_opt --cfg esp_idf_esp32_wifi_enable_wpa3_sae --cfg esp_idf_esp32_phy_calibration_and_data_storage --cfg esp_idf_esp_coredump_enable_to_none --cfg esp_idf_fatfs_codepage_437 --cfg esp_idf_fatfs_lfn_none --cfg esp_idf_fatfs_per_file_cache --cfg esp_idf_fmb_comm_mode_tcp_en --cfg esp_idf_fmb_comm_mode_rtu_en --cfg esp_idf_fmb_comm_mode_ascii_en --cfg esp_idf_fmb_controller_slave_id_support --cfg esp_idf_fmb_timer_port_enabled --cfg esp_idf_freertos_unicore --cfg esp_idf_freertos_coretimer_0 --cfg esp_idf_freertos_optimized_scheduler --cfg esp_idf_freertos_assert_on_untested_function --cfg esp_idf_freertos_check_stackoverflow_canary --cfg esp_idf_freertos_interrupt_backtrace --cfg esp_idf_freertos_assert_fail_abort --cfg esp_idf_freertos_support_static_allocation --cfg esp_idf_freertos_task_function_wrapper --cfg esp_idf_freertos_check_mutex_given_by_owner --cfg esp_idf_freertos_debug_ocdaware --cfg esp_idf_heap_poisoning_disabled --cfg esp_idf_heap_tracing_off --cfg esp_idf_log_default_level_info --cfg esp_idf_log_colors --cfg esp_idf_log_timestamp_source_rtos --cfg esp_idf_lwip_dns_support_mdns_queries --cfg esp_idf_lwip_l2_to_l3_copy --cfg esp_idf_lwip_timers_ondemand --cfg esp_idf_lwip_so_reuse --cfg esp_idf_lwip_so_reuse_rxtoall --cfg esp_idf_lwip_ip4_frag --cfg esp_idf_lwip_ip6_frag --cfg esp_idf_lwip_ip_forward --cfg esp_idf_lwip_ipv4_napt --cfg esp_idf_lwip_esp_gratuitous_arp --cfg esp_idf_lwip_dhcp_does_arp_check --cfg esp_idf_lwip_dhcps --cfg esp_idf_lwip_ipv6 --cfg esp_idf_lwip_netif_loopback --cfg esp_idf_lwip_tcp_high_speed_retransmission --cfg esp_idf_lwip_tcp_queue_ooseq --cfg esp_idf_lwip_tcp_oversize_mss --cfg esp_idf_lwip_checksum_check_icmp --cfg esp_idf_lwip_tcpip_task_affinity_no_affinity --cfg esp_idf_lwip_icmp --cfg esp_idf_lwip_esp_lwip_assert --cfg esp_idf_lwip_hook_tcp_isn_default --cfg esp_idf_lwip_hook_ip6_route_none --cfg esp_idf_lwip_hook_netconn_ext_resolve_none --cfg esp_idf_mbedtls_internal_mem_alloc --cfg esp_idf_mbedtls_asymmetric_content_len --cfg esp_idf_mbedtls_hardware_aes --cfg esp_idf_mbedtls_aes_use_interrupt --cfg esp_idf_mbedtls_hardware_gcm --cfg esp_idf_mbedtls_hardware_mpi --cfg esp_idf_mbedtls_hardware_sha --cfg esp_idf_mbedtls_rom_md5 --cfg esp_idf_mbedtls_have_time --cfg esp_idf_mbedtls_ecdsa_deterministic --cfg esp_idf_mbedtls_sha512_c --cfg esp_idf_mbedtls_tls_server_and_client --cfg esp_idf_mbedtls_tls_server --cfg esp_idf_mbedtls_tls_client --cfg esp_idf_mbedtls_tls_enabled --cfg esp_idf_mbedtls_key_exchange_rsa --cfg esp_idf_mbedtls_key_exchange_dhe_rsa --cfg esp_idf_mbedtls_key_exchange_elliptic_curve --cfg esp_idf_mbedtls_key_exchange_ecdhe_rsa --cfg esp_idf_mbedtls_key_exchange_ecdhe_ecdsa --cfg esp_idf_mbedtls_key_exchange_ecdh_ecdsa --cfg esp_idf_mbedtls_key_exchange_ecdh_rsa --cfg esp_idf_mbedtls_ssl_renegotiation --cfg esp_idf_mbedtls_ssl_proto_tls1 --cfg esp_idf_mbedtls_ssl_proto_tls1_1 --cfg esp_idf_mbedtls_ssl_proto_tls1_2 --cfg esp_idf_mbedtls_ssl_alpn --cfg esp_idf_mbedtls_client_ssl_session_tickets --cfg esp_idf_mbedtls_x509_check_key_usage --cfg esp_idf_mbedtls_x509_check_extended_key_usage --cfg esp_idf_mbedtls_server_ssl_session_tickets --cfg esp_idf_mbedtls_aes_c --cfg esp_idf_mbedtls_rc4_disabled --cfg esp_idf_mbedtls_ccm_c --cfg esp_idf_mbedtls_gcm_c --cfg esp_idf_mbedtls_pem_parse_c --cfg esp_idf_mbedtls_pem_write_c --cfg esp_idf_mbedtls_x509_crl_parse_c --cfg esp_idf_mbedtls_x509_csr_parse_c --cfg esp_idf_mbedtls_ecp_c --cfg esp_idf_mbedtls_ecdh_c --cfg esp_idf_mbedtls_ecdsa_c --cfg esp_idf_mbedtls_ecp_dp_secp192r1_enabled --cfg esp_idf_mbedtls_ecp_dp_secp224r1_enabled --cfg esp_idf_mbedtls_ecp_dp_secp256r1_enabled --cfg esp_idf_mbedtls_ecp_dp_secp384r1_enabled --cfg esp_idf_mbedtls_ecp_dp_secp521r1_enabled --cfg esp_idf_mbedtls_ecp_dp_secp192k1_enabled --cfg esp_idf_mbedtls_ecp_dp_secp224k1_enabled --cfg esp_idf_mbedtls_ecp_dp_secp256k1_enabled --cfg esp_idf_mbedtls_ecp_dp_bp256r1_enabled --cfg esp_idf_mbedtls_ecp_dp_bp384r1_enabled --cfg esp_idf_mbedtls_ecp_dp_bp512r1_enabled --cfg esp_idf_mbedtls_ecp_dp_curve25519_enabled --cfg esp_idf_mbedtls_ecp_nist_optim --cfg esp_idf_mdns_task_affinity_cpu0 --cfg esp_idf_mqtt_protocol_311 --cfg esp_idf_mqtt_transport_ssl --cfg esp_idf_mqtt_transport_websocket --cfg esp_idf_mqtt_transport_websocket_secure --cfg esp_idf_newlib_stdout_line_ending_crlf --cfg esp_idf_newlib_stdin_line_ending_cr --cfg esp_idf_openssl_error_stack --cfg esp_idf_openssl_assert_exit --cfg esp_idf_spi_flash_rom_driver_patch --cfg esp_idf_spi_flash_dangerous_write_aborts --cfg esp_idf_spi_flash_yield_during_erase --cfg esp_idf_spi_flash_support_issi_chip --cfg esp_idf_spi_flash_support_mxic_chip --cfg esp_idf_spi_flash_support_gd_chip --cfg esp_idf_spi_flash_support_winbond_chip --cfg esp_idf_spi_flash_support_boya_chip --cfg esp_idf_spi_flash_enable_encrypted_read_write --cfg esp_idf_spiffs_cache --cfg esp_idf_spiffs_cache_wr --cfg esp_idf_spiffs_page_check --cfg esp_idf_spiffs_use_magic --cfg esp_idf_spiffs_use_magic_length --cfg esp_idf_spiffs_use_mtime --cfg esp_idf_ws_transport --cfg esp_idf_unity_enable_float --cfg esp_idf_unity_enable_double --cfg esp_idf_unity_enable_idf_test_runner --cfg esp_idf_vfs_support_io --cfg esp_idf_vfs_support_dir --cfg esp_idf_vfs_support_select --cfg esp_idf_vfs_suppress_select_debug_output --cfg esp_idf_vfs_support_termios --cfg esp_idf_wl_sector_size_4096 --cfg esp_idf_wpa_mbedtls_crypto --cfg esp_idf_log_bootloader_level_info --cfg esp_idf_flashmode_dio --cfg esp_idf_monitor_baud_115200b --cfg esp_idf_compiler_optimization_level_debug --cfg esp_idf_optimization_assertions_enabled --cfg esp_idf_stack_check_none --cfg esp_idf_esp32_apptrace_dest_none --cfg esp_idf_esp32_apptrace_lock_enable --cfg esp_idf_adc2_disable_dac --cfg esp_idf_console_uart_default --cfg esp_idf_console_uart --cfg esp_idf_int_wdt --cfg esp_idf_task_wdt --cfg esp_idf_task_wdt_check_idle_task_cpu0 --cfg esp_idf_post_events_from_isr --cfg esp_idf_post_events_from_iram_isr --cfg esp_idf_esp32s2_panic_print_reboot --cfg esp_idf_esp32s2_allow_rtc_fast_mem_as_heap --cfg esp_idf_esp32c3_memprot_feature --cfg esp_idf_esp32c3_memprot_feature_lock --cfg esp_idf_esp32_enable_coredump_to_none --cfg esp_idf_mb_controller_slave_id_support --cfg esp_idf_mb_timer_port_enabled --cfg esp_idf_l2_to_l3_copy --cfg esp_idf_esp_gratuitous_arp --cfg esp_idf_tcp_queue_ooseq --cfg esp_idf_tcp_oversize_mss --cfg esp_idf_tcpip_task_affinity_no_affinity --cfg esp_idf_spi_flash_writing_dangerous_regions_aborts --cfg esp_idf_suppress_select_debug_output --cfg esp_idf_support_termios --cfg 'esp_idf_version_full="4.3.1"' --cfg 'esp_idf_version="4.3"' --cfg 'esp_idf_version_major="4"' --cfg 'esp_idf_version_minor="3"' --cfg 'esp_idf_version_patch="1"' --cfg esp_idf_comp_pthread_enabled --cfg esp_idf_comp_nvs_flash_enabled --cfg esp_idf_comp_esp_tls_enabled --cfg esp_idf_comp_esp_http_client_enabled --cfg esp_idf_comp_esp_http_server_enabled --cfg esp_idf_comp_espcoredump_enabled --cfg esp_idf_comp_app_update_enabled --cfg esp_idf_comp_esp_serial_slave_link_enabled --cfg esp_idf_comp_spi_flash_enabled --cfg esp_idf_comp_esp_adc_cal_enabled --cfg esp_idf_comp_mqtt_enabled --cfg esp32s2 (exit status: 1)

ivmarkov commented 2 years ago

Yes, I know that and I'm working on fixing it. Will keep you posted.

sumhoy commented 2 years ago

Thanks Ivan. Let me know if I can help in any way, am happy to do so and thanks for your effort.

ivmarkov commented 2 years ago

Fixed. As usual, git pull the latest demo, and/or do cargo update before clean and rebuild.