19 Dec 05:54
Re: ANNOUNCE: GHC version 6.8.2
Manuel M T Chakravarty <chak <at> cse.unsw.edu.au>
2007-12-19 04:54:20 GMT
2007-12-19 04:54:20 GMT
Judah Jacobson: > On Dec 17, 2007 5:58 PM, Manuel M T Chakravarty > <chak <at> cse.unsw.edu.au> 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
RSS Feed