Changes between Version 32 and Version 33 of Building/Troubleshooting

May 4, 2011 10:34:44 PM (4 years ago)

Remove some darcs specific workarounds.


  • Building/Troubleshooting

    v32 v33  
    6262On MSYS I got this:
    64 bash$ ./darcs-all get
     64bash$ ./sync-all get
    6565     ....snip...
    6666== Syncing tarballs
    7272This happened to me with an old version of the shell (say "sh --version").  I think perhaps the path-mangling is different.  With the MSYS recommended [wiki:Building/Preparation/Windows here], all is well.  The shell there is version 3.1.0(1).
    74 == Pulling from "[email protected];c:\\msys\\1.0\\home\\darcs\\ghc" ==
    76 On Windows under MSYS, suppose your `_darcs/pref/defaultrepo` contains `[email protected]:/home/darcs/ghc` (i.e. you are using an SSH connection). Then `darcs_all` will screw up:
    77 {{{
    78 bash-3.1$ ./darcs-all pull
    79 == running darcs pull --repodir . [email protected]:/home/darcs/ghc
    80 No remote changes to pull in!
    81 == running darcs pull --repodir utils/hsc2hs [email protected]:/home/darcs/hsc2hs
    82 Reading inventory of repository c:/code/HEAD/utils/hsc2hs inventory
    83 No remote changes to pull in!
    84 ...
    85 }}}
    86 Looks ok, but look at the defaultrepo:
    87 {{{
    88 bash-3.1$ cat _darcs/prefs/defaultrepo
    89 [email protected];c:\msys\1.0\home\darcs\ghc/ghc
    90 }}}
    91 Glarp!  And indeed if you re-try the pull, bad things happen:
    92 {{{
    93 ./darcs-all pull
    94 == running darcs pull --repodir . [email protected];c:\msys\1.0\home\darcs\ghc/ghc
    95 No remote changes to pull in!
    96 == running darcs pull --repodir utils/hsc2hs [email protected];c:\msys\1.0\home\darcs\ghc/hsc2hs
    97 ...
    98 }}}
    99 Since defaultrepo is hosed, plain darcs fails too:
    100 {{{
    101 bash-3.1$ darcs pull
    102 Pulling from "[email protected];c:\\msys\\1.0\\home\\darcs\\ghc"...
    103 No remote changes to pull in!
    104 }}}
    105 This problem seems hard to fix, because it's a bug in MSYS's perl.  See #3499 for a workaround.
    10774== configure: error: C++ preprocessor "/lib/cpp" fails sanity check ==
    221188Solution: delete {{{configure}}} first.
    223 === Configure can't find darcs version ===
    225 When you run your configure script, it falls over with
    226 {{{
    227 sh-2.04$ ./configure --with-gcc=c:/mingw/bin/gcc --with-ld=c:/mingw/bin/ld.exe --host=i386-unknown-mingw32
    228 configure: WARNING: If you wanted to set the --build type, don't use --host.
    229     If a cross compiler is detected then cross compile mode will be used.
    230 checking for GHC version date... -nThe system cannot find the file specified.
    231 configure: error: failed to detect version date: check that darcs is in your path
    232 }}}
    233 This error is nothing to do with `darcs`!  The darcs-version test in `configure` uses `sort`, and it is picking up the Windows sort (in `c:\windows\system32`) instead of the MSYS or Cygwin sort. 
    235 Solution: either hack the configure script by hand, or (better) make sure that MSYS/Cygwin are in your PATH before Windows. Since `c:\windows\system32` is, by default, in the System Environment Variable called PATH, and System Variables come first when searching for paths, you'll have to put MSYS/Cygwin bin directory in the System PATH, before `c:\windows\system32`.
    237 (Incidentally, `find` is another program that Windows has too, with different functionality to Unix.)
    239190=== Argument list too long ===
    329280  }}}
    330281'''Possible Solution'''::
    331 Be sure you have run {{{sh darcs-all get}}} to get all necessary packages. Don't forget to run {{{perl boot}}} again after you pull in new packages.
     282Be sure you have run {{{./sync-all get}}} to get all necessary packages. Don't forget to run {{{./boot}}} again after you pull in new packages.
    333284=== xargs: /usr/bin/ar: terminated by signal 11 ===
    440 === getCurrentDirectory: resource exhausted (Too many open files) ===
    442 By default, Mac OS X limits the number of open files to 256.  This may cause problems when applying patches in step 3 of ''Getting a GHC source tree using darcs'' with darcs 1.0.9.
    444 {{{
    445 $ darcs pull -a
    446 Pulling from ""...
    447 This is the GHC darcs repository (HEAD branch)
    449 For more information, visit the GHC developer wiki at
    451 **********************
    452 darcs: getCurrentDirectory: resource exhausted (Too many open files)
    453 }}}
    455 If this happens, try increasing the number of open files allowed by typing in {{{$ ulimit -n unlimited}}} and try pulling again.  If this fails, close all terminal windows, restart, and try again.
    457 If this still doesn't work, try pulling 100 patches at a time using the {{{darcs pull}}} command (notice the lack of the {{{-a}}} flag).  Hold down 'y' until 100 or so patches are accepted, then hit 'd' to skip the rest; repeat until all patches are applied.  If this fails, try with less than 100 patches at a time (e.g., 50).
    459 This issue has been reported as [ issue 560] in the darcs bug tracking system.
    461391=== Ubuntu: {{{dash}}} vs {{{bash}}} ===
    462392In Ubuntu 6.10 the default system shell {{{/bin/sh}}} was changed to {{{dash}}} (The Debian Almquist Shell) instead of {{{bash}}}, see [ DashAsBinSh]. This has been reported to break the GHC build. Until the GHC scripts are updated, the easiest way to fix this problem is to (as {{{root}}}) change the {{{/bin/sh}}} link back to {{{/bin/bash}}}. There should be minimal effect on the rest of the system, bar a small speed penalty for script heavy processes due to {{{bash}}} slowness.