Build system should produce a better error message when building on a case-insensitive filesystem (fatal error: String.h: No such file or directory)
Categories
(Firefox Build System :: General, defect, P5)
Tracking
(Not tracked)
People
(Reporter: ganado1984, Unassigned)
Details
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
Reporter | ||
Comment 3•7 years ago
|
||
Updated•6 years ago
|
Comment 4•6 years ago
|
||
Build system should produce a better error message when building on a case-insensitive filesystem (fatal error: String.h: No such file or directory)
The build system would have to detect the error message (which may not be worded exactly that, let alone in English), extract the file name, check the compiler command line for -I arguments, scan the corresponding directories, see if there's a file with the same name with a different case, and warn about it.
I'd say that's not a job for the build system to do. That's a better job for the one that emits the error: the preprocessor.
For me, a bug with this title is wontfix.
Comment 5•6 years ago
|
||
Well, it should be feasible to simply detect if the objdir is on a case-insensitive filesystem and error, right?
Comment 6•6 years ago
|
||
You mean on a case-sensitive filesystem. And that would mean displaying an unrelated message in most cases of build failure.
Comment 7•6 years ago
|
||
Ah, the actual problem is that there's both string.h and String.h in config/system-headers.mozbuild and that on a case insensitive file system that creates one file with the wrong content for one of the cases.
It actually makes no sense for String.h to be in that list.
This happens if you try and do an Android build under WSL1 (not sure about 2) and your target dir lives on the Windows file system mount, rather than the WSL filesystem.
Removing String.h
, Strings.h
, and Memory.h
from config/system-headers.mozbuild
resolves the issue. Similarly, if build into a target on the WSL file system I don't see the issue.
Comment 9•5 years ago
|
||
I just ran into this for the same reason as https://bugzilla.mozilla.org/show_bug.cgi?id=1445576#c1, mounting a folder from my case-insensitive root APFS volume into an Ubuntu VM that expected it to be case-sensitive. I moved the folder containing all my repos into a new case-sensitive APFS volume and mounted that into the VM instead and it seems to have resolved this for me.
It would definitely be nice to have some better feedback when the build fails, but at least this issue is here for people searching to see if it is a known issue.
Updated•2 years ago
|
Description
•