snowleopard / hadrian

Hadrian: a new build system for the Glasgow Haskell Compiler. Now merged into the GHC tree!
https://gitlab.haskell.org/ghc/ghc/tree/master/hadrian
MIT License
208 stars 39 forks source link

no rule for ghc-prim-0.5.2.0/GHC/Classes.dyn_hi #580

Closed izgzhen closed 6 years ago

izgzhen commented 6 years ago
Error when running Shake build system:
* _build/stage1/lib/package.conf.d/integer-gmp-1.0.2.0.conf
* _build/stage1/libraries/integer-gmp/build/libHSinteger-gmp-1.0.2.0-ghc8.5.20180424.so
* _build/stage1/libraries/integer-gmp/build/GHC/Integer/Type.dyn_o
* _build/stage1/libraries/integer-gmp/build/GHC/Integer/Type.dyn_o _build/stage1/libraries/integer-gmp/build/GHC/Integer/Type.dyn_hi
* _build/stage1/lib/x86_64-linux-ghc-8.5.20180424/ghc-prim-0.5.2.0/GHC/Classes.dyn_hi
Error, file does not exist and no rule available:
  _build/stage1/lib/x86_64-linux-ghc-8.5.20180424/ghc-prim-0.5.2.0/GHC/Classes.dyn_hi
CallStack (from HasCallStack):
  error, called at src/Development/Shake/Internal/Rules/File.hs:180:58 in shake-0.16.3-D18CK3931i8GsNl2vi6IKs:Development.Shake.Internal.Rules.File

================= SUMMARY =================
{'flavour': 'quick', 'exit-code': 1, 'stage0-ghc-version': '8.2.2', 'ghc-git-hash': '5c9bc0771f426de2b99d6bb3a0f1d2eeaa91c710', 'duration': 123.02147698402405, 'timestamp': 'Wed Apr 25 12:46:21 2018', 'platform': 'Linux-4.13.0-38-generic-x86_64-with-Ubuntu-16.04-xenial', 'clean': False, 'gcc-version': '5.4.0', 'hadrian-git-hash': '64da39cc9f955d7c1492ab39927a8e0849b23f00'}
======= reported by hadrian's brick =======
izgzhen commented 6 years ago

dynamic way is not working now I believe, and I'm looking into it.

snowleopard commented 6 years ago

I wonder why we have this path:

_build/stage1/lib/x86_64-linux-ghc-8.5.20180424/ghc-prim-0.5.2.0/GHC/Classes.dyn_hi

On my machine I have

_build/stage1/x86_64-windows-ghc-8.5.20180424/ghc-prim-0.5.2.0/GHC/Classes.hi

That is, without the lib bit. Could this be the issue?

izgzhen commented 6 years ago

That is, without the lib bit. Could this be the issue?

I don't know. I nuked the whole tree again and quick seemed working this time. The path is still the same and this time it was built. I guess the lib bit is caused by difference between windows and Linux.

izgzhen commented 6 years ago

and BTW, I confirmed that the -dynamic is working on a simple example as well.

snowleopard commented 6 years ago

Great, thanks!