Closed mglettig closed 2 years ago
Could this be related to the following topic #13054? Is it currently not possible to use POSIX subsytem for ARCH_POSIX?
Hello and thank you for your bug description. I think, that posix support for civetweb need to be rethinked. The first guys, who ported civetweb, were cool dudes from Anrmicro. @PiotrZierhoffer can you provide more info on posix support within civetweb?
I must say it's been a while, and the civetweb module got pulled in during a very heated discussion on the POSIX APIs. I'm not very familiar with the current state of affairs in this topic.
If what @mglettig mentions still holds, then it is definitely a relevant problem. And it does seem so from your log:
warning: POSIX_API (defined at lib/posix/Kconfig:12) was assigned the value 'y' but got the value
'n'. Check these unsatisfied dependencies: (!ARCH_POSIX) (=n).
So Civetweb relies on the POSIX_API, and I'm not aware if there is any "switch" that you can use to turn to native POSIX. If there's a "standard way of handling this", then it should not be very difficult to apply to Civetweb, the port is not very complex. I would assume that we'd need to adjust ifdef
s here and there: from #if ZEPHYR
to #if ZEPHYR && !ARCH_POSIX
, maybe?
@Nukersson any updates on this?
@Nukersson any updates on this?
Some progress can be seen here: #34438
But I am not actively involved into it. Just monitoring and trying to help, where I can. At the end I can do the tests on my HW of course, before the merge can be done. It looks currently, that multiple posix functions, needed by Civetweb, must be implemented in Zephyr posix api. But not all the functionality is possible, since there are some constraints from the HW side.
Would you like to support?
This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.
Re-opening since this is still a valid issue.
This is probably fixed by #43987
"Fixed" by the removal of civetweb. See #46746 for more details. Thanks for taking the time to file an issue and sorry for the inconvenience.
Describe the bug Using Zephyr 2.5.0 the build of civetweb http_server sample fails for the board posix_native. From the build logs it looks like an issue with conflicting types (useconds_t, pthread_t, pthread_mutexattr_t, pthread_condattr_t, ...)
To Reproduce
west build -b native_posix samples/net/civetweb/http_server
Expected behavior The build should succeed.
Impact For testing purposes it would be very convenient to run the webserver on x86. An alternative approach would be to use QEMU. But this doesn't work to to limited SRAM of qemu_cortex_m3.
Logs and console output
Environment (please complete the following information):
Additional context Add any other context about the problem here.