apache / incubator-teaclave-trustzone-sdk

Teaclave TrustZone SDK enables safe, functional, and ergonomic development of trustlets.
https://teaclave.apache.org
Apache License 2.0
203 stars 58 forks source link

make optee: fatal error: uuid/uuid.h: No such file or directory #96

Closed HakonToemte closed 1 year ago

HakonToemte commented 1 year ago

Hey, I have been successful in building on my laptop, but now when i try to build on my personal computer i run into this issue. When running make optee.

image

The problem is commonly related to not having the uuid-dev package it seems, but I have installed all prerequisites. image

Thankful for any help!

HakonToemte commented 1 year ago

The teeacl.h file seems to run fine if i compile it manually. image

So i'm guessing maybe a path is being set wrong? I have first followed Optee with Rust Then export OPTEE_DIR=~/Bachelor/YOUR_OPTEE_DIR3 ./setup.sh source environment make optee then make optee returns the error

Any idea what could be wrong?

DemesneGH commented 1 year ago

Hi @HakonToemte It seems that the libteeacl was added into optee_client 6 days ago, and some dependency was not satisfied in the current building environment of Teaclave TrustZone SDK. As a temporary workaround, you can checkout the latest release version of OP-TEE (3.18.0):

$ cd YOUR_OPTEE_DIR
$ repo init -m qemu_v8.xml -b 3.18.0
$ repo sync

Then try to build again.

HakonToemte commented 1 year ago

Thanks for the reply :) That explains it, because it felt like a new error. I followed your steps above, then tried to make optee again. which now gave this error. image

HakonToemte commented 1 year ago

It worked now! :) For some reason, doing repo init -m qemu_v8.xml -b 3.18.0 on my existing project ended up resulting in the error above. But making a whole new folder with repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml -b 3.18.0 works perfectly.

Either way, thanks again @DemesneGH !

DemesneGH commented 1 year ago

For some reason, doing repo init -m qemu_v8.xml -b 3.18.0 on my existing project ended up resulting in the error above.

Seems the previous building outputs should be cleaned. Running make clean before make optee will probably solve this error.

mssun commented 1 year ago

The issue has been resolved. Closed.