rodneybakiskan / ps5-esp32

Use a ps5 controller with an esp32
104 stars 10 forks source link

Compile issue with the latest ESP version 2.0.14 #20

Closed nebulusdesign closed 9 months ago

nebulusdesign commented 9 months ago

Hi I'm getting a compile issue trying to build the very basic ps5Connect example, I have the latest ESP version installed and pulled the latest zip file of the library from GitHub as per the instructions. Details are below, I wonder if something has changed in newest 2.0.14 version of the ESP32 tools? Happy to try an older version of the ESP tools see if that makes a difference, would be good to know a version that compiles for someone else...

I've tested this with Arduino IDE 1.8.19 and the latest 2.2.1

Many thanks,

Nigel

I get some warnings early in compilation:

/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/xtensa-esp32s3-elf-gcc -MMD -c @/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/flags/c_flags -Os -DF_CPU=240000000L -DARDUINO=10819 -DARDUINO_FEATHERS3 -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"FEATHERS3\"" "-DARDUINO_VARIANT=\"um_feathers3\"" -DARDUINO_PARTITION_default_16MB "-DARDUINO_HOST_OS=\"macosx\"" "-DARDUINO_FQBN=\"esp32:esp32:feathers3:LoopCore=1,EventsCore=1,USBMode=default,CDCOnBoot=cdc,MSCOnBoot=default,DFUOnBoot=default,UploadMode=cdc,PSRAM=enabled,PartitionScheme=default_16MB,CPUFreq=240,FlashMode=qio,UploadSpeed=921600,DebugLevel=none,EraseFlash=none\"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 @/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/flags/defines -I/var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_modified_sketch_723053 -iprefix /Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/include/ @/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/flags/includes -I/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/qio_qspi/include -I/Users/nigel/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-alpha2/cores/esp32 -I/Users/nigel/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-alpha2/variants/um_feathers3 -I/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src @/var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/build_opt.h /Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c -o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5.c: In function 'ps5SetBluetoothMacAddress':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5.c:224:3: warning: implicit declaration of function 'esp_base_mac_addr_set' [-Wimplicit-function-declaration]
  224 |   esp_base_mac_addr_set(baseMac);
      |   ^~~~~~~~~~~~~~~~~~~~~
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_spp.c: In function 'sppInit':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_spp.c:61:3: warning: 'esp_spp_init' is deprecated: Please use esp_spp_enhanced_init [-Wdeprecated-declarations]
   61 |   if ((ret = esp_spp_init(ESP_SPP_MODE_CB)) != ESP_OK) {
      |   ^~
In file included from /Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_spp.c:6:
/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/include/bt/host/bluedroid/api/include/api/esp_spp_api.h:261:11: note: declared here
  261 | esp_err_t esp_spp_init(esp_spp_mode_t mode) __attribute__((deprecated("Please use esp_spp_enhanced_init")));
      |           ^~~~~~~~~~~~

Then it appears for compile everything ok, then fails during linking:

/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/xtensa-esp32s3-elf-g++ @/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/flags/ld_flags @/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/flags/ld_scripts -Wl,--Map=/var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/sketch_nov26b.ino.map -L/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/lib -L/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/ld -L/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/qio_qspi -Wl,--wrap=esp_panic_handler -Wl,--start-group /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/sketch/sketch_nov26b.ino.cpp.o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5.c.o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_parser.c.o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_spp.c.o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5Controller.cpp.o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_cache_327439/core/core_de095efea49c522a8dc0f9d3cd93d15b.a @/Users/nigel/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-6b1f40b9bf/esp32s3/flags/ld_libs -Wl,--end-group -Wl,-EL -o /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/sketch_nov26b.ino.elf
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o:(.literal.ps5_l2cap_init_service+0x14): undefined reference to `L2CA_Register'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o:(.literal.ps5_l2cap_disconnect_ind_cback+0x4): undefined reference to `L2CA_DisconnectRsp'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o:(.literal.ps5_l2cap_config_ind_cback+0x0): undefined reference to `L2CA_ConfigRsp'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o:(.literal.ps5_l2cap_connect_ind_cback+0x8): undefined reference to `L2CA_ErtmConnectRsp'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o:(.literal.ps5_l2cap_connect_ind_cback+0xc): undefined reference to `L2CA_ConfigReq'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o:(.literal.ps5_l2cap_reconnect+0x8): undefined reference to `L2CA_ErtmConnectReq'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o:(.literal.ps5_l2cap_send_hid+0x14): undefined reference to `L2CA_DataWrite'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o: in function `ps5_l2cap_init_service':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:189: undefined reference to `L2CA_Register'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o: in function `ps5_l2cap_disconnect_ind_cback':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:319: undefined reference to `L2CA_DisconnectRsp'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o: in function `ps5_l2cap_config_ind_cback':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:301: undefined reference to `L2CA_ConfigRsp'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o: in function `ps5_l2cap_connect_ind_cback':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:232: undefined reference to `L2CA_ErtmConnectRsp'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:235: undefined reference to `L2CA_ErtmConnectRsp'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:238: undefined reference to `L2CA_ConfigReq'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o: in function `ps5_l2cap_reconnect':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:119: undefined reference to `L2CA_ErtmConnectReq'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_l2cap.c.o: in function `ps5_l2cap_send_hid':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_l2cap.c:159: undefined reference to `L2CA_DataWrite'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_spp.c.o:(.literal.sppCallback+0x0): undefined reference to `esp_bt_gap_set_scan_mode'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_spp.c.o:(.literal.sppInit+0x14): undefined reference to `esp_spp_register_callback'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_spp.c.o:(.literal.sppInit+0x18): undefined reference to `esp_spp_init'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_spp.c.o: in function `sppCallback':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_spp.c:86: undefined reference to `esp_bt_gap_set_scan_mode'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /var/folders/md/gq0nvddn3554nj86fj23f55w0000gn/T/arduino_build_721063/libraries/ps5-esp32-main/ps5_spp.c.o: in function `sppInit':
/Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_spp.c:56: undefined reference to `esp_spp_register_callback'
/Users/nigel/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-12.2.0_20230208/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /Users/nigel/Documents/Arduino/libraries/ps5-esp32-main/src/ps5_spp.c:65: undefined reference to `esp_spp_init'
collect2: error: ld returned 1 exit status
Using library ps5-esp32-main at version 2.1 in folder: /Users/nigel/Documents/Arduino/libraries/ps5-esp32-main 
exit status 1
Error compiling for board UM FeatherS3.
nebulusdesign commented 9 months ago

Ahh just spotted one of the closed issues, looks like its due to my ESP32S3 chip not supporting original Bluetooth...

Might be good to have that in the main README.md