Help Creating Libraries

Simon Peyton-Jones simonpj@microsoft.com
Tue, 15 Apr 2003 08:00:00 +0100


OK, problem 1 is that you have to say 'autoconf' in fptools/ghc, as well
as in fptools.
The documentation may well be out of date on this point -- I'll check.

Problem 2, the readline thing is a regular gotcha that bites us at about
weekly intervals. I don't understand the problem, let alone the
solution, so I'll let Simon reply.  I suppose it could be a consequence
of problem 1

Simon

| -----Original Message-----
| From: Dominic Steinitz [mailto:dominic.steinitz@blueyonder.co.uk]
| Sent: 14 April 2003 20:07
| To: Simon Peyton-Jones; Simon Marlow
| Cc: libraries@haskell.org
|=20
| Simon,
|=20
| Thanks.
|=20
| I checked out as follows:
|=20
| [dom@tility fptools]$ cvs -d :pserver:anoncvs@glass.cse.ogi.edu:/cvs
| checkout -r
|  ghc-5-04-2 ghc hslibs libraries
|=20
| But got the following. I'm not sure what it's telling me.
|=20
| configure: creating ./config.status
| config.status: creating mk/config.mk
| config.status: creating mk/config.h
| config.status: executing default commands
| configure: configuring in ghc
| configure: running /bin/sh
| /configure --prefix=3D/usr/local  --cache-file=3D/dev/null =
--srcdir=3D.
| ./configure: ./configure: No such file or directory
| configure: error: /bin/sh ./configure failed for ghc
| [dom@tility fptools]$
|=20
| On the assumption this wasn't serious I then tried
|=20
|  1004  cd ../glafp-utils/
|  1005  make boot
|  1006  make
|  1007  cd ../ghc
|  1008  make boot
| [dom@tility ghc]$
|=20
| but got the following:
|=20
| /usr/bin/ghc -M -optdep-f -optdep.depend  -osuf
| o    -ldl -cpp -DPKG_TOOL -DWANT_PRETTY -package lang -package util
-package
| text -O Main.hs Package.hs ParsePkgConfLite.hs
| make all
| /usr/bin/ghc -o ghc-pkg.bin -ldl -cpp -DPKG_TOOL -DWANT_PRETTY
-package
| lang -package util -package text -O       Main.o Package.o
| ParsePkgConfLite.o
| /usr/bin/ld: cannot find -lreadline
| collect2: ld returned 1 exit status
| make[3]: *** [ghc-pkg.bin] Error 1
| make[2]: *** [boot] Error 2
| make[1]: *** [boot] Error 1
| make: *** [boot] Error 1
| [dom@tility ghc]$
|=20
|=20
| Dominic Steinitz
| ----- Original Message -----
| From: "Simon Peyton-Jones" <simonpj@microsoft.com>
| To: "Dominic Steinitz" <dominic.steinitz@blueyonder.co.uk>; "Simon
Marlow"
| <simonmar@microsoft.com>
| Cc: <libraries@haskell.org>
| Sent: Monday, April 14, 2003 9:14 AM
| Subject: RE: Help Creating Libraries
|=20
|=20
| Aha. It seems that the libraries tree is not independent of the 'ghc'
| tree; this is because the 'base/GHC/' subtree is absolutely GHC
| specific.
|=20
| The quickest workaround is to check out ghc/ as well as libraries/,
and
| say 'make boot' in the ghc tree.  Don't forget to do the 'configure'
| stuff.
|=20
| Also, compiling the libraries tree probably assumes that you want to
use
| the ghc in the same tree.  You may need to add 'HC=3Dghc' to your =
'make'
| calls.
|=20
| Simon
|=20
| | -----Original Message-----
| | From: Dominic Steinitz [mailto:dominic.steinitz@blueyonder.co.uk]
| | Sent: 12 April 2003 12:09
| | To: Simon Marlow; Simon Peyton-Jones
| | Cc: libraries-request@haskell.org; glasgow-haskell-users@haskell.org
| |
| | I've tried building the libraries tree but got the following. Can
| anyone
| | help?
| |
| | I'm not sure what name to give the proposed crypto library. Should
it
| be
| | Data.Crypto?
| |
| | [dom@tility libraries]$ make boot
| |
|
------------------------------------------------------------------------
| | =3D=3D=3Dfptools=3D=3D Recursively making `boot' in base haskell98 =
network
| haskell-src
| | ...
| | PWD =3D /home/dom/fptools/libraries
| |
|
------------------------------------------------------------------------
| |
|
------------------------------------------------------------------------
| | =3D=3Dfptools=3D=3D make boot -r;
| |  in /home/dom/fptools/libraries/base
| |
|
------------------------------------------------------------------------
| | make[1]: *** No rule to make target `/prelude/primops.txt', needed
by
| | `GHC/PrimopWrappers.hs'.  Stop.
| | make: *** [boot] Error 1
| | [dom@tility libraries]$
| |
| | Dominic Steinitz
| | ----- Original Message -----
| | From: "Simon Marlow" <simonmar@microsoft.com>
| | To: "Simon Peyton-Jones" <simonpj@microsoft.com>; "Dominic Steinitz"
| | <dominic.steinitz@blueyonder.co.uk>
| | Sent: Friday, April 11, 2003 10:48 AM
| | Subject: RE: Help Creating Libraries
| |
| |
| | Hi Dominic,
| |
| | There are two ways to add libraries: do it directly in a GHC tree
| using
| | our build infrastructure, or try to do it on your own.  We tried to
| get
| | some interest going in developing a separate build infrastructure
for
| | people in your position (see discussions on the GHC lists), but that
| | effort seems to be stalled.
| |
| | Cheers,
| | Simon
| |
| | > -----Original Message-----
| | > From: Simon Peyton-Jones
| | > Sent: 07 April 2003 08:51
| | > To: Dominic Steinitz; Simon Marlow
| | > Cc: Simon Peyton-Jones
| | >
| | > Dominic
| | >
| | > Excellent!  Simon is the library king, but he's away today.
| | > I think it goes like this: you agree with Simon (and
| | > preferably the libraries@haskell.org) libraries list what the
| | > name and signature of your module will be.  We give you CVS
| | > access.  You check out the libraries tree (no need to build
| | > GHC if you don't want to) and add your library.  With Haddock
| | > documentation.  That's it.
| | >
| | > But it ought to be documented -- then more people might do it!
| | >
| | > Simon
| | >
| | > | -----Original Message-----
| | > | From: Dominic Steinitz
[mailto:dominic.steinitz@blueyonder.co.uk]
| | > | Sent: 06 April 2003 17:09
| | > | To: Simon Peyton-Jones; Simon Marlow
| | > |
| | > | Simon & Simon,
| | > |
| | > | I'd quite like to create a crypto library. There are some
| | > modules already
| | > | scattered around the place: md5, sha1, des and rsa. I've
| | > just added cipher
| | > | block chaining mode to the existing des module.
| | > |
| | > | I'd be grateful for any advice on how to set about creating
| | > a library. Do I
| | > | have to check out the ghc source from CVS and build it and
| | > somehow add an
| | > | extra library? Is there a document describing how to do it?
| | > Should I be
| | > | asking this question on the libraries mailing list?
| | > |
| | > | Dominic Steinitz
| | > |
| | >
| | >
| |
|=20
|=20
|=20