-
Notifications
You must be signed in to change notification settings - Fork 21
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
Capnp build error on 32bit x86: Value too large for defined data type. #273
Comments
The error looks like it's coming from the command So it's either a bug in the C++ schema compiler (https://github.com/capnproto/capnproto) or, possibly, in the https://github.com/capnproto/capnp-ocaml OCaml plugin for it. This repository's CI is showing the same problem. I wonder if the schema compiler just doesn't support x86_32? It's working on arm32. |
I noticed the error is coming from this function: https://github.com/capnproto/capnproto/blob/0274bf17374df912ea834687c667bed33bd318db/c%2B%2B/src/kj/filesystem-disk-unix.c%2B%2B#L1682-L1706 static Path computeCurrentPath() {
// If env var PWD is set and points to the current directory, use it. This captures the current
// path according to the user's shell, which may differ from the kernel's idea in the presence
// of symlinks.
const char* pwd = getenv("PWD");
if (pwd != nullptr) {
Path result = nullptr;
struct stat pwdStat, dotStat;
KJ_IF_MAYBE(e, kj::runCatchingExceptions([&]() {
KJ_ASSERT(pwd[0] == '/') { return; }
result = Path::parse(pwd + 1);
KJ_SYSCALL(lstat(result.toString(true).cStr(), &pwdStat), result) { return; }
KJ_SYSCALL(lstat(".", &dotStat)) { return; }
})) {
// failed, give up on PWD
KJ_LOG(WARNING, "PWD environment variable seems invalid", pwd, *e);
} else {
if (pwdStat.st_ino == dotStat.st_ino &&
pwdStat.st_dev == dotStat.st_dev) {
return kj::mv(result);
} else {
KJ_LOG(WARNING, "PWD environment variable doesn't match current directory", pwd);
}
}
} To try to reproduce, run:
with the
I noticed in some machines, like From
From
From
From
|
After investigating with @moyodiallo, we've discovered that capnproto has not defined the
Types such as |
This PR capnproto/capnproto#1824 fixes the bug on capnproto, even if the bug on Debian is fixed by an upgrade the bug will still remain. |
The PR capnproto/capnproto#1824 that I opened was closed without being merged. And I opened another one to be more specific/precise and finally merged now capnproto/capnproto#1830. |
This is related to this issue mirage/capnp-rpc#273. This will be solved when a new version of capnproto with this fix capnproto/capnproto#1830, is release and published on debian.
This is related to this issue mirage/capnp-rpc#273. This will be solved when a new version of capnproto with this fix capnproto/capnproto#1830, is release and published on debian.
I haven't had much opportunity to investigate further
original logs at https://ocaml.ci.dev/github/ocurrent/ocaml-docs-ci/commit/0f917b96efc6af5be2c60ad95071033f35021927/variant/debian-12-4.14_x86_32_opam-2.1
The text was updated successfully, but these errors were encountered: