Changes between Version 36 and Version 37 of Building/Troubleshooting


Ignore:
Timestamp:
May 19, 2013 7:57:58 PM (2 years ago)
Author:
igloo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/Troubleshooting

    v36 v37  
    2222ghc.mk:96: *** Make has restarted itself 3 times; is there a makefile bug?.  Stop.
    2323}}}
    24 Simon M says: this can happen if you modify something while tenhe build is in progress - I
    25 see this quite often.  In this case the error is just overly conservative, and restarting is the right workaround.
    26 
    27 pgj adds: This can also happen if you are building the sources on FreeBSD in a really fast environment, i.e. on a multi-core Xeon with multiple parallel threads ({{{make -j}}}) or a memory-backed file system ({{{mfs}}}, {{{tmpfs}}}), see #7592.  It is because precision of file timestamps is not fine-grained enough by default (due to the common VFS layer).  You can change this granularity by adjusting the value of the {{{vfs.timestamp_precision}}} sysctl(3) variable.
    28 
    29 If you encounter this without touching any files after typing 'make',
    30 then it's probably a bug in the build system.  Though unfortunately it's
    31 going to be almost impossible to track down unless we can find a way to
    32 reproduce it.
     24then it could mean you have introduced a build system bug, causing an infinite loop.
     25
     26This can also happen (although we don't know precisely why) if you modify something in a built tree, and then re-run `make`. In this case the error is just overly conservative, and restarting is the right workaround.
     27
     28It can also happen if you are building the sources on FreeBSD in a really fast environment, e.g. on a multi-core Xeon with multiple parallel threads ({{{make -j}}}) or a memory-backed file system ({{{mfs}}}, {{{tmpfs}}}) (see #7592). It is because precision of file timestamps is not fine-grained enough by default (due to the common VFS layer).  You can change this granularity by adjusting the value of the {{{vfs.timestamp_precision}}} sysctl(3) variable (`sudo -w vfs.timestamp_precision=1`).
     29
     30If you encounter this without touching any files after typing 'make', then it's probably a bug in the build system. The `make -d` output will be useful in tracking it down, but depending on when it happens there might be a lot of it!
    3331
    3432== libraries/ghc-prim/GHC/PrimopWrappers.hs:48:18: Not in scope: `GHC.Prim.gcdInt#' ==