Error when building with the latest Firmware

Hello,
We use our own development enviroment build around Eclipse.
Today we cloned the latest SparkCore Firmware from GitHub, the previous SparkCore Firmware version was roughly a month old.

Unfortunately when we do a build we get the following error:

make all 
In file included from src/handshake.cpp:25:
In file included from src/handshake.h:25:
In file included from src/../lib/tropicssl/include/tropicssl/rsa.h:38:
src/../lib/tropicssl/include/tropicssl/bignum.h:39:10: fatal error: 'crypto_structures.h' file not found
#include "crypto_structures.h"
         ^
1 error generated.
make: *** [src/handshake.o] Error 1

src/../lib/tropicssl/include/tropicssl/bignum.h:39:10: fatal error: 'crypto_structures.h' file not found

Obvious it is missing the crypto_structues.h file.
Any idea to solve this error?

Thanks,
Henk.

Same here. I was trying to build locally just now.

Looks like @mohit added this yesterday as part of this commit:

So the deletions in some of the header files were “moved” to the crypto header but the actual header file was not added to the github? It looks like we can just put the uncommented lines back into the header for now.

Hello @jamesarm97

Sorry about that mishap. We’ve reverted the changes back to the previous commit.

Thanks. Question on building locally. Which is the “best / latest” versions to check out. The firmware looks like deep-update but there are many communication lib versions.

We reverted that commit from core-communication-lib, should be good now.

If you want your local build to match the build IDE, use the compile-server2 branch :slight_smile:

Thanks,
David

Thank you all for the quick answers and action.

Henk.

@Dave, for cloning we use the procedure as described in the core-firmware readme:

Method 1: Through the git command line interface.  
Open up a terminal window, navigate to your destination directory and type the following commands:
(Make sure you have git installed on your machine!)

git clone https://github.com/spark/core-firmware.git
git clone https://github.com/spark/core-common-lib.git
git clone https://github.com/spark/core-communication-lib.git

We asume that in this case we get a clone of the master branch.
Please correct me when i am wrong.

Thanks,
Henk

1 Like

Hi @nika8991,

Yup! When you clone like that you do get the master branch. We generally do work in feature branches and merge them in with pull requests. So we’re trying to treat the master branches of these repos as dev / generally stable. When we do an official release, we’ll tag the branch as a release ( https://github.com/spark/core-firmware/releases ). The build IDE uses the `compile-server2’ branch, which is also considered stable, but lags behind master while we’re testing changes.

Thanks!
David

1 Like

where’s the revert for this then? i can’t see it in core-communication-lib master, and i still get the error when building from master.

what’s the “current” feature branch, as its not reverted in compile-server2 either as far as i can see…?

Hi @sej7278,

There was a commit from Mohit here ( https://github.com/spark/core-communication-lib/commits/master ), and it’s gone now. :slight_smile: Try doing another pull and reset hard to HEAD in the communications lib. You shouldn’t see Mohit’s commit in your git log.

Thanks,
David

i just re-cloned the repo, i couldn’t get it to reset for some reason, even though there were no local commits unstaged

1 Like