electro-smith / DaisyExamples

Examples for the Daisy Platform
https://github.com/electro-smith/DaisyWiki/wiki
MIT License
384 stars 197 forks source link

libDaisy is out of date #306

Open lerouxb opened 3 months ago

lerouxb commented 3 months ago

I'd like to update the libDaisy submodule inside DaisyExamples so I can use some of the new features from the latest version in my project. I've tried doing the naive thing where I just checked out the latest master branch inside the submodule, but I can't get anything to compile. I'm getting:

building libDaisy . . .
make: *** No rule to make target `build/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.o', needed by `build/libdaisy.a'.  Stop.
make: *** Waiting for unfinished jobs....
Failed to compile libDaisy
Building: pod/SynthVoice
cc1: fatal error: stm32h7xx.h: No such file or directory
compilation terminated.
make: *** [build/startup_stm32h750xx.o] Error 1
finished

It would be nice if there's some documentation somewhere on how to go about this since unless DiasyExamples gets updated regularly it would be nice to be able to do this ourselves. Given that the script to create a project puts it inside DaisyExamples, this is basically the way projects would consume anything added libDaisy.

HeckHeckHeckHeck commented 2 months ago

Hya, this is not a bug, in DaisyExamples. Please make sure your clone contains all submodules recursively. Either:

lerouxb commented 2 months ago

The submodules in DaisyExamples are still pinned to older commits of those submodules. DaisyExamples' master branch hasn't been updated in 8 months. libDaisy has been updated a lot in that time. Those two commands don't change any of that.

HeckHeckHeckHeck commented 1 month ago

yes, the DaisyExamples submodules are on quite old versions (4.x something iirc) but again iirc they all the examples do compile correctly.

The only root cause i know for your problem problem description (at least popular root cause) is not having the submodules clones correctly.

Did you try the command line solutions i proposed?

HeckHeckHeckHeck commented 1 month ago

i am trying to reproduce as we speak:

heck@YOOROOX::~/tmp]  $ git clone --recurse-submodules https://github.com/electro-smith/DaisyExamples
Cloning into 'DaisyExamples'...
remote: Enumerating objects: 14396, done.
remote: Counting objects: 100% (3167/3167), done.
remote: Compressing objects: 100% (468/468), done.
remote: Total 14396 (delta 2826), reused 2699 (delta 2699), pack-reused 11229 (from 1)
Receiving objects: 100% (14396/14396), 598.66 MiB | 5.00 MiB/s, done.
Resolving deltas: 100% (10380/10380), done.
Submodule 'DaisySP' (https://github.com/electro-smith/DaisySP) registered for path 'DaisySP'
Submodule 'libDaisy' (https://github.com/electro-smith/libDaisy) registered for path 'libDaisy'
Submodule 'stmlib' (https://github.com/pichenettes/stmlib) registered for path 'stmlib'
Cloning into '/Users/heck/tmp/DaisyExamples/DaisySP'...
remote: Enumerating objects: 10836, done.
remote: Counting objects: 100% (3922/3922), done.
remote: Compressing objects: 100% (469/469), done.
remote: Total 10836 (delta 3574), reused 3666 (delta 3453), pack-reused 6914 (from 1)
Receiving objects: 100% (10836/10836), 7.99 MiB | 4.18 MiB/s, done.
Resolving deltas: 100% (9052/9052), done.
Cloning into '/Users/heck/tmp/DaisyExamples/libDaisy'...
remote: Enumerating objects: 36216, done.
remote: Counting objects: 100% (8671/8671), done.
remote: Compressing objects: 100% (1297/1297), done.
remote: Total 36216 (delta 7753), reused 7902 (delta 7336), pack-reused 27545 (from 1)
Receiving objects: 100% (36216/36216), 78.87 MiB | 3.83 MiB/s, done.
Resolving deltas: 100% (29665/29665), done.
Cloning into '/Users/heck/tmp/DaisyExamples/stmlib'...
remote: Enumerating objects: 2365, done.
remote: Counting objects: 100% (439/439), done.
remote: Compressing objects: 100% (98/98), done.
remote: Total 2365 (delta 359), reused 345 (delta 341), pack-reused 1926 (from 1)
Receiving objects: 100% (2365/2365), 5.94 MiB | 4.02 MiB/s, done.
Resolving deltas: 100% (1456/1456), done.
Submodule path 'DaisySP': checked out 'a0494a3adb67f549e18dfd71a35fa656f65b38b6'
Submodule 'DaisySP-LGPL' (https://www.github.com/Electro-smith/DaisySP-LGPL) registered for path 'DaisySP/DaisySP-LGPL'
Cloning into '/Users/heck/tmp/DaisyExamples/DaisySP/DaisySP-LGPL'...
warning: redirecting to https://github.com/Electro-smith/DaisySP-LGPL.git/
remote: Enumerating objects: 1113, done.
remote: Counting objects: 100% (374/374), done.
remote: Compressing objects: 100% (209/209), done.
remote: Total 1113 (delta 204), reused 294 (delta 164), pack-reused 739 (from 1)
Receiving objects: 100% (1113/1113), 2.26 MiB | 3.22 MiB/s, done.
Resolving deltas: 100% (623/623), done.
Submodule path 'DaisySP/DaisySP-LGPL': checked out 'c89d380c62620d6fee9105c5035e081c9b7ea843'
Submodule path 'libDaisy': checked out '85172e2b5c9abea1bf56dcd5d2c7b3f5717eb66b'
Submodule 'tests/googletest' (https://github.com/google/googletest.git) registered for path 'libDaisy/tests/googletest'
Cloning into '/Users/heck/tmp/DaisyExamples/libDaisy/tests/googletest'...
remote: Enumerating objects: 27661, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 27661 (delta 0), reused 3 (delta 0), pack-reused 27651 (from 1)
Receiving objects: 100% (27661/27661), 12.83 MiB | 3.79 MiB/s, done.
Resolving deltas: 100% (20554/20554), done.
Submodule path 'libDaisy/tests/googletest': checked out 'f5e592d8ee5ffb1d9af5be7f715ce3576b8bf9c4'
Submodule path 'stmlib': checked out '5dc8b89b9d166de5f47ba91ee9d25c8805c2bd86'

[heck@YOOROOX::~/tmp]  $ cd DaisyExamples/
[heck@YOOROOX::~/tmp/DaisyExamples] (master) $ ./rebuild_all.sh
building libDaisy . . .
arm-none-eabi-ar: creating build/libdaisy.a
done.
building DaisySP . . .
Building DaisySP-LGPL
done.
Building: pod/SynthVoice
Memory region         Used Size  Region Size  %age Used
           FLASH:       80968 B       128 KB     61.77%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       50616 B       512 KB      9.65%
          RAM_D2:       16960 B       288 KB      5.75%
          RAM_D3:          0 GB        64 KB      0.00%
     BACKUP_SRAM:          12 B         4 KB      0.29%
         ITCMRAM:          0 GB        64 KB      0.00%
           SDRAM:          0 GB        64 MB      0.00%
       QSPIFLASH:          0 GB         8 MB      0.00%
Building: pod/EuclideanDrums
Memory region         Used Size  Region Size  %age Used
           FLASH:       78532 B       128 KB     59.92%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       50576 B       512 KB      9.65%
          RAM_D2:       16960 B       288 KB      5.75%
          RAM_D3:          0 GB        64 KB      0.00%
     BACKUP_SRAM:          12 B         4 KB      0.29%
.
.
.

Still building...

uilding: patch/lfo
Memory region         Used Size  Region Size  %age Used
           FLASH:       89080 B       128 KB     67.96%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       51996 B       512 KB      9.92%
          RAM_D2:       16960 B       288 KB      5.75%
          RAM_D3:          0 GB        64 KB      0.00%
     BACKUP_SRAM:          12 B         4 KB      0.29%
         ITCMRAM:          0 GB        64 KB      0.00%
           SDRAM:          0 GB        64 MB      0.00%
       QSPIFLASH:          0 GB         8 MB      0.00%
Building: patch/Sequencer
Memory region         Used Size  Region Size  %age Used
           FLASH:       84580 B       128 KB     64.53%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       51572 B       512 KB      9.84%
          RAM_D2:       16960 B       288 KB      5.75%
          RAM_D3:          0 GB        64 KB      0.00%
     BACKUP_SRAM:          12 B         4 KB      0.29%
         ITCMRAM:          0 GB        64 KB      0.00%

Building: petal/phaser
Memory region         Used Size  Region Size  %age Used
           FLASH:       81736 B       128 KB     62.36%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       91476 B       512 KB     17.45%
          RAM_D2:       16968 B       288 KB      5.75%
          RAM_D3:          0 GB        64 KB      0.00%
     BACKUP_SRAM:          12 B         4 KB      0.29%
         ITCMRAM:          0 GB        64 KB      0.00%
           SDRAM:          0 GB        64 MB      0.00%
       QSPIFLASH:          0 GB         8 MB      0.00%
Building: petal/chorus
Memory region         Used Size  Region Size  %age Used
           FLASH:       82008 B       128 KB     62.57%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       33572 B       512 KB      6.40%
          RAM_D2:       16968 B       288 KB      5.75%
          RAM_D3:          0 GB        64 KB      0.00%
     BACKUP_SRAM:          12 B         4 KB      0.29%
         ITCMRAM:          0 GB        64 KB      0.00%
           SDRAM:          0 GB        64 MB      0.00%
       QSPIFLASH:          0 GB         8 MB      0.00%
done
finished
[heck@YOOROOX::~/tmp/DaisyExamples] (master) $

Seems to work just fine in my env.

lerouxb commented 1 month ago

Yes I did. Those reset it back to the old versions. I'm trying to change the submodules to latest master of those repos. Obviously it works with the versions specified in the DaisyExamples git repo :) I am trying to use the latest libDaisy master branch commits.

Easiest test: Does the libDaisy submodule contain https://github.com/electro-smith/libDaisy/commit/39aab667d4707f8226b6d304fcc1e23ddff20687

Or if you look at this file, does it contain all the new fonts? https://github.com/electro-smith/libDaisy/blob/master/src/util/oled_fonts.c#L1452-L1459

And does it all compile?