> 5. ar -q libHSfoo.a *.o > ld -r --whole-archive libHSdocon.a -o libHSdocon.o Here's your problem: you named the output libHSdocon.o, but GHCi is looking for HSfoo.o (because that's the name you gave in the package spec). True, the documentation doesn't give explicit instructions for building a package from start to finish. I'll add something for a future release. Cheers, Simon