From: Conal E. <co...@co...> - 2012-07-03 16:48:14
|
Worked for me. Thanks very much, Henry! -- Conal On Mon, Jul 2, 2012 at 6:31 PM, Henry Lockyer <hen...@nt...>wrote: > Dear wxHaskell users / aspiring users, > > These are a few notes from getting a working 64bit installation of > wxHaskell on Mac OS in case they are of any use to anyone. > > - This is for a 64-bit configuration starting from having 64-bit ghc 7.0.4 > (HP 2011.4.0.0 64) > > - Mac os 10.6.8 snow leopard (with xcode 3.2.6) > > (This is not currently listed as a "known working configuration" at > http://www.haskell.org/haskellwiki/WxHaskell/MacOS_X ) > > wxHaskell version issue: > There is a linking problem with using the current wxc-0.90.0.3 and > wxcore-0.90.0.1 from Hackage. > They install ok but ghci throws a load of 'undefined symbols' when > compiling from haskell using wxcore or wx . > Thanks to Jeremy O'D. for identifying that the problem should disappear > again in the latest development versions, > which I got from: https://github.com/jodonoghue/wxHaskell > > So the following installation was completed: > > 1. wxWidgets 2.9.3 > -----> installed globally (as dylib) in /usr/local... > > 2. cabal-macosx-0.2.2 (cabal install from Hackage) > 3. wxdirect-0.90.0.1 (cabal install from Hackage) > 4. wxc-0.90.0.4 <===<<< Development version from Github > 5. wxcore-0.90.0.3 <===<<< Development version from Github > 6. wx-0.90.0.1 (cabal install from Hackage) > (plus some additional dependency packages pulled in by cabal not shown) > > > wxWidgets > ======== > Stayed with wxWidgets 2.9.3 as being the current advertised 'stable' > development release. > > 2.9 needed with wxHaskell 0.90 for 64bit. > > homebrew/macports may offer a convenient alternative approach to getting > wxWidgets. > I'm not familiar with these and don't have either installed so I just > built wxWidgets myself as follows: > > Downloaded direct from http://wxWidgets.org/downloads/#latest_dev page > (tar.bz2) to a local > user directory. > > Configure to avoid any potential problems that may arise from > https://github.com/jodonoghue/wxHaskell/issues/2 > by temporarily editing out all inclusions of the QuickTime framework in > the "configure" script file in the top level wxWidgets > directory (only two places, simplest just to remove in both cases). > > - A response to a wxWidgets forum post suggested that the mac-related > stuff is developing all the time and > advocated pulling the latest widgets development build, but I stuck to > 2.9.3 in the interests of stability. > - Another small potential advantage to taking the latest widgets > development build may be getting changeset 71086 > which aims to stop the inclusion of the QuickTime framework for > i86_64-ONLY widgets builds. > > Mac Snow-Leopard evidently (usually) comes with wxWidgets 2.8 > pre-installed. > I didn't want to alter the default Mac pre-installed stuff as far as > possible, so adopted a configuration which left the > 2.8 libraries installed and only disabled the 2.8 "wxrc" and "wx-config" > executables in the path. > > If you want to check in advance for unlikely clashes with pre-existing > stuff, then check /usr/local/lib where the dylib files > "libwx_osx_cocoau_*" and a "wx" directory will be placed. > /usr/local/bin will get new "wx-config" and "wxrc*" > > Assuming my setup is standard, wx-config for 2.8 should be found in the > path at /usr/bin/wx-config and is a symlink to > the main 2.8 stuff which is in /usr/lib so simply remove this link: > $ sudo rm -iv /usr/bin/wx-config > > There is also wxrc which is a link to wxrc-2.8 in the same directory, so > remove the link but leave wxrc-2.8 there: > $ sudo rm -iv /usr/bin/wxrc > > (These links can then simply re-created to re-instate path access to the > 2.8 executables if wanted again in the future.) > > Create and cd to suitably named wxWidgets build subdirectory, then: > > $ ../configure --enable-macosx_arch=x86_64 --enable-unicode > --disable-debug --with-osx_cocoa --enable-stc --enable-aui > --enable-propgrid --enable-xrc --enable-ribbon --enable-richtext > --enable-webkit --with-opengl > + > $ make > + > $ sudo make install > > (/usr/local is the default prefix in "configure") > > Check with command: > > $ wx-config --list > > Default config is osx_cocoa-unicode-2.9 > ... > > $ wx-config --version > 2.9.3 > > > Further checks: > > 1. cd to the wxWidgets samples and demos folders and "$ make" in each to > check the samples and demos are working plausibly > (I found a couple of odd things but generally were working). > > 2. Build "minimal.cpp" from https://github.com/kowey/debug-wx > > > wxHaskell > ======== > > Dependency chain wx -> wxcore -> wxc -> wxdirect > > Note: this is for a local user install. > > get master commit Merge branch 'GHCI_FIX_BRANCH'<https://github.com/jodonoghue/wxHaskell/commit/1d6cff7be5b36032d85f068ea0266ec9da910298> > (at time of writing) eg. via CloneInMac > at https://github.com/jodonoghue/wxHaskell > > wxdirect & cabal-macosx > ----------------------------- > > $ cabal install wxdirect cabal-macosx > > wxc > ----- > > cd to "wxc" folder of local copy from github > > The following configure parameters are based on > http://www.haskell.org/haskellwiki/Mac_OS_X_Common_Installation_Paths > but with an amendment to docdir to bring it in line with my local cabal > config. > > > $ runhaskell Setup configure --user > --prefix=/Users/<YOURSELF>/Library/Haskell/ghc-7.0.4/lib/wxc-0.90.0.4 > --libsubdir= --datasubdir= > --docdir=/Users/<YOURSELF>/Library/Haskell/ghc-7.0.4/lib/wxc-0.90.0.4/doc > + > $ runhaskell configure build > + > $ runhaskell configure install > > wxcore > -------- > > $ runhaskell Setup configure --user > --prefix=/Users/<YOURSELF>/Library/Haskell/ghc-7.0.4/lib/wxcore-0.90.0.3 > --libsubdir= --datasubdir= > --docdir=/Users/<YOURSELF>/Library/Haskell/ghc-7.0.4/lib/wxcore-0.90.0.3/doc > + > $ runhaskell configure build > + > $ runhaskell configure install > > > checks > -------- > Build wxcore "HelloWorld.hs" from https://github.com/kowey/debug-wx > Wrap it with the macosx-app command. > Enjoy. > > Note: It may start with the window positioned out of sight below left hand > corner of the screen, don't miss it! > > wx > --- > This should have been a simple "cabal install wx" but for some strange > reason I got: > > src/Graphics/UI/WX/Draw.hs:33:8: > Could not find module `Graphics.UI.WXCore': > Perhaps you haven't installed the profiling > libraries for package `wxcore-0.90.0.3'? > Use -v to see a list of the files searched for. > cabal: Error: some packages failed to install: > wx-0.90.0.1 failed during the building phase. The exception > was: > ExitFailure 1 > > > $ cabal install wx --disable-library-profiling > > ...seems to solve it. > > checks > -------- > Build wx "HelloWorld.hs" from https://github.com/kowey/debug-wx > > > Final Caveat > ========= > I have so far only compiled and run simple 'helloworld' type programs > using wxcore and wx, so not more widely tested yet. > > > YMMV/ Henry > > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > wxhaskell-users mailing list > wxh...@li... > https://lists.sourceforge.net/lists/listinfo/wxhaskell-users > > |