FranTK

Jan Kort kort@wins.uva.nl
Thu, 08 Feb 2001 14:39:19 +0100


Hi Petra,

Since you are a system administrator, I asume that you will also
want to install FranTk so other people can use it. I'm not sure
this is possible. I did manage to get it working for myself localy,
but a "make install" doesn't do anything.

If you are in a hurry, you can use the fixes below and let the users
copy your directory and make their programs in the FranTk/demos
directory. The whole directory is about 27M.

Like always, a better solution is to wait a little:
According to the news on the FranTk homepage the library will become
part of hslibs. This means that it will be distributed with ghc and
it should also have a proper installation. I would wait for that.

I will CC the mail to haskell@haskell.org, maybe someone there can
give you an estimate on when FranTk will be released as part of
hslibs.

Regards,
  Jan

To get FranTk for ghc 4.06 to work with ghc 4.08 apply the following fixes:

Run configure like normal, i.e.:
./configure --prefix=/scratch/kort/pkgs/frantk

Change the file FranTk/src/FranSrc/Compatibility.ghc.hs to
========================================================================
-- this module is for GHC; GSL
module Compatibility
       ( double2Float
       , yield
       , debugMsgLn
       , setDebug
       , mkWeakIORef
       , toInt
       , fromInt
       ) where
import GlaExts 
import NumExts(doubleToFloat)
import PrelRead(readDec)
import IOExts
import Concurrent
import Exception

double2Float = doubleToFloat

setDebug :: Bool -> IO ()
setDebug _ = return ()

debugMsgLn :: String -> IO ()
debugMsgLn s = assert (trace s `seq` True) $ return () 
========================================================================

In the file FranTk/src/FranTkSrc/Makefile change the line:
HC_OPTS+= -i../FranSrc:../TclHaskellSrc -fallow-overlapping-instances -fallow-undecidable-instances
-syslib misc 
to:
HC_OPTS+= -i../FranSrc:../TclHaskellSrc -fallow-overlapping-instances -fallow-undecidable-instances
-syslib data

In the file FranTk/demos/Makefile change the line:
HC_OPTS+= -i../src/FranTkSrc:../src/FranSrc:../src/TclHaskellSrc -fallow-overlapping-instances
-fallow-undecidable-instances -syslib misc
to:
HC_OPTS+= -i../src/FranTkSrc:../src/FranSrc:../src/TclHaskellSrc -fallow-overlapping-instances
-fallow-undecidable-instances -syslib data

If the compiler complains about not finding the file "tcl.h", in the
file FranTk/src/TclHaskellSrc/Makefile change the rule:
tclhaskell.o: tclhaskell.c tclhaskell.h
        $(HC) -c tclhaskell.c
to:
tclhaskell.o: tclhaskell.c tclhaskell.h
        $(HC) -I/opt/arch/lib/tk8.3/include -c tclhaskell.c
where /opt/arch... is the place "tcl.h" and "tk.h" are.

In the directory FranTk/src/TclHaskellSrc do:
rm *.hi *.o

In the file FranTk/src/TclHaskellSrc/Makefile add TclPrim.hs to
the HS_SRCS list.

In the directory FranTk/src/FranSrc do:
rm *.hi

In the directory FranTk/demos do:
rm *.hi

And then continue the normal installation with:
gmake boot
gmake all