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

Reply via email to