DnCraptor / murmulator-os

ZX Murmulator OS
MIT License
8 stars 1 forks source link

Can't build on linux / Не могу собрать на linux #1

Open y-salnikov opened 1 month ago

y-salnikov commented 1 month ago

Looks like it can't see FreeRTOS sources. Похоже, что он не может найти исходники FreeRTOS. Делал все по инструкции.

/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c: In function 'usb_task':
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:64:9: error: implicit declaration of function 'vTaskDelay' [-Wimplicit-function-declaration]
   64 |         vTaskDelay(1);
      |         ^~~~~~~~~~
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:71:5: error: implicit declaration of function 'vTaskDelete' [-Wimplicit-function-declaration]
   71 |     vTaskDelete(NULL);
      |     ^~~~~~~~~~~
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c: In function 'usb_driver':
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:78:5: error: implicit declaration of function 'xTaskCreate' [-Wimplicit-function-declaration]
   78 |     xTaskCreate(usb_task, "usb_task", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, NULL);
      |     ^~~~~~~~~~~
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c: In function 'pico_usb_drive_heartbeat':
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:102:9: error: implicit declaration of function 'dcd_disconnect'; did you mean 'tud_disconnect'? [-Wimplicit-function-declaration]
  102 |         dcd_disconnect();
      |         ^~~~~~~~~~~~~~
      |         tud_disconnect
DnCraptor commented 1 month ago

Not enough information provided. Pls. pass more info, step by steps to reproduce.

y-salnikov commented 1 month ago

Steps to reproduce:

mkdir murmulator                
cd murmulator 

git clone https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git switch 1.5.1 --detach

git submodule update --init --recursive

cd lib/tinyusb
git switch cfbdc44a8d099240ad5ef208bd639487c2f28153 --detach

cd ../../../  (murmulator dir)
git clone https://github.com/DnCraptor/murmulator-os.git
cd murmulator-os
git submodule update --init --recursive

ln -s /mnt/d/linux_files/build/murmulator/pico-sdk/lib/tinyusb/hw/bsp /mnt/d/linux_files/build/murmulator/murmulator-os/include
ln -s /mnt/d/linux_files/build/murmulator/pico-sdk/lib/tinyusb/hw/mcu /mnt/d/linux_files/build/murmulator/murmulator-os/include

In file linux.build-alt.sh add line export PICO_SDK_PATH=/mnt/d/linux_files/build/murmulator/pico-sdk

chmod +x linux.build-alt.sh
./linux.build-alt.sh

Output:

Not searching for unused variables given on the command line.
Using PICO_SDK_PATH from environment ('/mnt/d/linux_files/build/murmulator/pico-sdk')
PICO_SDK_PATH is /mnt/d/linux_files/build/murmulator/pico-sdk
Defaulting PICO_PLATFORM to rp2040 since not specified.
Defaulting PICO platform compiler to pico_arm_gcc since not specified.
PICO compiler is pico_arm_gcc
-- The C compiler identification is GNU 14.1.0
-- The CXX compiler identification is GNU 14.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/arm-none-eabi-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/arm-none-eabi-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/arm-none-eabi-gcc
Build type is MinSizeRel
Defaulting PICO target board to pico since not specified.
Using board configuration from /mnt/d/linux_files/build/murmulator/pico-sdk/src/boards/include/boards/pico.h
-- Found Python3: /usr/bin/python3.12 (found version "3.12.6") found components: Interpreter
TinyUSB available at /mnt/d/linux_files/build/murmulator/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.
BTstack available at /mnt/d/linux_files/build/murmulator/pico-sdk/lib/btstack
cyw43-driver available at /mnt/d/linux_files/build/murmulator/pico-sdk/lib/cyw43-driver
Pico W Bluetooth build support available.
lwIP available at /mnt/d/linux_files/build/murmulator/pico-sdk/lib/lwip
mbedtls available at /mnt/d/linux_files/build/murmulator/pico-sdk/lib/mbedtls
-- Add source files:
-- /mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/msc_disk.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb_descriptors.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/app.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/cmd.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/hardfault.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/hooks.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/keyboard.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/main.cpp
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/math-wrapper.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/overclock.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/ram_page.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/sound.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/sys_table.c
-- /mnt/d/linux_files/build/murmulator/murmulator-os/src/tests.c
-- 
-- 285081600
-- Configuring done (0.9s)
-- Generating done (0.2s)
-- Build files have been written to: /mnt/d/linux_files/build/murmulator/murmulator-os/build
[  1%] Creating directories for 'PioasmBuild'
[  2%] No download step for 'PioasmBuild'
[  2%] No update step for 'PioasmBuild'
[  3%] No patch step for 'PioasmBuild'
[  4%] Performing configure step for 'PioasmBuild'
loading initial cache file /mnt/d/linux_files/build/murmulator/murmulator-os/build/pico-sdk/src/rp2_common/tinyusb/pioasm/tmp/PioasmBuild-cache-MinSizeRel.cmake
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The CXX compiler identification is GNU 14.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /mnt/d/linux_files/build/murmulator/murmulator-os/build/pioasm
[  4%] Performing build step for 'PioasmBuild'
[ 10%] Building CXX object CMakeFiles/pioasm.dir/main.cpp.o
[ 20%] Building CXX object CMakeFiles/pioasm.dir/pio_assembler.cpp.o
[ 30%] Building CXX object CMakeFiles/pioasm.dir/pio_disassembler.cpp.o
[ 40%] Building CXX object CMakeFiles/pioasm.dir/gen/lexer.cpp.o
[ 50%] Building CXX object CMakeFiles/pioasm.dir/gen/parser.cpp.o
[ 60%] Building CXX object CMakeFiles/pioasm.dir/c_sdk_output.cpp.o
[ 70%] Building CXX object CMakeFiles/pioasm.dir/python_output.cpp.o
[ 80%] Building CXX object CMakeFiles/pioasm.dir/hex_output.cpp.o
[ 90%] Building CXX object CMakeFiles/pioasm.dir/ada_output.cpp.o
[100%] Linking CXX executable pioasm
[100%] Built target pioasm
[  4%] No install step for 'PioasmBuild'
[  5%] Completed 'PioasmBuild'
[  5%] Built target PioasmBuild
[  6%] Generating psram_spi.pio.h
[  6%] Built target psram_psram_spi_pio_h
[  6%] Building ASM object CMakeFiles/slower_boot2.dir/mnt/d/linux_files/build/murmulator/pico-sdk/src/rp2_common/boot_stage2/compile_time_choice.S.obj
[  7%] Linking ASM executable /mnt/d/linux_files/build/murmulator/murmulator-os/bin/MinSizeRel/slower_boot2.elf
[  7%] Built target slower_boot2
[  8%] Generating slower_boot2.bin
[  8%] Generating slower_boot2_padded_checksummed.S
[  8%] Built target slower_boot2_padded_checksummed_asm
[  9%] Creating directories for 'ELF2UF2Build'
[  9%] No download step for 'ELF2UF2Build'
[ 10%] No update step for 'ELF2UF2Build'
[ 10%] No patch step for 'ELF2UF2Build'
[ 11%] Performing configure step for 'ELF2UF2Build'
-- The C compiler identification is GNU 14.2.1
-- The CXX compiler identification is GNU 14.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /mnt/d/linux_files/build/murmulator/murmulator-os/build/elf2uf2
[ 12%] Performing build step for 'ELF2UF2Build'
[ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o
[100%] Linking CXX executable elf2uf2
[100%] Built target elf2uf2
[ 13%] No install step for 'ELF2UF2Build'
[ 13%] Completed 'ELF2UF2Build'
[ 13%] Built target ELF2UF2Build
[ 14%] Generating audio_i2s.pio.h
[ 14%] Built target audio_audio_i2s_pio_h
[ 15%] Generating spi.pio.h
[ 15%] Built target sdcard_spi_pio_h
[ 17%] Building C object CMakeFiles/murmulator-os.dir/drivers/usb/msc_disk.c.obj
[ 17%] Building C object CMakeFiles/murmulator-os.dir/drivers/usb/usb.c.obj
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c: In function 'usb_task':
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:64:9: error: implicit declaration of function 'vTaskDelay' [-Wimplicit-function-declaration]
   64 |         vTaskDelay(1);
      |         ^~~~~~~~~~
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:71:5: error: implicit declaration of function 'vTaskDelete' [-Wimplicit-function-declaration]
   71 |     vTaskDelete(NULL);
      |     ^~~~~~~~~~~
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c: In function 'usb_driver':
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:78:5: error: implicit declaration of function 'xTaskCreate' [-Wimplicit-function-declaration]
   78 |     xTaskCreate(usb_task, "usb_task", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, NULL);
      |     ^~~~~~~~~~~
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c: In function 'pico_usb_drive_heartbeat':
/mnt/d/linux_files/build/murmulator/murmulator-os/drivers/usb/usb.c:102:9: error: implicit declaration of function 'dcd_disconnect'; did you mean 'tud_disconnect'? [-Wimplicit-function-declaration]
  102 |         dcd_disconnect();
      |         ^~~~~~~~~~~~~~
      |         tud_disconnect
make[2]: *** [CMakeFiles/murmulator-os.dir/build.make:90: CMakeFiles/murmulator-os.dir/drivers/usb/usb.c.obj] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:1732: CMakeFiles/murmulator-os.dir/all] Ошибка 2
make: *** [Makefile:91: all] Ошибка 2
DnCraptor commented 1 month ago

ok. thnx for details. will try to reproduce.

DnCraptor commented 1 month ago

Проблема пока не воспроизведена. Что можно проверить: созданы ли те симлинки, которые описаны в доке... Что можно ещё попробовать: вытащить последнюю tinyusb вместо той, что по тэгу.