[nhc-bugs] nhc -T problem

Malcolm Wallace Malcolm.Wallace@cs.york.ac.uk
Thu, 24 May 2001 11:16:45 +0100


> > It is possible that the problem is due to using a strange linker -
> > can you tell whether it is Gnu ld (via gcc) or some other linker?
> 
> I don't know - I just run hmake -T.

Try   gcc -v   and   ld -v   for the version numbers.

> > Try adding another
> >     " "$NHC98LIBDIR/$MACHINE/Prelude$CFG.a
> 
> But I've already got those libraries included. 

The linker determines dependencies by processing the link archives
sequentially, but there are many long-chain cross-dependencies between
Prelude.T.a and Runtime.T.a.  Thus we need to add numerous copies
of both archives to the sequence, to ensure the dependencies can be
followed right to the end of the chain.

> I've looked inside Prelude.a and PreludeT.a and I haven't found 
> FN_Prelude_46mkSR there. So maybe the trouble is in the generated code?

Using 'nm PreludeT.a', you should find that FN_Prelude_46mkSR is defined
in HatArchive.T.o.  If it is not, can you check whether HatArchive.T.o
is included in the archive at all?

Regards,
    Malcolm