On Wed, Nov 19, 2008 at 1:28 AM, Manuel M T Chakravarty <[EMAIL PROTECTED]> wrote: > Jason Dagit: > > On Wed, Nov 5, 2008 at 5:36 PM, Manuel M T Chakravarty > <[EMAIL PROTECTED]> wrote: >> >> Ian Lynagh: >>> >>> On Tue, Nov 04, 2008 at 09:02:12PM -0500, Brandon S. Allbery KF8NH wrote: >>>> >>>> On 2008 Nov 4, at 20:26, Jason Dagit wrote: >>>>> >>>>> On Tue, Nov 4, 2008 at 4:26 PM, Manuel M T Chakravarty >>>>> <[EMAIL PROTECTED]> wrote: >>>>>> >>>>>> Are you sure it does deinstall the 6.8 compiler? >>>>>> >>>>>> After installing 6.10, there should be a 608/ and a 610/ >>>>>> directory. This >>>>>> certainly happens on my Mac and I am not aware of an option to >>>>>> change that >>>>>> behaviour. >>>> >>>> I expect if you used the OSX installer then /Library/Receipts is >>>> screwing you (it wipes the old files listed in the .bom file). Try >>>> finding and removing the receipt directory and bom file before >>>> installing. >>> >>> The only file I can see that looks relevant is >>> /Library/Receipts/boms/org.haskell.glasgowHaskellCompiler.ghc.pkg.bom >>> >>> Wouldn't removing it make uninstall impossible? >>> >>> In fact, if you did manage to get 2 versions installed, how would >>> /Library/Frameworks/GHC.framework/Tools/Uninstaller >>> know which version to uninstall? Wouldn't it only know how to uninstall >>> the version it came with? I'd suggest that the overlapping file >>> "Uninstaller" could be why the older version gets removed, but that >>> wouldn't explain why Manuel can install both at once. >> >> A current limitation of the MacOS package system is that it does not >> support uninstalling of packages; cf >> >> >> >> http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/Managed_Installs/chapter_5_section_7.html#//apple_ref/doc/uid/10000145i-CH6-DontLinkElementID_29 >> >> This is not a big drama on MacOS, as MacOS encourages the distribution of >> software packages as "bundles": >> >> >> >> http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/CFBundles.html >> >> This essentially means that instead of sprinkling files all over the file >> system (as is common in other OSes), MacOS applications and frameworks >> (Mac-speak for libraries) are kept in a single directory. Uninstalling then >> means doing an rm -rf on that directory. >> >> Unfortunately, some applications (including GHC and Apple's Xcode IDE) >> can't be entirely contained in a single directory. In the case of GHC, we >> want symlinks in /usr/bin. The established way of uninstalling such >> applications is by supplying an Uninstaller script, just as I did for GHC. >> (Apple does the same for Xcode.) >> >> The purpose of the Uninstaller script is too completely remove >> GHC.framework from a machine - not just to remove one version. In fact, if >> more than one version of GHC is installed, the Uninstaller will refuse to >> run and require the manual removal of all versions, but the current (easily >> achieved by a "rm -rf >> /Library/Frameworks/GHC.framework/Versions/<version>"). The main feature of >> the Uninstaller script is to get rid of all symlinks pointing into >> GHC.framework. The framework itself is just deleted by a "rm -rf" as >> expected. (It also removes the above mentioned receipt file.) >> >> So, to directly answer the above questions: >> * The package manger (which uses the receipts) can't uninstall and the >> uninstaller script doesn't need the receipt. So, even after deleteing the >> receibt, you can still uninstall. >> * The Uninstaller can uninstall any version (at least as long as no >> symlinks are put into new directories outside of the bundle that the >> Uninstaller doesn't know about). > > Is there an update on this thread? I would still like to have my cake and > eat it too, meaning ghc 6.8.3 and ghc 6.10.1. As far as I know the > installer hasn't been updated and if I try again I will lose my copy of > 6.8.3. > > Sorry, but for the moment, my (rather limited knowledge) of the > MacOS packaging system is exhausted, and currently I don't have the time to > search the web or experiment to try to learn more. It would be helpful to > have the input of somebody who has more experience with MacOS packages. > Manuel
Okay. That's fine, the OSX installer system sounds odd. I don't want to fight with it myself. I just want to upgrade ghc and I was getting pressure to do so and I tried the .tar.bz version, but I had some annoying experiences that I can share. So, the page here: http://www.haskell.org/ghc/download_ghc_6_10_1.html#macosxintel Has only this as installation instructions: This is a binary distribution for Mac OS X 10.5 (Leopard), prepared by Christian Maeder. It needs libedit.2.dylib, libncurses.5.dylib and libgmp.3.dylib under /opt/local/lib/. I had no idea how to do the install or how to satisfy the requirements. By pestering others I learned that you install libraries into /opt/local using MacPorts. The next challenge was learning what to do with the .tar.bz file once it was downloaded. I found an INSTALL file inside the tarball with some instructions thankfully. I wish the download page said something about this. It was quite a mystery. I only looked in the tarball because I was frustrated. I don't like downloading and untarring things if i don't know what to expect inside them. But, I still think I did something wrong because the first thing I tried to build with 6.10 complained that -lgmp was not found. I have checked, it's installed and I saw the ./configure script for the 6.10 installation find it. Quite baffling. I guess I'm stuck on 6.8.3 for a while longer. Jason _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users