Open Bug 1445576 Opened 6 years ago Updated 1 year 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)

Categories

(Firefox Build System :: General, defect, P5)

Other Branch
defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: ganado1984, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36

Steps to reproduce:

I get a build failure on ubuntu linux(docker container)

root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# uname -a
Linux bb5805510613 4.9.60-linuxkit-aufs #1 SMP Mon Nov 6 16:00:12 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# 
root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# clang --version
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# clang++ --version
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# 



Actual results:

(release branch)

root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# make
make[1]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make recurse_pre-export
make[2]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ'
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.process_install_manifest --track install_dist_include.track dist/include _build_manifests/install/dist_include
Elapsed: 1.69s; From dist/include: Kept 1 existing; Added/updated 344; Removed 0 files and 0 directories.
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.process_install_manifest --track install_dist_public.track dist/public _build_manifests/install/dist_public
Elapsed: 0.02s; From dist/public: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.process_install_manifest --track install_dist_private.track dist/private _build_manifests/install/dist_private
Elapsed: 0.02s; From dist/private: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.process_install_manifest --track install__tests.track _tests _build_manifests/install/_tests
Elapsed: 4.73s; From _tests: Kept 1 existing; Added/updated 323; Removed 0 files and 0 directories.
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.process_install_manifest --track install_dist_bin.track dist/bin _build_manifests/install/dist_bin
Elapsed: 0.03s; From dist/bin: Kept 0 existing; Added/updated 1; Removed 0 files and 0 directories.
make[2]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make[1]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make[1]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make recurse_export
make[2]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/config'
backend.mk:2160: warning: overriding recipe for target '../dist/system_wrappers/pixman.h'
backend.mk:1278: warning: ignoring old recipe for target '../dist/system_wrappers/pixman.h'
mkdir -p '.deps/'
/usr/bin/gcc -std=gnu99 -o host_nsinstall.o -c  -DXP_UNIX -freorder-blocks -O3 -DNDEBUG=1 -DTRIMMED=1 -D_UNICODE -DUNICODE -I/js/gecko-dev/config -I/js/gecko-dev/js/src/build_OPT.OBJ/config -I/js/gecko-dev/js/src/build_OPT.OBJ/dist/include -MD -MP -MF .deps/host_nsinstall.o.pp  /js/gecko-dev/config/nsinstall.c
/usr/bin/gcc -std=gnu99 -o host_pathsub.o -c  -DXP_UNIX -freorder-blocks -O3 -DNDEBUG=1 -DTRIMMED=1 -D_UNICODE -DUNICODE -I/js/gecko-dev/config -I/js/gecko-dev/js/src/build_OPT.OBJ/config -I/js/gecko-dev/js/src/build_OPT.OBJ/dist/include -MD -MP -MF .deps/host_pathsub.o.pp  /js/gecko-dev/config/pathsub.c
nsinstall_real
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python /js/gecko-dev/config/expandlibs_exec.py -- /usr/bin/gcc -std=gnu99 -o nsinstall_real -DXP_UNIX -freorder-blocks -O3  host_nsinstall.o host_pathsub.o  
cp nsinstall_real nsinstall.tmp
mv nsinstall.tmp nsinstall
../config/nsinstall -R -m 755 'nsinstall' '../dist/bin'
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/config'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/config'
backend.mk:2160: warning: overriding recipe for target '../dist/system_wrappers/pixman.h'
backend.mk:1278: warning: ignoring old recipe for target '../dist/system_wrappers/pixman.h'
system-header.sentinel
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/config/make-system-wrappers.py gen_wrappers system-header.sentinel .deps/system-header.sentinel.pp ../dist/system_wrappers new algorithm atomic deque functional ios iosfwd iostream istream iterator limits list map memory ostream set stack string thread type_traits unordered_map unordered_set utility vector cassert climits cmath cstdarg cstdio cstdlib cstring cwchar tuple xutility A4Stuff.h activscp.h AEDataModel.h AEObjects.h AEPackObject.h AERegistry.h AEUtils.h afxcmn.h afxcoll.h afxcview.h afxdisp.h afxdtctl.h afxext.h afxmt.h afxpriv.h afxtempl.h afxwin.h Aliases.h all.h alloca.h alloc.h alsa/asoundlib.h ansi_parms.h a.out.h app/Cursor.h Appearance.h AppFileInfo.h AppKit.h AppleEvents.h Application.h app/Message.h app/MessageRunner.h arpa/inet.h arpa/nameser.h array asm/page.h asm/sigcontext.h asm/signal.h ASRegistry.h assert.h atk/atk.h atlcom.h atlconv.h atlctl.cpp atlctl.h ATLCTL.H atlhost.h atlimpl.cpp atlwin.cpp atomic.h ATSTypes.h ATSUnicode.h Balloons.h base64.h base/pblock.h base/PCR_Base.h base/session.h basetyps.h be/app/Application.h Beep.h be/kernel/image.h be/kernel/OS.h bfd.h Bitmap.h bitset blapi.h blapit.h bsd/libc.h bsd/syscall.h bstring.h builtin.h Button.h byteswap.h cairo-atsui.h cairo-beos.h cairo-directfb.h cairo-ft.h cairo-glitz.h cairo-gobject.h cairo.h cairo-pdf.h cairo-ps.h cairo-qpainter.h cairo-qt.h cairo-quartz.h cairo-tee.h cairo-win32.h cairo-xlib.h cairo-xlib-xrender.h callconv.h Carbon/Carbon.h CarbonEvents.h Carbon.h c_asm.h cctype cderr.h cerrno certdb.h cert.h certt.h CFBase.h CFBundle.h CFData.h CFDictionary.h cf.h CFNumber.h CFPlugIn.h CFPreferences.h CFString.h CFURL.h CGAffineTransform.h CheckBox.h ciferfam.h Clipboard.h cmmf.h cmmft.h cmplrs/stsupport.h cms.h cmsreclist.h cmst.h Cocoa/Cocoa.h CodeFragments.h comdef.h commctrl.h COMMCTRL.H commdlg.h compat.h complex condapi.h ConditionalMacros.h conio.h console.h ControlDefinitions.h Controls.h CoreFoundation/CoreFoundation.h CoreServices/CoreServices.h CPalmRec.cpp Cpalmrec.h CPCatgry.cpp CPDbBMgr.h CPString.cpp CPString.h crmf.h crmft.h crtdbg.h crt_externs.h crypt.h cryptohi.h cryptoht.h cstddef ctime ctype.h curl/curl.h curl/easy.h curses.h cxxabi.h DateTimeUtils.h dbus/dbus-glib.h dbus/dbus-glib-lowlevel.h dbus/dbus.h ddeml.h Debug.h dem.h descrip.h Devices.h dfb_types.h dfiff.h dgiff.h Dialogs.h direct/build.h direct/clock.h direct/conf.h direct/debug.h direct/direct.h directfb_keyboard.h directfb_strings.h direct.h direct/hash.h direct/interface.h direct/interface_implementation.h direct/list.h direct/log.h direct/memcpy.h direct/mem.h direct/messages.h direct/modules.h direct/serial.h direct/signals.h direct/stream.h direct/system.h direct/thread.h direct/trace.h direct/tree.h direct/types.h direct/utf8.h direct/util.h dirent.h DiskInit.h dlfcn.h dlgs.h dl.h docobj.h dos/dosextens.h dos.h Drag.h DriverServices.h DriverSynchronization.h DropInPanel.h dvidef.h ecl-exp.h elf.h endian.h Entry.h err.h errno.h Errors.h Events.h exception exdisp.h ExDisp.h exe386.h execinfo.h extras.h fcntl.h features.h fenv.h ffi.h fibdef.h File.h filehdr.h files.h Files.h FindDirectory.h Finder.h FinderRegistry.h FixMath.h float.h fnmatch.h Folders.h fontconfig/fcfreetype.h fontconfig/fontconfig.h Font.h Fonts.h fp.h fpieee.h frame/log.h frame/req.h freetype/freetype.h freetype/ftadvanc.h freetype/ftbitmap.h freetype/ftcache.h freetype/ftfntfmt.h freetype/ftglyph.h freetype/ftlcdfil.h freetype/ftoutln.h freetype/ftsizes.h freetype/ftsynth.h freetype/ftxf86.h freetype.h freetype/t1tables.h freetype/ttnameid.h freetype/tttables.h fribidi/fribidi.h FSp_fopen.h fstream fstream.h ft2build.h ftadvanc.h ftbitmap.h ftcache.h ftfntfmt.h ftglyph.h ftlcdfil.h ftoutln.h fts.h ftsizes.h ftsynth.h ftxf86.h fusion/arena.h fusion/build.h fusion/call.h fusion/conf.h fusion/fusion.h fusion/fusion_internal.h fusion/hash.h fusion/lock.h fusion/object.h fusion/property.h fusion/protocol.h fusion/reactor.h fusion/ref.h fusion/shmalloc.h fusion/shm/pool.h fusion/shm/shm.h fusion/shm/shm_internal.h fusion/types.h fusion/vector.h gconf/gconf-client.h Gdiplus.h gdk/gdkdirectfb.h gdk/gdk.h gdk/gdkkeysyms.h gdk/gdkprivate.h gdk/gdkwayland.h gdk/gdkx.h gdk-pixbuf/gdk-pixbuf.h Gestalt.h getopt.h gio/gio.h glibconfig.h glib.h glib-object.h glob.h gmodule.h gnome.h gnu/libc-version.h gps.h grp.h gssapi_generic.h gssapi/gssapi_generic.h gssapi/gssapi.h gssapi.h gst/app/gstappsink.h gst/app/gstappsrc.h gst/gst.h gst/video/video.h gtk/gtk.h gtk/gtkunixprint.h gtk/gtkx.h hasht.h HIToolbox/HIToolbox.h hlink.h ia64/sys/inline.h Icons.h iconv.h ieeefp.h ifaddrs.h image.h imagehlp.h imm.h initguid.h initializer_list InterfaceDefs.h InternetConfig.h IntlResources.h ints.h intshcut.h inttypes.h iodef.h io.h IOKit/IOKitLib.h IOKit/IOMessage.h IOKit/pwr_mgt/IOPMLib.h iomanip iostream.h jar-ds.h jarfile.h jar.h JavaControl.h JavaEmbedding/JavaControl.h JavaVM/jni.h JManager.h JNIEnvTests.h jni.h JVMManagerTests.h Kerberos/Kerberos.h kernel/image.h kernel/OS.h key.h keyhi.h keyt.h keythi.h kvm.h LAction.h langinfo.h LApplication.h LArray.h LArrayIterator.h LAttachable.h LAttachment.h LaunchServices.h lber.h LBroadcaster.h LButton.h lcache.h LCaption.h LCheckBox.h LCicnButton.h LClipboard.h LCommander.h LComparator.h LControl.h ldap.h ldaplog.h ldappr.h ldap_ssl.h LDataStream.h ldfcn.h LDialogBox.h ldif.h LDocApplication.h LDocument.h LDragAndDrop.h LDragTask.h LEditField.h LEditText.h LEventDispatcher.h LFile.h LFileStream.h LFileTypeList.h LFocusBox.h LGrafPortView.h LHandleStream.h libc_r.h libelf.h libelf/libelf.h libgen.h libgnome/gnome-url.h libgnome/libgnome.h libgnomeui/gnome-icon-lookup.h libgnomeui/gnome-icon-theme.h libgnomeui/gnome-ui-init.h libutil.h limits.h link.h linux/ioprio.h linux/kernel.h linux/limits.h linux/rtc.h linux/version.h List.h Lists.h LListBox.h LListener.h LMenuBar.h LMenu.h LModelDirector.h LModelObject.h LModelProperty.h loader.h locale locale.h LOffscreenView.h logkeys.h logstrng.h Looper.h LowMem.h LPane.h LPeriodical.h LPicture.h LPlaceHolder.h LPrintout.h LProgressBar.h LPushButton.h LRadioGroup.h LRadioGroupView.h LRunArray.h LScroller.h LSharable.h LSingleDoc.h LStaticText.h LStdControl.h LStream.h LString.h LTabGroup.h LTabGroupView.h LTableArrayStorage.h LTableMonoGeometry.h LTableSingleSelector.h LTableView.h LTextEditView.h LTextTableView.h LUndoer.h LVariableArray.h LView.h LWindow.h m68881.h MacErrors.h MacHeadersCarbon.h machine/ansi.h machine/builtins.h machine/clock.h machine/endian.h machine/frame.h machine/inline.h machine/limits.h machine/signal.h machine/trap.h mach/mach_host.h mach/mach_init.h mach/mach_interface.h mach/mach_port.h mach-o/dyld.h MacLocales.h MacMemory.h MacTCP.h MacTypes.h MacWindows.h malloc.h malloc_np.h mapicode.h mapidefs.h mapiguid.h mapi.h mapitags.h mapiutil.h mapix.h Math64.h math.h mbstring.h mem.h memory.h Memory.h MenuBar.h Menu.h Menus.h Message.h Mime.h MixedMode.h mlang.h mmsystem.h model.h Movies.h mpw/errno.h mshtmhst.h mshtml.h mswsock.h Multiprocessing.h mutex.h Navigation.h ncompat.h ncurses.h netCore.h netdb.h net/if.h netinet/in.h netinet/in_systm.h netinet/tcp.h newexe.h new.h nl_types.h NodeInfo.h nspr.h nssb64.h nssb64t.h nssbase.h nssbaset.h nssck.api nssckbi.h nssckepv.h nssckft.h nssckfwc.h nssckfw.h nssckfwt.h nssckg.h nssckmdt.h nssckt.h nss.h nssilckt.h nssilock.h nsslocks.h nssrwlk.h nssrwlkt.h nssutil.h nsswitch.h objbase.h objidl.h Objsafe.h ocsp.h ocspt.h ojiapitests.h ole2.h oleidl.h OpenGL/OpenGL.h OpenTptInternet.h OpenTransport.h OS.h osreldate.h OSUtils.h p12.h p12plcy.h p12t.h Packages.h Palettes.h PALM_CMN.H pango/pango-break.h pango/pangocairo.h pango/pangofc-decoder.h pango/pangofc-font.h pango/pangofc-fontmap.h pango/pango-fontmap.h pango/pango.h pango/pango-modules.h pango/pango-utils.h pango/pangoxft.h pascal.h Patches.h Path.h pcfs/pc_dir.h Pgenerr.h PGenErr.h Ph.h pixman.h pk11func.h pk11pqg.h pk11priv.h pk11pub.h pk11sdr.h pkcs11f.h pkcs11.h pkcs11n.h pkcs11p.h pkcs11t.h pkcs11u.h pkcs12.h pkcs12t.h pkcs7t.h plarena.h plarenas.h plbase64.h plerror.h plgetopt.h plhash.h plstr.h PLStringFuncs.h PMApplication.h pmddim.h poll.h Polygon.h portable.h port.h portreg.h Power.h PP_ClassHeaders.cp PP_Constants.h PPCToolbox.h PP_DebugHeaders.cp PP_KeyCodes.h PP_Macros.h PP_Messages.h PP_Prefix.h PP_Resources.h PP_Types.h pratom.h prbit.h prclist.h prcmon.h prcountr.h prcpucfg.h prcvar.h prdtoa.h preenc.h prenv.h prerr.h prerror.h prinet.h prinit.h prinrval.h Printing.h Print/PMPrintingDialogExtensions.h prio.h pripcsem.h private prlink.h prlock.h prlog.h prlong.h prmem.h prmon.h prmwait.h prnetdb.h Processes.h process.h Process.h prolock.h proto/dos.h proto/exec.h prpdce.h prprf.h prproces.h prrng.h prrwlock.h prshma.h prshm.h prsystem.h prthread.h prtime.h prtpool.h prtrace.h prtypes.h prvrsion.h prwin16.h psap.h Pt.h pthread.h pthread_np.h pulse/pulseaudio.h pwd.h Python.h QDOffscreen.h queue Quickdraw.h QuickDraw.h QuickTimeComponents.h quipu/attr.h regex.h Region.h resolv.h Resources.h Retrace.h rld_interface.h Roster.h rpc.h rpcproxy.h rpc/types.h sane/sane.h sane/sanei.h sane/saneopts.h sanitizer/asan_interface.h sched.h Scrap.h Screen.h Script.h ScrollBar.h secasn1.h secasn1t.h seccomon.h secder.h secdert.h secdig.h secdigt.h secerr.h sec.h sechash.h secitem.h secmime.h secmod.h secmodt.h secoid.h secoidt.h secpkcs5.h secpkcs7.h secport.h secrng.h security.h secutil.h semaphore.h servprov.h setjmp.h SFNTLayoutTypes.h SFNTTypes.h sha1.h share.h shellapi.h shlguid.h shlobj.h shsign.h sigcontext.h signal.h SimpleGameSound.h SIOUX.h size_t.h smime.h sndio.h someincludefile.h soundcard.h Sound.h soundtouch/SoundTouchFactory.h soundtouch/SoundTouch.h spawn.h sqlite3.h sslerr.h ssl.h sslproto.h sslt.h sstream StandardFile.h starlet.h stat.h statreg.cpp statreg.h stdarg.h stdbool.h stddef.h stdint.h stdio.h stdlib.h storage/FindDirectory.h StorageKit.h StringCompare.h string.h String.h strings.h Strings.h StringView.h stropts.h strstrea.h structs.h stsdef.h SupportDefs.h support/String.h support/SupportDefs.h support/TLS.h svrcore.h symconst.h sym.h synch.h syncmgr.h sys/atomic_op.h sys/auxv.h sys/bitypes.h sys/byteorder.h syscall.h sys/cdefs.h sys/cfgodm.h sys/elf.h sys/endian.h sys/epoll.h sys/errno.h sys/eventfd.h sys/fault.h sys/fcntl.h sys/file.h sys/filio.h sys/frame.h sys/immu.h sys/inotify.h sys/inttypes.h sys/ioccom.h sys/ioctl.h sys/ipc.h sys/klog.h sys/ldr.h sys/link.h sys/locking.h syslog.h sys/lwp.h sys/machine.h sys/mman.h sys/mmu.h sys/mount.h sys/mpctl.h sys/msg.h sys/param.h sys/pda.h sys/poll.h sys/ppc.h sys/prctl.h sys/priv.h sys/procfs.h sys/pstat.h sys/ptrace.h sys/queue.h sys/quota.h sys/reboot.h sys/reg.h sys/regset.h sys/resource.h sys/sched.h sys/select.h sys/sem.h sys/sendfile.h sys/shm.h sys/siginfo.h sys/signal.h sys/socket.h sys/sockio.h sys/sparc/frame.h sys/stack.h sys/statfs.h sys/stat.h sys/statvfs.h sys/syscall.h sys/sysctl.h sys/sysinfo.h sys/sysmacros.h sys/sysmp.h sys/syssgi.h sys/systeminfo.h sys/system_properties.h sys/thr.h sys/timeb.h sys/time.h sys/times.h sys/ttycom.h sys/types.h sys/ucontext.h sys/uio.h sys/un.h sys/unistd.h sys/user.h sys/utsname.h sys/vfs.h sys/wait.h t1tables.h tables.h TArray.h TArrayIterator.h task.h tchar.h TCHAR.H termios.h TextCommon.h TextEdit.h TextEncodingConverter.h TextServices.h TextUtils.h TextView.h th/PCR_Th.h thread.h ThreadManagerTests.h Threads.h time.h Timer.h tlhelp32.h ToolUtils.h tr1/functional trace.h Traps.h ttnameid.h tttables.h typeinfo types.h Types.h UAppleEventsMgr.h UAttachments.h ucontext.h uconv.h UCursor.h UDebugging.h UDesktop.h UDrawingState.h UDrawingUtils.h UEnvironment.h UEventMgr.h UException.h UExtractFromAEDesc.h UGWorld.h UKeyFilters.h ulocks.h ulserrno.h UMemoryMgr.h UModalDialogs.h UNavServicesDialogs.h UnicodeBlockObjects.h UnicodeConverter.h UnicodeUtilities.h unidef.h unikbd.h unistd.h unix.h unixio.h unknwn.h unwind.h UPrinting.h UQuickTime.h UReanimator.h URegions.h URegistrar.h UResourceMgr.h urlhist.h urlmon.h UScrap.h UScreenPort.h UTCUtils.h UTETextAction.h UTEViewTextAction.h UTextEdit.h UTextTraits.h utilmodt.h utilpars.h utilparst.h utilrename.h utime.h UWindows.h values.h varargs.h vcclr.h View.h Volume.h wab.h wait.h wchar.h wctype.h winbase.h win/compobj.h windef.h Window.h windows.h Windows.h windowsx.h Wininet.h winnls.h winperf.h winreg.h Winreg.h winsock2.h winsock.h winspool.h winsvc.h winuser.h winver.h wmem.h workbench/startup.h wtypes.h wx/image.h wx/listctrl.h wx/log.h wx/toolbar.h wx/wx.h wx/xrc/xmlres.h X11/cursorfont.h X11/extensions/Print.h X11/extensions/scrnsaver.h X11/extensions/shape.h X11/extensions/Xcomposite.h X11/extensions/Xdamage.h X11/extensions/Xfixes.h X11/extensions/Xrender.h X11/extensions/XShm.h X11/ImUtil.h X11/Intrinsic.h X11/keysymdef.h X11/keysym.h X11/Shell.h X11/StringDefs.h X11/Xatom.h X11/Xft/Xft.h X11/Xfuncproto.h X11/X.h X11/XKBlib.h X11/Xlib.h X11/Xlibint.h X11/Xlib-xcb.h X11/Xlocale.h X11/Xos.h X11/Xutil.h xcb/shm.h xcb/xcb.h xlocale.h zmouse.h zlib.h sys/event.h pixman.h
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/config'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src'
js-confdefs.h
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/python/mozbuild/mozbuild/action/process_define_files.py process_define_file js-confdefs.h .deps/js-confdefs.h.pp /js/gecko-dev/js/src/js-confdefs.h.in
js-config.h
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/python/mozbuild/mozbuild/action/process_define_files.py process_define_file js-config.h .deps/js-config.h.pp /js/gecko-dev/js/src/js-config.h.in
ReservedWordsGenerated.h
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/js/src/frontend/GenerateReservedWords.py main frontend/ReservedWordsGenerated.h .deps/frontend/ReservedWordsGenerated.h.pp /js/gecko-dev/js/src/frontend/ReservedWords.h
selfhosted.out.h
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/js/src/builtin/embedjs.py generate_selfhosted selfhosted.out.h .deps/selfhosted.out.h.pp /js/gecko-dev/js/src/js.msg /js/gecko-dev/js/src/builtin/TypedObjectConstants.h /js/gecko-dev/js/src/builtin/SelfHostingDefines.h /js/gecko-dev/js/src/builtin/Utilities.js /js/gecko-dev/js/src/builtin/Array.js /js/gecko-dev/js/src/builtin/AsyncIteration.js /js/gecko-dev/js/src/builtin/Classes.js /js/gecko-dev/js/src/builtin/Date.js /js/gecko-dev/js/src/builtin/Error.js /js/gecko-dev/js/src/builtin/Function.js /js/gecko-dev/js/src/builtin/Generator.js /js/gecko-dev/js/src/builtin/Intl.js /js/gecko-dev/js/src/builtin/IntlCurrency.js /js/gecko-dev/js/src/builtin/IntlData.js /js/gecko-dev/js/src/builtin/Iterator.js /js/gecko-dev/js/src/builtin/Map.js /js/gecko-dev/js/src/builtin/Module.js /js/gecko-dev/js/src/builtin/Number.js /js/gecko-dev/js/src/builtin/Object.js /js/gecko-dev/js/src/builtin/Promise.js /js/gecko-dev/js/src/builtin/Reflect.js /js/gecko-dev/js/src/builtin/RegExp.js /js/gecko-dev/js/src/builtin/RegExpGlobalReplaceOpt.h.js /js/gecko-dev/js/src/builtin/RegExpLocalReplaceOpt.h.js /js/gecko-dev/js/src/builtin/String.js /js/gecko-dev/js/src/builtin/Set.js /js/gecko-dev/js/src/builtin/Sorting.js /js/gecko-dev/js/src/builtin/TypedArray.js /js/gecko-dev/js/src/builtin/TypedObject.js /js/gecko-dev/js/src/builtin/WeakMap.js /js/gecko-dev/js/src/builtin/WeakSet.js
/usr/bin/g++ -std=gnu++14 -E -o self-hosting-preprocessed.pp -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DHAVE_SINCOS=1 -DHAVE_POSIX_FALLOCATE=1 -DHAVE_64BIT_BUILD=1 -DXP_UNIX=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DJS_PUNBOX64=1 -DNO_NSPR_10_SUPPORT=1 -DHAVE_LIBM=1 -DHAVE_STDINT_H=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE_CLOCK_MONOTONIC=1 -DEXPOSE_INTL_API=1 -DHAVE_SYS_QUEUE_H=1 -DMALLOC_H=<malloc.h> -DHAVE_PTHREAD_GETNAME_NP=1 -DHAVE_LANGINFO_CODESET=1 -DSTDC_HEADERS=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_MALLOC_H=1 -DTRIMMED=1 -DHAVE_MALLOC_USABLE_SIZE=1 -DHAVE_DLOPEN=1 -D_REENTRANT=1 -DHAVE_ALLOCA_H=1 -DU_USING_ICU_NAMESPACE=0 -DMOZ_DLL_SUFFIX=".so" -DMOZ_MEMORY=1 -DHAVE_STRNDUP=1 -DRELEASE_OR_BETA=1 -DCROSS_COMPILE= -DMOZILLA_UAVERSION="59.0" -DHAVE_POSIX_FADVISE=1 -DHAVE_RES_NINIT=1 -DHAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR=1 -DJS_POSIX_NSPR=1 -DENABLE_INTL_API=1 -DHAVE_TM_ZONE_TM_GMTOFF=1 -DHAVE_NETINET_IN_H=1 -DVA_COPY=va_copy -DHAVE_MEMALIGN=1 -DHAVE_LOCALECONV=1 -DMOZILLA_VERSION_U=59.0.1 -DHAVE_CPUID_H=1 -DHAVE_SYS_QUOTA_H=1 -DMOZ_BUILD_APP=js -DMOZJS_MAJOR_VERSION=59 -DHAVE_SETLOCALE=1 -DHAVE_SYS_STATFS_H=1 -DMOZILLA_VERSION="59.0.1" -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_MBRTOWC=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LINUX_RTNETLINK_H=1 -DJS_STANDALONE=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_LINUX_IF_ADDR_H=1 -DHAVE_LINUX_PERF_EVENT_H=1 -DHAVE_GMTIME_R=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DHAVE_SYS_VFS_H=1 -DHAVE_WCRTOMB=1 -DHAVE_GETC_UNLOCKED=1 -DJS_CODEGEN_X64=1 -DCPP_THROW_NEW=throw() -DHAVE_SYS_TYPES_H=1 -DGTEST_HAS_RTTI=0 -DHAVE_SSIZE_T=1 -DHAVE_GETOPT_H=1 -DHAVE_NL_TYPES_H=1 -DXP_LINUX=1 -DHAVE_DIRENT_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_VA_COPY=1 -DNDEBUG=1 -DMOZ_GLUE_IN_PROGRAM=1 -DMOZJS_MINOR_VERSION=0 -DHAVE_SYS_STATVFS_H=1 -DHAVE_BYTESWAP_H=1 -DENABLE_TESTS=1 -DMOZ_UPDATE_CHANNEL=default -DHAVE_VALLOC=1 -DU_STATIC_IMPLEMENTATION=1 -DMALLOC_USABLE_SIZE_CONST_PTR= -DEDITLINE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_VA_LIST_AS_ARRAY=1 self-hosting-cpp-input.cpp
StatsPhasesGenerated.h
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/js/src/gc/GenerateStatsPhases.py generateHeader gc/StatsPhasesGenerated.h .deps/gc/StatsPhasesGenerated.h.pp
StatsPhasesGenerated.cpp
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/js/src/gc/GenerateStatsPhases.py generateCpp gc/StatsPhasesGenerated.cpp .deps/gc/StatsPhasesGenerated.cpp.pp
../../config/nsinstall -R -m 644 'js-config.h' '../../dist/include'
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/shell'
shellmoduleloader.out.h
/js/gecko-dev/js/src/build_OPT.OBJ/_virtualenv/bin/python -m mozbuild.action.file_generate /js/gecko-dev/js/src/builtin/embedjs.py generate_shellmoduleloader shellmoduleloader.out.h .deps/shellmoduleloader.out.h.pp /js/gecko-dev/js/src/js.msg /js/gecko-dev/js/src/shell/ModuleLoader.js
/usr/bin/g++ -std=gnu++14 -E -o self-hosting-preprocessed.pp -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DHAVE_SINCOS=1 -DHAVE_POSIX_FALLOCATE=1 -DHAVE_64BIT_BUILD=1 -DXP_UNIX=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DJS_PUNBOX64=1 -DNO_NSPR_10_SUPPORT=1 -DHAVE_LIBM=1 -DHAVE_STDINT_H=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE_CLOCK_MONOTONIC=1 -DEXPOSE_INTL_API=1 -DHAVE_SYS_QUEUE_H=1 -DMALLOC_H=<malloc.h> -DHAVE_PTHREAD_GETNAME_NP=1 -DHAVE_LANGINFO_CODESET=1 -DSTDC_HEADERS=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_MALLOC_H=1 -DTRIMMED=1 -DHAVE_MALLOC_USABLE_SIZE=1 -DHAVE_DLOPEN=1 -D_REENTRANT=1 -DHAVE_ALLOCA_H=1 -DU_USING_ICU_NAMESPACE=0 -DMOZ_DLL_SUFFIX=".so" -DMOZ_MEMORY=1 -DHAVE_STRNDUP=1 -DRELEASE_OR_BETA=1 -DCROSS_COMPILE= -DMOZILLA_UAVERSION="59.0" -DHAVE_POSIX_FADVISE=1 -DHAVE_RES_NINIT=1 -DHAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR=1 -DJS_POSIX_NSPR=1 -DENABLE_INTL_API=1 -DHAVE_TM_ZONE_TM_GMTOFF=1 -DHAVE_NETINET_IN_H=1 -DVA_COPY=va_copy -DHAVE_MEMALIGN=1 -DHAVE_LOCALECONV=1 -DMOZILLA_VERSION_U=59.0.1 -DHAVE_CPUID_H=1 -DHAVE_SYS_QUOTA_H=1 -DMOZ_BUILD_APP=js -DMOZJS_MAJOR_VERSION=59 -DHAVE_SETLOCALE=1 -DHAVE_SYS_STATFS_H=1 -DMOZILLA_VERSION="59.0.1" -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_MBRTOWC=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LINUX_RTNETLINK_H=1 -DJS_STANDALONE=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_LINUX_IF_ADDR_H=1 -DHAVE_LINUX_PERF_EVENT_H=1 -DHAVE_GMTIME_R=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DHAVE_SYS_VFS_H=1 -DHAVE_WCRTOMB=1 -DHAVE_GETC_UNLOCKED=1 -DJS_CODEGEN_X64=1 -DCPP_THROW_NEW=throw() -DHAVE_SYS_TYPES_H=1 -DGTEST_HAS_RTTI=0 -DHAVE_SSIZE_T=1 -DHAVE_GETOPT_H=1 -DHAVE_NL_TYPES_H=1 -DXP_LINUX=1 -DHAVE_DIRENT_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_VA_COPY=1 -DNDEBUG=1 -DMOZ_GLUE_IN_PROGRAM=1 -DMOZJS_MINOR_VERSION=0 -DHAVE_SYS_STATVFS_H=1 -DHAVE_BYTESWAP_H=1 -DENABLE_TESTS=1 -DMOZ_UPDATE_CHANNEL=default -DHAVE_VALLOC=1 -DU_STATIC_IMPLEMENTATION=1 -DMALLOC_USABLE_SIZE_CONST_PTR= -DEDITLINE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_VA_LIST_AS_ARRAY=1 self-hosting-cpp-input.cpp
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/shell'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/jsapi-tests'
make[3]: Nothing to be done for 'export'.
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/jsapi-tests'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/tests'
make[3]: Nothing to be done for 'export'.
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/tests'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/build'
make[3]: Nothing to be done for 'export'.
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/js/src/build'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/memory/build'
make[3]: Nothing to be done for 'export'.
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/memory/build'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/mozglue/build'
make[3]: Nothing to be done for 'export'.
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/mozglue/build'
make[2]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make[1]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make[1]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make recurse_compile
make[2]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ'
make[3]: Entering directory '/js/gecko-dev/js/src/build_OPT.OBJ/mfbt'
mkdir -p '.deps/'
/usr/bin/gcc -std=gnu99 -o lz4.o -c -I/js/gecko-dev/js/src/build_OPT.OBJ/dist/system_wrappers -include /js/gecko-dev/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DIMPL_MFBT -DLZ4LIB_VISIBILITY= -I/js/gecko-dev/mfbt -I/js/gecko-dev/js/src/build_OPT.OBJ/mfbt -I/js/gecko-dev/mfbt/double-conversion -I/js/gecko-dev/js/src/build_OPT.OBJ/dist/include -fPIC -include /js/gecko-dev/js/src/build_OPT.OBJ/js/src/js-confdefs.h -DMOZILLA_CLIENT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-math-errno -pthread -pipe -g -freorder-blocks -O3 -fomit-frame-pointer  -MD -MP -MF .deps/lz4.o.pp   /js/gecko-dev/mfbt/lz4.c
In file included from /js/gecko-dev/mfbt/lz4.c:136:0:
/js/gecko-dev/js/src/build_OPT.OBJ/dist/system_wrappers/string.h:3:25: fatal error: String.h: No such file or directory
compilation terminated.
/js/gecko-dev/config/rules.mk:773: recipe for target 'lz4.o' failed
make[3]: *** [lz4.o] Error 1
make[3]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ/mfbt'
/js/gecko-dev/config/recurse.mk:73: recipe for target 'mfbt/target' failed
make[2]: *** [mfbt/target] Error 2
make[2]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ'
/js/gecko-dev/config/recurse.mk:32: recipe for target 'compile' failed
make[1]: *** [compile] Error 2
make[1]: Leaving directory '/js/gecko-dev/js/src/build_OPT.OBJ'
/js/gecko-dev/config/rules.mk:434: recipe for target 'default' failed
make: *** [default] Error 2
root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# cat ./dist/system_wrappers/string.h
#pragma GCC system_header
#pragma GCC visibility push(default)
#include_next <String.h>
#pragma GCC visibility pop
root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ# ls ./dist/system_wrappers/
A4Stuff.h                File.h              LOffscreenView.h        PLStringFuncs.h          UAttachments.h         atk                   compat.h             float.h           iomanip      memory         pk11pqg.h   prshma.h         smime.h            ulocks.h
AEDataModel.h            FindDirectory.h     LPane.h                 PMApplication.h          UCursor.h              atlcom.h              complex              fnmatch.h         ios          memory.h       pk11priv.h  prsystem.h       sndio.h            ulserrno.h
AEObjects.h              Finder.h            LPeriodical.h           PPCToolbox.h             UDebugging.h           atlconv.h             condapi.h            fontconfig        iosfwd       mlang.h        pk11pub.h   prthread.h       someincludefile.h  unidef.h
AEPackObject.h           FinderRegistry.h    LPicture.h              PP_ClassHeaders.cp       UDesktop.h             atlctl.cpp            conio.h              fp.h              iostream     mmsystem.h     pk11sdr.h   prtime.h         soundcard.h        unikbd.h
AERegistry.h             FixMath.h           LPlaceHolder.h          PP_Constants.h           UDrawingState.h        atlctl.h              console.h            fpieee.h          iostream.h   model.h        pkcs11.h    prtpool.h        soundtouch         unistd.h
AEUtils.h                Folders.h           LPrintout.h             PP_DebugHeaders.cp       UDrawingUtils.h        atlhost.h             crmf.h               frame             istream      mpw            pkcs11f.h   prtrace.h        spawn.h            unix.h
ASRegistry.h             Font.h              LProgressBar.h          PP_KeyCodes.h            UEnvironment.h         atlimpl.cpp           crmft.h              freetype          iterator     mshtmhst.h     pkcs11n.h   prtypes.h        sqlite3.h          unixio.h
ATSTypes.h               Fonts.h             LPushButton.h           PP_Macros.h              UEventMgr.h            atlwin.cpp            crt_externs.h        freetype.h        jar-ds.h     mshtml.h       pkcs11p.h   prvrsion.h       ssl.h              unknwn.h
ATSUnicode.h             Gdiplus.h           LRadioGroup.h           PP_Messages.h            UException.h           atomic                crtdbg.h             fribidi           jar.h        mswsock.h      pkcs11t.h   prwin16.h        sslerr.h           unordered_map
Aliases.h                Gestalt.h           LRadioGroupView.h       PP_Prefix.h              UExtractFromAEDesc.h   atomic.h              crypt.h              fstream           jarfile.h    mutex.h        pkcs11u.h   psap.h           sslproto.h         unordered_set
AppFileInfo.h            HIToolbox           LRunArray.h             PP_Resources.h           UGWorld.h              base                  cryptohi.h           fstream.h         jni.h        ncompat.h      pkcs12.h    pthread.h        sslt.h             unwind.h
AppKit.h                 IOKit               LScroller.h             PP_Types.h               UKeyFilters.h          base64.h              cryptoht.h           ft2build.h        kernel       ncurses.h      pkcs12t.h   pthread_np.h     sstream            urlhist.h
Appearance.h             Icons.h             LSharable.h             Packages.h               UMemoryMgr.h           basetyps.h            cstdarg              ftadvanc.h        key.h        net            pkcs7t.h    pulse            stack              urlmon.h
AppleEvents.h            InterfaceDefs.h     LSingleDoc.h            Palettes.h               UModalDialogs.h        be                    cstddef              ftbitmap.h        keyhi.h      netCore.h      plarena.h   pwd.h            starlet.h          utility
Application.h            InternetConfig.h    LStaticText.h           Patches.h                UNavServicesDialogs.h  bfd.h                 cstdio               ftcache.h         keyt.h       netdb.h        plarenas.h  queue            stat.h             utilmodt.h
Balloons.h               IntlResources.h     LStdControl.h           Path.h                   UPrinting.h            bitset                cstdlib              ftfntfmt.h        keythi.h     netinet        plbase64.h  quipu            statreg.cpp        utilpars.h
Beep.h                   JManager.h          LStream.h               Pgenerr.h                UQuickTime.h           blapi.h               cstring              ftglyph.h         kvm.h        new            plerror.h   regex.h          statreg.h          utilparst.h
Bitmap.h                 JNIEnvTests.h       LString.h               Ph.h                     UReanimator.h          blapit.h              ctime                ftlcdfil.h        langinfo.h   new.h          plgetopt.h  resolv.h         stdarg.h           utilrename.h
Button.h                 JVMManagerTests.h   LTabGroup.h             Polygon.h                URegions.h             bsd                   ctype.h              ftoutln.h         lber.h       newexe.h       plhash.h    rld_interface.h  stdbool.h          utime.h
CFBase.h                 JavaControl.h       LTabGroupView.h         Power.h                  URegistrar.h           bstring.h             curl                 fts.h             lcache.h     nl_types.h     plstr.h     rpc              stddef.h           values.h
CFBundle.h               JavaEmbedding       LTableArrayStorage.h    Print                    UResourceMgr.h         builtin.h             curses.h             ftsizes.h         ldap.h       nspr.h         pmddim.h    rpc.h            stdint.h           varargs.h
CFData.h                 JavaVM              LTableMonoGeometry.h    Printing.h               UScrap.h               byteswap.h            cwchar               ftsynth.h         ldap_ssl.h   nss.h          poll.h      rpcproxy.h       stdio.h            vcclr.h
CFDictionary.h           Kerberos            LTableSingleSelector.h  Processes.h              UScreenPort.h          c_asm.h               cxxabi.h             ftxf86.h          ldaplog.h    nssb64.h       port.h      sane             stdlib.h           vector
CFNumber.h               LAction.h           LTableView.h            Pt.h                     UTCUtils.h             cairo-atsui.h         dbus                 functional        ldappr.h     nssb64t.h      portable.h  sanitizer        storage            wab.h
CFPlugIn.h               LApplication.h      LTextEditView.h         Python.h                 UTETextAction.h        cairo-beos.h          ddeml.h              fusion            ldfcn.h      nssbase.h      portreg.h   sched.h          string             wait.h
CFPreferences.h          LArray.h            LTextTableView.h        QDOffscreen.h            UTEViewTextAction.h    cairo-directfb.h      dem.h                gconf             ldif.h       nssbaset.h     pratom.h    sec.h            string.h           wchar.h
CFString.h               LArrayIterator.h    LUndoer.h               QuickTimeComponents.h    UTextEdit.h            cairo-ft.h            deque                gdk               libc_r.h     nssck.api      prbit.h     secasn1.h        strings.h          wctype.h
CFURL.h                  LAttachable.h       LVariableArray.h        Quickdraw.h              UTextTraits.h          cairo-glitz.h         descrip.h            gdk-pixbuf        libelf       nssckbi.h      prclist.h   secasn1t.h       stropts.h          win
CGAffineTransform.h      LAttachment.h       LView.h                 Region.h                 UWindows.h             cairo-gobject.h       dfb_types.h          getopt.h          libelf.h     nssckepv.h     prcmon.h    seccomon.h       strstrea.h         winbase.h
CPCatgry.cpp             LBroadcaster.h      LWindow.h               Resources.h              UnicodeBlockObjects.h  cairo-pdf.h           dfiff.h              gio               libgen.h     nssckft.h      prcountr.h  secder.h         structs.h          windef.h
CPDbBMgr.h               LButton.h           LaunchServices.h        Retrace.h                UnicodeConverter.h     cairo-ps.h            dgiff.h              glib-object.h     libgnome     nssckfw.h      prcpucfg.h  secdert.h        stsdef.h           windows.h
CPString.cpp             LCaption.h          List.h                  Roster.h                 UnicodeUtilities.h     cairo-qpainter.h      direct               glib.h            libgnomeui   nssckfwc.h     prcvar.h    secdig.h         support            windowsx.h
CPString.h               LCheckBox.h         Lists.h                 SFNTLayoutTypes.h        View.h                 cairo-qt.h            direct.h             glibconfig.h      libutil.h    nssckfwt.h     prdtoa.h    secdigt.h        svrcore.h          winnls.h
CPalmRec.cpp             LCicnButton.h       Looper.h                SFNTTypes.h              Volume.h               cairo-quartz.h        directfb_keyboard.h  glob.h            limits       nssckg.h       preenc.h    secerr.h         sym.h              winperf.h
Carbon                   LClipboard.h        LowMem.h                SIOUX.h                  Window.h               cairo-tee.h           directfb_strings.h   gmodule.h         limits.h     nssckmdt.h     prenv.h     sechash.h        symconst.h         winreg.h
Carbon.h                 LCommander.h        MacErrors.h             Scrap.h                  Wininet.h              cairo-win32.h         dirent.h             gnome.h           link.h       nssckt.h       prerr.h     secitem.h        synch.h            winsock.h
CarbonEvents.h           LComparator.h       MacHeadersCarbon.h      Screen.h                 X11                    cairo-xlib-xrender.h  dl.h                 gnu               linux        nssilckt.h     prerror.h   secmime.h        syncmgr.h          winsock2.h
CheckBox.h               LControl.h          MacLocales.h            Script.h                 a.out.h                cairo-xlib.h          dlfcn.h              gps.h             list         nssilock.h     prinet.h    secmod.h         sys                winspool.h
Clipboard.h              LDataStream.h       MacMemory.h             ScrollBar.h              activscp.h             cairo.h               dlgs.h               grp.h             loader.h     nsslocks.h     prinit.h    secmodt.h        syscall.h          winsvc.h
Cocoa                    LDialogBox.h        MacTCP.h                SimpleGameSound.h        afxcmn.h               callconv.h            docobj.h             gssapi            locale       nssrwlk.h      prinrval.h  secoid.h         syslog.h           winuser.h
CodeFragments.h          LDocApplication.h   MacTypes.h              Sound.h                  afxcoll.h              cassert               dos                  gssapi.h          locale.h     nssrwlkt.h     prio.h      secoidt.h        t1tables.h         winver.h
ConditionalMacros.h      LDocument.h         MacWindows.h            StandardFile.h           afxcview.h             cctype                dos.h                gssapi_generic.h  logkeys.h    nssutil.h      pripcsem.h  secpkcs5.h       tables.h           wmem.h
ControlDefinitions.h     LDragAndDrop.h      Math64.h                StorageKit.h             afxdisp.h              cderr.h               dvidef.h             gst               logstrng.h   nsswitch.h     private     secpkcs7.h       task.h             workbench
Controls.h               LDragTask.h         Menu.h                  StringCompare.h          afxdtctl.h             cerrno                ecl-exp.h            gtk               m68881.h     objbase.h      prlink.h    secport.h        tchar.h            wtypes.h
CoreFoundation           LEditField.h        MenuBar.h               StringView.h             afxext.h               cert.h                elf.h                hasht.h           mach         objidl.h       prlock.h    secrng.h         termios.h          wx
CoreServices             LEditText.h         Menus.h                 SupportDefs.h            afxmt.h                certdb.h              endian.h             hlink.h           mach-o       ocsp.h         prlog.h     security.h       th                 xcb
Cpalmrec.h               LEventDispatcher.h  Message.h               TArray.h                 afxpriv.h              certt.h               err.h                ia64              machine      ocspt.h        prlong.h    secutil.h        thread             xlocale.h
DateTimeUtils.h          LFile.h             Mime.h                  TArrayIterator.h         afxtempl.h             cf.h                  errno.h              iconv.h           malloc.h     ojiapitests.h  prmem.h     semaphore.h      thread.h           xutility
Debug.h                  LFileStream.h       MixedMode.h             TextCommon.h             afxwin.h               ciferfam.h            exception            ieeefp.h          malloc_np.h  ole2.h         prmon.h     servprov.h       time.h             zlib.h
Devices.h                LFileTypeList.h     Movies.h                TextEdit.h               algorithm              climits               exdisp.h             ifaddrs.h         map          oleidl.h       prmwait.h   set              tlhelp32.h         zmouse.h
Dialogs.h                LFocusBox.h         Multiprocessing.h       TextEncodingConverter.h  all.h                  cmath                 exe386.h             image.h           mapi.h       osreldate.h    prnetdb.h   setjmp.h         tr1
DiskInit.h               LGrafPortView.h     Navigation.h            TextServices.h           alloc.h                cmmf.h                execinfo.h           imagehlp.h        mapicode.h   ostream        process.h   sha1.h           trace.h
Drag.h                   LHandleStream.h     NodeInfo.h              TextUtils.h              alloca.h               cmmft.h               extras.h             imm.h             mapidefs.h   p12.h          prolock.h   share.h          ttnameid.h
DriverServices.h         LListBox.h          OS.h                    TextView.h               alsa                   cmplrs                fcntl.h              initguid.h        mapiguid.h   p12plcy.h      proto       shellapi.h       tttables.h
DriverSynchronization.h  LListener.h         OSUtils.h               ThreadManagerTests.h     ansi_parms.h           cms.h                 features.h           initializer_list  mapitags.h   p12t.h         prpdce.h    shlguid.h        tuple
DropInPanel.h            LMenu.h             Objsafe.h               Threads.h                app                    cmsreclist.h          fenv.h               ints.h            mapiutil.h   pango          prprf.h     shlobj.h         type_traits
Entry.h                  LMenuBar.h          OpenGL                  Timer.h                  arpa                   cmst.h                ffi.h                intshcut.h        mapix.h      pascal.h       prproces.h  shsign.h         typeinfo
Errors.h                 LModelDirector.h    OpenTptInternet.h       ToolUtils.h              array                  comdef.h              fibdef.h             inttypes.h        math.h       pcfs           prrng.h     sigcontext.h     types.h
Events.h                 LModelObject.h      OpenTransport.h         Traps.h                  asm                    commctrl.h            filehdr.h            io.h              mbstring.h   pixman.h       prrwlock.h  signal.h         ucontext.h
FSp_fopen.h              LModelProperty.h    PALM_CMN.H              UAppleEventsMgr.h        assert.h               commdlg.h             files.h              iodef.h           mem.h        pk11func.h     prshm.h     size_t.h         uconv.h
root@bb5805510613:/js/gecko-dev/js/src/build_OPT.OBJ#
This happened to me once when I tried to build in a Linux VM on a Mac host. The build directory was mounted from the Mac's filesystem.

I think it has something to do with the Mac filesystem being case-insensitive. If you look in "build_OPT.OBJ/dist/system_wrappers/string.h", you'll see that it does `#include <String.h>` or something super odd like that. I don't know why; I don't understand the build system.

My workaround was to use a different build directory, on a native Linux filesystem. Does that work for you?
Assuming comment 1 is relevant: We would definitely accept a patch to make the build give a better error message when this happens!

I'm not sure we would take a patch to make this build configuration actually work. Maybe users are better served if we *don't* support it. It isn't something we want to test regularly.
Flags: needinfo?(ganado1984)
Priority: -- → P5
I confirmed this happens because of case-insensitive file system, and i could build the project successfully on APFS with case-sensitive.
Thank you!
Flags: needinfo?(ganado1984)
Component: JavaScript Engine → General
Product: Core → Firefox Build System
Summary: fatal error: String.h: No such file or directory → Build system should produce a better error message when building on a case-insensitive filesystem (fatal error: String.h: No such file or directory)

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.

Well, it should be feasible to simply detect if the objdir is on a case-insensitive filesystem and error, right?

You mean on a case-sensitive filesystem. And that would mean displaying an unrelated message in most cases of build failure.

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.

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.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.