-
Notifications
You must be signed in to change notification settings - Fork 702
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
sendfile.h appears to be missing from docker image emscripten/emsdk:3.1.3 #983
Comments
This was explicitly removed because we don't support it: emscripten-core/emscripten#14248. Is there some reason you need it? |
Not exactly. My project is a port of a ~20 year old codebase, and it was using sendfile (even though the functions using it were never actually called). |
We have an ongoing tension in emscripten between what we declare in headers that we support and what we can actually support (either genuinely or via some kind of hack/emulation). Its not clear that we have a consistent policy here, but I'm inclined to remove declarations of things for which we don't even have a polyfil. There could be an argument for allowing as much code as possible to compile (in the hopes that at link time the reference will not be needed)... but I'm personally not persuaded by that. I recently added two new settings that are somewhat related to this issue |
In general I agree, however if a user tries to compile something, and they get errors about missing /sys/ headers, they're probably going to assume they're something wrong with their environment, or Emscripten. I think it would be more developer/porter friendly if there was a "better" failure here, one that actually explains that the included header is not supported. I'm not really sure how to do that though, apart from adding a |
I think clang's builtin A typical example would be "windows.h". I don't think we need to worry about adding a dummy copy of "window.h" with a I also think the presence of such error headers in the include directory could harm understanding when a developer is simply browsing the list of available includes. |
Fair enough. Personally when I saw a missing system header that was there in previous version I assumed I messed up my environment, or Emscripten had messed up packaging. Hence why I created this issue when I saw the file was in musl. |
Edit: file was intentionally removed: emscripten-core/emscripten#14248
I'm attempting to update form trzeci/emscripten:1.39.6-upstream to emscripten/emsdk:3.1.3.
1.39.6 contains
sendfile.h
in /emsdk_portable/emscripten/sdk/system/include/libc/sys/.3.1.3 does not contain
sendfile.h
in /emsdk/upstream/emscripten/cache/sysroot/include/sys/.There are not other headers missing.
musl still ships
sendfile.h
https://github.com/emscripten-core/musl/tree/master/include/sys/,however it's missing from https://github.com/emscripten-core/emscripten/tree/main/system/lib/libc/musl/include/sys/
The text was updated successfully, but these errors were encountered: