Problem with --split-objs on windoze (when building HOpenGL)
I'm having some difficulties with the --split-objs parameter when building HOpenGL on win xp ine with --disable-split-objs. Tried uninstalling my 'normal' copy of perl & upgrading GHC to 5.04.2 but am still getting the same error. Couldn't find anything in the archives, so anyone got any ideas?? $ make Recursively making `all' in lib examples ... PWD = /usr/local/HOpenGL-1.04 make all - --unix; in /usr/local/HOpenGL-1.04/lib rm -f GL_Marshal.o ; if [ ! -d GL_Marshal_split ]; then mkdir GL_Marshal_split; else find GL_Marshal_split -name '*.o' -print | xargs -s 8000 rm -f __rm_food ; fi ; "/cygdrive/c/ghc/ghc-5.04.1/bin/ghc" -package lang -package-name HOpenGL -i../GL UT -I../GLUT/include -cpp -DCALLCONV=stdcall -split-objs -odir GL_Marshal_split -fglasgow-exts "-#include " -O -c GL_Marshal.hs -o GL_Marshal.o Can't locate utf8.pm in @INC (@INC contains: .) at c:\ghc\ghc-5.04.1\ghc-split l ine 50, line 7. BEGIN failed--compilation aborted, line 7. make[1]: *** [GL_Marshal.o] Error 1make: *** [all] Error 1 Peter At 01:10 PM 24/01/2003 +0100, Sven Panne wrote: Peter Smith wrote: > I'm getting the following error when running make all/make install (make > depend worked fine). > > I'm building on windoze xp home, GHC5.04.1, cygwin. Any ideas? [...] Hmmm, this looks like a GHC/Perl installation problem (GHC uses Perl e.g. for -split-objs). A few questions: * Can you compile and link a simple HelloWorld.hs with -O? * Can you do the same with -O *and* -split-objs? * Does HOpenGL work when configure is called with --disable-split-objs? Cheers, S. ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Profiling trouble
Hello, Please help me understanding GHC 5.02.2 profiling output! Here is the root of my program (Show.hs): \begin{code} showData:: BaseVector a => Params -> Operator a -> String showData params pot = unlines ["Version 3.1", "", showParams pot params, "tcsdim: " ++ tcsDim, "", "conformal energies:", diagonals, "perturbation matrix:"] ++ matrixElements where cutStates = {-# SCC "showData1" #-} getStates params tcsDim = {-# SCC "showData2" #-} show (length cutStates) diagonals = {-# SCC "showData3" #-} unlines $ map (show . energy) cutStates matrixElements = {-# SCC "showData4" #-} unlines $ map unwords off off = {-# SCC "showData5" #-} [map (myShow . pot outV) (take i cutStates) | (outV,i) <- zip cutStates [1..]] main= do params <- option putStr $ showData params (superPot params) \end{code} If I compile it via ghc -package util -o show --make Show.hs -prof -auto-all I get in show.prof: Fri Jan 24 17:46 2003 Time and Allocation Profiling Report (Final) show +RTS -p -RTS -c 5 -s R -p 0 -t 0 -r 3 total time = 94.54 secs (4727 ticks @ 20 ms) total alloc = 2,313,980,136 bytes (excludes profiling overheads) COST CENTRE MODULE %time %alloc showData1Main86.1 88.5 cutAbove4Tcsa 3.61.5 ncEpsEpsilon 3.33.1 GC GC 2.20.0 vopMode Boson1.51.1 ncVopBoson1.21.0 getStatesTcsa 0.61.2 individual inherited COST CENTRE MODULE entries %time %alloc %time %alloc MAIN MAIN 00.0 0.0100.0 100.0 mainMain 00.1 0.0100.0 100.0 [...] showData Main 10.0 0.0 91.1 91.9 showData5 Main 10.0 0.0 0.3 0.4 myShow Main 94530.3 0.3 0.3 0.3 showData4 Main 10.0 0.1 0.0 0.1 showData3 Main 10.1 0.1 0.1 0.1 showData1 Main 1 86.1 88.5 90.8 91.4 cutAbove Tcsa280.0 0.0 3.6 1.5 cutAbove2 Tcsa 10.0 0.0 0.0 0.0 cutAbove3 Tcsa270.0 0.0 0.0 0.0 cutAbove4 Tcsa283.6 1.5 3.6 1.5 spinSelect Tcsa 10.0 0.0 0.0 0.0 getStatesTcsa 10.6 1.2 1.0 1.4 incrementalBase Fermion 10.3 0.2 0.4 0.2 fermionNumber Fermion 776640.1 0.0 0.1 0.0 allTowers Boson10.0 0.0 0.0 0.0 inModule Boson 170.0 0.0 0.0 0.0 mergeUp Boson60.0 0.0 0.0 0.0 showData2 Main 10.0 0.0 0.0 0.0 [...] My question: showData1 is a single function call, how can it still have such a big individual share? Where is the program spending its time? Sorry if it is a trivial question, functional profiling is new to me. Thanks: Feri. ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
RE: Porting mips-sgi-irix65 [help]
> As pointed Michael Weber in a sparc-unknown-linux porting,the > key point is > > "gcc on sparc-linux (mips-irix) doesn't mark the beginning of > .data(like "data_start" on i386-linux) . Using etext is > definitely wrong > here, since .rodata comes afterwards and therefore etext > doesn't cover the infotables for > static-closures" You may be interested to know that recent CVS versions of GHC don't have the requirement that the section boundaries need to be known. You'll undoubtedly find it easier to port newer versions (although in order to bootstrap you might need to start from an older version...). Cheers, Simon ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users