On Fri, Aug 07, 2009 at 11:42:08PM +0100, Simon Marlow wrote:
> Ian Lynagh wrote:
>> Fri Aug 7 06:07:31 PDT 2009 Ian Lynagh <[email protected]>
>> * Add a kludge to fix building shared libs
>> The .dyn_hi files currently depend on the .dyn_hi files of modules that
>> they import. But they actually want the .hi files of modules from
>> another package.This we make the .dyn_hi files depend on the .hi files
>> so we are sure that they exist and are up-to-date.
>
> I don't understand - why do they need to depend on the .hi files and not
> the .dyn_hi files?
I don't know, but that's the current behaviour:
libraries/array/Data/Array.hs:1:0:
Failed to load interface for `Prelude':
There are files missing in the `base' package,
try running 'ghc-pkg check'.
locations searched:
libraries/array/./Prelude.dyn_hi
libraries/array/./Prelude.dyn_hi-boot
libraries/array/dist-install/build/Prelude.dyn_hi
libraries/array/dist-install/build/Prelude.dyn_hi-boot
libraries/array/dist-install/build/autogen/Prelude.dyn_hi
libraries/array/dist-install/build/autogen/Prelude.dyn_hi-boot
/home/ian/ghc/darcs/ghc/libraries/base/dist-install/build/Prelude.hi
> And isn't it the .dyn_o, not the .dyn_hi, that
> depends on the .dyn_hi files?
We have dependencies like this:
libraries/array/dist-install/build/Data/Array.dyn_o : \
libraries/base/dist-install/build/Prelude.dyn_hi
in libraries/array/dist-install/build/.depend-v-dyn when we really need
libraries/array/dist-install/build/Data/Array.dyn_o : \
libraries/base/dist-install/build/Prelude.hi
Making that directly is hard, but it is easy to make
libraries/base/dist-install/build/Prelude.dyn_hi : \
libraries/base/dist-install/build/Prelude.hi
which is enough to work around the problem.
Thanks
Ian
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc