-
Notifications
You must be signed in to change notification settings - Fork 41
Description
I want to document this in case someone else runs into this and searches for the error message:
warning: preserving the entire environment is not supported, `-E` is ignored
Makefile:17: /include/n64.mk: No such file or directory
make: *** No rule to make target '/include/n64.mk'. Stop.
There is a bug in which the build fails due to sudo -E no longer working because Ubuntu 25.10 moved to sudo-rs which ignores this flag. This causes the Makefile to search for /include/n64.mk because the N64_INST env var is not preserved on systems using sudo-rs and thus will be empty.
This is a bit niche since 25.10 is not a LTS version of Ubuntu.
My quick workaround was to run the tiny3d build with sudo --preserve-env=N64_INST ./build.sh.
In this case it seemed to install correctly to /usr/local.
It actually seems like maybe make is detecting that the install dir (/usr/local) requires sudo and internally trying to sudo -E. But I'm not really certain about that.
So the workarounds would be:
- a. Set
N64_INSTto a dir that doesn't require sudo to modify OR - b. Run tiny3d build with
sudo --preserve-env=N64_INST ./build.sh
I'm not sure what a longer term fix would be in this case, or if one is necessary. Maybe documentation? It might be likely that the next Ubuntu LTS uses sudo-rs which might cause issues like this down the line.
It's probably not worth trying to generally fix just yet, but it is an issue I ran into on my system which runs Ubuntu 25.10, so maybe this will at least be helpful to someone else down the line.