Distributing a GHC-compiled binary for Macs (x86)

Hi, I compiled a binary using GHC 6.6 on my Mac (specifically, using ghc --make). This binary seems to depend on the GNU MP framework--I imagine GHC uses it to implement its numeric tower. However, Macs that don't have GHC installed don't seem to have GMP, so I'll guess that it was installed along with the GHC binary. Is there any way to get around this GMP dependency? I expect the binary to be used on Macs that don't have GHC installed. It would be acceptable if I instructed Mac-users to download a binary installer for GMP, but I haven't been able to find one. Any hints or suggestions would be appreciated. Thanks. Arjun

Arjun Guha wrote:
I compiled a binary using GHC 6.6 on my Mac (specifically, using ghc --make). This binary seems to depend on the GNU MP framework--I imagine GHC uses it to implement its numeric tower.
However, Macs that don't have GHC installed don't seem to have GMP, so I'll guess that it was installed along with the GHC binary. Is there any way to get around this GMP dependency?
Indeed, GMP is used to implement 'Integer's and there's no way around. That being said, there is ongoing discussion on how to replace it with a different arbitrary precision arithmetic library, mostly for licensing reasons. GMP is LGPL.
I expect the binary to be used on Macs that don't have GHC installed. It would be acceptable if I instructed Mac-users to download a binary installer for GMP, but I haven't been able to find one.
Some years ago, I think I remember that there was a "Haskell Support" framework for GHC compiled executables or something like that in a binary installer prepared by Wolfgang Thaller. I'm unsure whether such a thing exists today, but it certainly suggests itself as a solution: I'd get/compile a framework with libgmp inside and convince GHC via -framework to use that as gmp. Regards, apfelmus

Arjun Guha schrieb:
Hi,
I compiled a binary using GHC 6.6 on my Mac (specifically, using ghc --make). This binary seems to depend on the GNU MP framework--I imagine GHC uses it to implement its numeric tower.
However, Macs that don't have GHC installed don't seem to have GMP, so I'll guess that it was installed along with the GHC binary. Is there any way to get around this GMP dependency? I expect the binary to be used on Macs that don't have GHC installed. It would be acceptable if I instructed Mac-users to download a binary installer for GMP, but I haven't been able to find one.
Any hints or suggestions would be appreciated. Thanks.
We tell our users to install a GMP.framework and a GNUreadline.framework: http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets... Cheers Christian

(move a discussion to glasgow-haskell-users) Macs that don't have GHC installed don't seem to have readline-5 installed, either. Therefore we've created that GNUreadline.framework (see below). However, the binary that one wants to distribute must be linked against that framework. We do this by adding linker options to ghc: -optl-F/home/maeder/Library/Frameworks -optl-framework -optlGNUreadline We have also created a binary distribution (for powerpc, though) that uses our GNUreadline.framework. For this we've changed libraries/readline/config.mk manually: LD=/usr/bin/ld -F/home/maeder/Library/Frameworks -framework GNUreadline SRC_HC_OPTS += -optc-I/home/maeder/Library/Frameworks/GNUreadline.framework/Headers -optl-F/home/maeder/Library/Frameworks -optl-framework -optlGNUreadline SRC_HSC2HS_OPTS += -I/home/maeder/Library/Frameworks/GNUreadline.framework/Headers The binary distribution is here: http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets... We think, that such a GNUreadline.framework is more flexible and mac-like than installing readline-5 under /opt/local. The framework can reside under /System/Library/Frameworks but also under $HOME/Library/Frameworks. Maybe you could consider making such a distribution (that also doesn't need root permission) as well? The sources and the script to create the GNUreadline framework are included: http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets... Cheers Christian Christian Maeder schrieb:
Arjun Guha schrieb:
Hi,
I compiled a binary using GHC 6.6 on my Mac (specifically, using ghc --make). This binary seems to depend on the GNU MP framework--I imagine GHC uses it to implement its numeric tower.
However, Macs that don't have GHC installed don't seem to have GMP, so I'll guess that it was installed along with the GHC binary. Is there any way to get around this GMP dependency? I expect the binary to be used on Macs that don't have GHC installed. It would be acceptable if I instructed Mac-users to download a binary installer for GMP, but I haven't been able to find one.
Any hints or suggestions would be appreciated. Thanks.
We tell our users to install a GMP.framework and a GNUreadline.framework:
http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets...
Cheers Christian
participants (3)
-
apfelmus@quantentunnel.de
-
Arjun Guha
-
Christian Maeder