Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libDaisy is out of date #306

Open
lerouxb opened this issue Aug 11, 2024 · 5 comments
Open

libDaisy is out of date #306

lerouxb opened this issue Aug 11, 2024 · 5 comments

Comments

@lerouxb
Copy link

lerouxb commented Aug 11, 2024

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
Copy link

HeckHeckHeckHeck commented Sep 25, 2024

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

  • clone using: git clone --recurse-submodules https://github.com/electro-smith/DaisyExamples
  • in the repo folder, add them: git submodule update --init --recursive

@lerouxb
Copy link
Author

lerouxb commented Sep 30, 2024

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
Copy link

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
Copy link

HeckHeckHeckHeck commented Sep 30, 2024

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
Copy link
Author

lerouxb commented Oct 10, 2024

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 electro-smith/libDaisy@39aab66

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants