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

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.