-
Notifications
You must be signed in to change notification settings - Fork 722
Open
Description
Subject of the issue
The simple-file
and simple-http
Zephyr samples fail to compile on current main
.
Both samples were originally introduced to demonstrate WASI libc support on Zephyr, but they are now broken due to missing includes and undeclared functions in the Zephyr platform layer.
Your environment
- Host OS: Ubuntu 22.04
- WAMR: current
main
- Zephyr: v3.7.0 (LTS)
- Platform: Zephyr
- CPU arch: ARM Cortex-M (tested on
frdm_mcxn947/mcxn947
)
Steps to reproduce
Simply follow the sample readme.
Expected behavior
Both samples should compile and run.
Actual behavior
Compilation fails with errors such as:
error: invalid use of incomplete typedef 'os_timespec' {aka 'struct timespec'}
error: storage size of 'ts' isn't known
warning: implicit declaration of function 'nanosleep' [-Wimplicit-function-declaration]
error: storage size of 'ts' isn't known
Extra info
The root cause is that os_timespec
is only forward-declared as struct timespec
, which is not defined in Zephyr unless CONFIG_POSIX_API=y
.
However, the Zephyr port of WAMR is intended to work without enabling the POSIX API.
As a result, the samples cannot currently build against Zephyr v3.7 LTS.
I plan to submit a PR to fix this issue.
Metadata
Metadata
Assignees
Labels
No labels