Problem with --split-objs on windoze (when building HOpenGL)

2003-01-24 Thread Peter Smith
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

2003-01-24 Thread Ferenc Wagner
   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]

2003-01-24 Thread Simon Marlow
> 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