Judah Jacobson:
On Dec 17, 2007 5:58 PM, Manuel M T Chakravarty
<[EMAIL PROTECTED]> wrote:
Ian Lynagh:
On Mon, Dec 17, 2007 at 12:53:32PM +1100, Manuel M T Chakravarty
wrote:
Actually, I think, we should use the gmp/ in the ghc repo by
default
If you want to use it when building a bindist that might be used on
other computers you shold be able to set
HaveLibGmp = NO
HaveFrameworkGMP = NO
in mk/build.mk, although I'm not sure I've ever tried it.
The disadvantages of using it are it might be out of date (we had
some
Windows segfaults a while ago that were fixed by updating the in-
tree
gmp) and wasted space.
Sure we waste some space, but the alternative is worse. Programs
compiled with GHC will essentially not run on any computer, but the
one where they were compiled. For example, the number of Macs with
gmp installed is minuscule. The default should be to build programs
that run everywhere with minimal hassle (not programs that save some
space, but are unusable on most computers).
My understanding was that one major reason to dynamically link against
GMP is to satisfy the LGPL, not just to save disk space. I found a
couple old but relevant posts by Wolfgang Thaller, who originally
created HaskellSupport.framework (now GMP.framework):
http://www.haskell.org/pipermail/glasgow-haskell-users/2002-June/003494.html
http://www.haskell.org/pipermail/cvs-ghc/2005-March/023769.html
The gist of those posts is the following:
- Statically linking against GMP puts extra license requirements on
any ghc-compiled program; thus, dynamic linking is preferable.
Dynamic linking is preferable, because it is the simplest way to
comply with the LGLP (specifically, Section 4(d)) in a closed-source
program. However, it is incorrect to say that static linking leads to
extra license requirements. All that is required is to enable users
to use the program with a modified version of the GMP. There are two
simple ways of doing that: (a) provide access to the .o files of your
program so that they can statically link with a different version of
the GMP or (b) to provide a version of the program linking GMP
dynamically alongside the statically linked version.
In any case, no change of the closed-source program's licence is
required.
Besides, it is far from clear whether the distinction between static
and dynamic linking is legally sound: http://www.oslawblog.com/2005/01/static-linking-gpl-and-lgpl.html
- On OS X, installing new frameworks is very easy (just drag-and-drop
the framework into ~/Library/Frameworks or /Library/Frameworks; the
former doesn't even need admin privileges). This doesn't seem like
much to ask of users.
I think it is. It means, Haskell programs are more hassle to install
than, say, C programs.
Manuel
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users