[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Uhc-developers] Avoiding uuagc-bootstrap



Dear Joachim,

The issue below has been solved and I believe that UUAGC 0.9.42.3, which has just been uploaded to Hackage, can be build with "cabal install" from the included generated code, and can be build from AG sources with some older uuagc executable on the system with 'cabal install uuagc --ghc-options="-DEXTERNAL_UUAGC"'.

Regards,
Jeroen


> Hi Joachim,
> 
>>>> In version 0.9.42.1, which is now on Hackage, both the AG sources and
>>>> generated Haskell sources are included. With a standard 'cabal
>>>> install' the generated Haskell sources are used and UUAGC is build as
>>>> any simple Haskell library. However, to build from sources you can now
>>>> do 'cabal install uuagc --ghc-options="-DEXTERNAL_UUAGC"' which of
>>>> course needs a "uuagc" executable to be available. This will ignore
>>>> the generated sources and build everything from AG source.
>>> 
>>> thanks! New Debian package using this infrastructure uploaded. The
>>> setting of configuration variables via CPP flags passed when building
>>> Setup is a bit unusual, but not a problem.
>> 
>> I tried to package 0.9.42.2 using -DEXTERNAL_UUAGC, but failed:
>> debian/hlibrary.setup build --builddir=dist-ghc
>> hlibrary.setup: <<loop>>
>> 
>> [..]
>> 
>> Can you reproduce the problem? Would it be possible to fix it?
> 
> Yes, and unfortunately I realized this only after I uploaded the new
> version to Hackage. Version 0.9.42.2 can only be bootstrapped with itself,
> i.e. to build from source you should first install 0.9.42.2 without the
> -DEXTERNAL_UUAGC flag such that it uses the included generated sources,
> and then another time with that flag. Then it works fine, but if the uuagc
> is preprocessed with any version < 0.9.42.2 it gives a <<loop>>.
> 
> It is still on my todo list to figure out what exactly the problem is. It
> is related to the fact that I added the "kennedywarren" flag in the
> uuagc_options file, for which older versions generate some extra strictness
> annotations which create the loop. I do however think that it should be
> possible to change the code again such that it can be preprocessed with
> older versions too. So, for now the fix would probably just be to skip this
> version and hope that I can figure out the problem soon.
> 
> Otherwise, the "self bootstrap" by building twice can work, but that's of
> course not very nice.
> 
> Regards,
> Jeroen 


Reply to: