Finally, after I hacked some files, everything works....Man! Magicloud wrote:
OK, I cannot rebuild ghc-6.8.3 on a ghc-6.8.3 existing enviornment, very good.
Preprocessing library cgi-3001.1.6.0... Generating Makefile cgi-3001.1.6.0... make[2]: Entering directory `/home/shidaw/src/ghc-6.8.3/libraries/cgi' == make way=p -f GNUmakefile all; ../../compiler/stage1/ghc-inplace -package-name cgi-3001.1.6.0 -hide-all-packages -split-objs -i -idist/build/autogen -idist/build -i. -Idist/build -odir dist/build -hidir dist/build -stubdir dist/build -package base-3.0.2.0 -package old-time-1.0.0.0 -package old-locale-1.0.0.0 -package containers-0.1.0.2 -package base-3.0.2.0 -package bytestring-0.9.0.1.1 -package network-2.2.0.0 -package parsec-2.1.0.1 -package mtl-1.1.0.1 -package xhtml-3000.2.0.0 -O -Wall -XMultiParamTypeClasses -idist/build -prof -hisuf p_hi -hcsuf p_hc -osuf p_o -H16m -O -O -Rghc-timing -fgenerics -c Network/CGI/Protocol.hs -o dist/build/Network/CGI/Protocol.p_o -ohi dist/build/Network/CGI/Protocol.p_hi
Network/CGI/Protocol.hs:41:0: Failed to load interface for `Network.URI': Perhaps you haven't installed the profiling libraries for package network-2.2.0.0? Use -v to see a list of the files searched for. <<ghc: 49284884 bytes, 6 GCs, 147456/147456 avg/max bytes residency (1 samples), 16M in use, 0.00 INIT (0.00 elapsed), 0.08 MUT (0.19 elapsed), 0.03 GC (0.03 elapsed) :ghc>> make[3]: *** [dist/build/Network/CGI/Protocol.p_o] Error 1 make[2]: *** [all] Error 1 make[2]: Leaving directory `/home/shidaw/src/ghc-6.8.3/libraries/cgi' make[1]: *** [make.library.cgi] Error 2 make[1]: Leaving directory `/home/shidaw/src/ghc-6.8.3/libraries' make: *** [stage1] Error 2
Magicloud wrote:
After rebuilt HTTP-3001.1.3, I reinstalled, no luck, same error. I am rebuilding GHC-6.8.3, to see....
Duncan Coutts wrote:
On Tue, 2008-10-14 at 13:51 +0800, Magicloud wrote:
Sigh again, something that always makes me think that cabal is unusable....
~/.cabal/lib/HTTP-3001.1.3/ghc-6.8.3/libHSHTTP-3001.1.3.a(Browser.o)(.text+0x5aa6): In function `rp46_info': : undefined reference to `mtlzm1zi1zi0zi1_ControlziMonadziIdentity_zdf2_closure'
What is almost certainly going on is that mtl has been rebuilt but the other packages that depend on it (like http) have not.
I wonder if we could detect this better in ghc-6.10.2. There are ABI hashes available, so if we could record them in the package registration info then we should be able to detect when a dependent package has changed ABI. The longer term solution is to use a nix-style persistent package store.
The short term solution in this case is probably to rebuild the HTTP package.
Duncan