Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
On 7 March 2012 14:38, Eric Kow eric@gmail.com wrote: Note that this work is very far behind Dave and Jeremy's efforts. I'm hoping it'll eventually be obsolete in some future when we've merged everything we need to merge. I'm in the process of trying to pull this all together. One piece of good news is that I have just gotten my hands on a MacBook Pro with a copy of VMWare Fusion. This means I have all of our supported platforms available to me to test (well, a 32 bit Debian Stable, 64 bit Windows 7 Enterprise and OSX Lion, which is a pretty good cross-section, I think). The less good news is that every attempt I have made to merge Dave's branch with the mainline automatically has failed. I have given up and am doing the merge manually. This will result in identical source code in the end (I'm taking some care over that), but there's a fair chance that I'll miss off some of the check-in comments, although I'm doing my best to follow the order in which work was done on the code. Manual merging is not huge fun, and pretty painstaking, so please bear with me - I want to get it right before I commit anything for wider use. Jeremy -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
This could be the problem that the install-name of a shared library on the mac needs to be set to the correct absolute path to be able to link. I encountered the same problem with the shared library version of wxHaskell from Dave's branch (allowing ghci to work with wx!). That version is working on my mac with wx2.9.3 for Xcode 4.2. I explained the required fixes here : http://sourceforge.net/mailarchive/forum.php?thread_name=CAD3si9i_Hr5J36FanSTwdFHVkRPjxsC5Far0M_Zm5JBdeeKZgg%40mail.gmail.comforum_name=wxhaskell-devel Note that the attachments stop the text from being shown, so see the replies for the actual mails. Kenneth -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
On 9 Mar 2012, at 09:42, Frodo Kenny wrote: This could be the problem that the install-name of a shared library on the mac needs to be set to the correct absolute path to be able to link. I encountered the same problem with the shared library version of wxHaskell from Dave's branch (allowing ghci to work with wx!). That version is working on my mac with wx2.9.3 for Xcode 4.2. I explained the required fixes here : I had forgotten to actually push the modified versions of the patches for wxcore/Setup.hs (and another patch) Basically it was vainly trying to link against libwxmsw29ud_xrc (windows wxWidgets libs) instead of the equivalent Mac versions Not sure if that alone resolves Doaitse's issue though. Sorry for the resulting noise and confusion! -- Eric Kow http://erickow.com signature.asc Description: Message signed with OpenPGP using GPGMail -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
On Mar 7, 2012, at 15:38 , Eric Kow wrote: Sorry, just one more follow-up. 4. I've published my branch at http://darcsden.com/kowey/wxhaskell-osx64 (in the process I've renamed the two WIP patches and simplified the build to only look for wxWidgets 2.9) We have spent a couple of hours now, patching, editing, trying to update etc. 1) We updated Alessandro's brew file to install wxmac2.9.3 2) All cabal files for wx say they only work for 2.8 3) We have added the changes needed for 7.4 (array, Eq, Show etc) 4) When trying to configure wxcore we get: cabal configure --extra-lib-dirs=/usr/local/lib generated 1461 methods for 114 classes. generating: src/haskell/Graphics/UI/WXCore/WxcClassesMZ.hs generated 2326 methods for 123 classes. generating: src/haskell/Graphics/UI/WXCore/WxcClasses.hs generated 3787 total methods for 237 total classes. ok. Configuring wxcore-0.13.1.1... setup: Missing dependencies on foreign libraries: * Missing C libraries: wx_baseu-2.9, wx_baseu_net-2.9, wx_baseu_xml-2.9, wx_osx_cocoau_core-2.9, wx_osx_cocoau_adv-2.9, wx_osx_cocoau_qa-2.9, wx_osx_cocoau_html-2.9, wx_osx_cocoau_webview-2.9, wx_osx_cocoau_xrc-2.9 This problem can usually be solved by installing the system packages that provide these libraries (you may need the -dev versions). If the libraries are already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are. dyn-81-83:wxcore doaitse$ The directory /usr/local/lib contains versions of these files with their names prefixed by lib. 5) We tried to edit Setup.hs in order to prefix the files with this lib, leading to a similar error message; Configuring wxcore-0.13.1.1... setup: Missing dependencies on foreign libraries: * Missing C libraries: libwx_baseu-2.9, libwx_baseu_net-2.9, libwx_baseu_xml-2.9, libwx_osx_cocoau_core-2.9, libwx_osx_cocoau_adv-2.9, libwx_osx_cocoau_qa-2.9, libwx_osx_cocoau_html-2.9, libwx_osx_cocoau_webview-2.9, libwx_osx_cocoau_xrc-2.9 This problem can usually be solved by installing the system packages that provide these libraries (you may need the -dev versions). If the libraries are already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are. How to proceed from here? Doaitse Note that this work is very far behind Dave and Jeremy's efforts. I'm hoping it'll eventually be obsolete in some future when we've merged everything we need to merge. Thanks, Eric On 7 Mar 2012, at 13:31, Eric Kow wrote: 1. I noticed this piece of text from the wxWidgets wiki [wxWidgets]: If you want 64-bit wxWidgets on OS X you'll need 2.9+ and configure -with-osx_cocoa - see below; but remember that 2.9 is not an official, stable release and wxOSX/Cocoa is not yet complete. This means that Lion users (and Snow Leopard with 64 bit GHC) will *have* to use the Cocoa build after all, no choice about it. I'd been using it pretty much for the heck of it, but it turns out to have been a fortunate choice. 2. Doaitse, I'm sorry, it seems your cry for help last October happened before people started trying to use wxHaskell on Lion. Did you see this recent thread with hopefully more of a guide? 3. Otherwise, have not yet had a chance to poke around and see if there is a way to make things work with just one of Jeremy's or Dave's branches. So will be using the patch bundle I mentioned in this email thread until then. -- Eric Kow http://erickow.com -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
Sorry, just one more follow-up. 4. I've published my branch at http://darcsden.com/kowey/wxhaskell-osx64 (in the process I've renamed the two WIP patches and simplified the build to only look for wxWidgets 2.9) Note that this work is very far behind Dave and Jeremy's efforts. I'm hoping it'll eventually be obsolete in some future when we've merged everything we need to merge. Thanks, Eric On 7 Mar 2012, at 13:31, Eric Kow wrote: 1. I noticed this piece of text from the wxWidgets wiki [wxWidgets]: If you want 64-bit wxWidgets on OS X you'll need 2.9+ and configure -with-osx_cocoa - see below; but remember that 2.9 is not an official, stable release and wxOSX/Cocoa is not yet complete. This means that Lion users (and Snow Leopard with 64 bit GHC) will *have* to use the Cocoa build after all, no choice about it. I'd been using it pretty much for the heck of it, but it turns out to have been a fortunate choice. 2. Doaitse, I'm sorry, it seems your cry for help last October happened before people started trying to use wxHaskell on Lion. Did you see this recent thread with hopefully more of a guide? 3. Otherwise, have not yet had a chance to poke around and see if there is a way to make things work with just one of Jeremy's or Dave's branches. So will be using the patch bundle I mentioned in this email thread until then. -- Eric Kow http://erickow.com signature.asc Description: Message signed with OpenPGP using GPGMail -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
Hi, On 7 Mar 2012, at 15:39, S D Swierstra wrote: setup: Missing dependencies on foreign libraries: * Missing C libraries: wx_baseu-2.9, wx_baseu_net-2.9, wx_baseu_xml-2.9, wx_osx_cocoau_core-2.9, wx_osx_cocoau_adv-2.9, wx_osx_cocoau_qa-2.9, wx_osx_cocoau_html-2.9, wx_osx_cocoau_webview-2.9, wx_osx_cocoau_xrc-2.9 Hmm, what does wx-config --libs --cppflags say? For comparison, mine is -I/usr/local/Cellar/wxmac2.9/2.9.2/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/Cellar/wxmac2.9/2.9.2/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -L/usr/local/Cellar/wxmac2.9/2.9.2/lib -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -framework QuickTime -lwx_osx_cocoau_xrc-2.9 -lwx_osx_cocoau_html-2.9 -lwx_osx_cocoau_qa-2.9 -lwx_osx_cocoau_adv-2.9 -lwx_osx_cocoau_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9 I think it's perfectly normal that the filenames are prefixed by 'lib' Is there any chance that you have an old wx-config lying around that's more easily reached than the 2.9 Cocoa one? -- Eric Kow http://erickow.com signature.asc Description: Message signed with OpenPGP using GPGMail -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
Sarah, The good news is that it *can* be done. I know because I'm on Lion, and I'm using wxHaskell. On 25 Feb 2012, at 14:58, Sarah Brofeldt wrote: I've been trying frantically to get a working setup of wxHaskell and wxWidgets on my Mac recently, but to no avail. I was wondering if anyone knows how exactly to go about it. I've tried just about every combination of old and new versions of wxWidgets from homebrew as well as older wxcore releases. How do you do it? The bad news is that it may still involve manually applying some patches (I'm not up to speed about the latest state of wxHaskell) and also installing wxWidgets by hand. Your two challenges are to install the right wxWidgets version with the right set of flags (you want Unicode, for starters), and then to get a version of wxhaskell that works with it. I'm using wxWidgets 2.9, for what it's worth If you use Homebrew, I have a formula for a wxmac2.9 by Alessandro Vermeulen (attached) require 'formula' def build_python?; ARGV.include? --python; end def which_python if ARGV.include? '--system-python' '/usr/bin/python' else 'python' end end class Wxpython Formula url 'http://downloads.sourceforge.net/project/wxpython/wxPython/2.9.2.4/wxPython-src-2.9.2.4.tar.bz2' md5 '8dae829b3bb3ccfe279d5d3948562c5f' end class Wxmac29 Formula url 'http://downloads.sourceforge.net/project/wxwindows/2.9.2/wxWidgets-2.9.2.tar.bz2' homepage 'http://www.wxwidgets.org' md5 'd6cec5bd331ba90b74c1e2fcb0563620' def options [ ['--python', 'Build Python bindings'], ['--system-python', 'Build against the OS X Python instead of whatever is in the path.'] ] end def test_python_arch system arch -i386 #{which_python} --version rescue onoe No python on path or default python does not support 32-bit. puts -EOS.undent Your default python (if any) does not support 32-bit execution, which is required for the wxmac python bindings. You can install the Homebrew python with 32-bit support by running: brew install python --universal --framework EOS exit 99 end def install_wx_python opts = [ # Reference our wx-config WX_CONFIG=#{bin}/wx-config, # At this time Wxmac is installed ANSI only UNICODE=0, # And thus we have no need for multiversion support INSTALL_MULTIVERSION=0, # TODO: see if --with-opengl can work on the wxmac build BUILD_GLCANVAS=0, # Contribs that I'm not sure anyone cares about, but # wxPython tries to build them by default BUILD_STC=0, BUILD_GIZMOS=0 ] Dir.chdir wxPython do system arch, -i386, which_python, setup.py, build_ext, *opts system arch, -i386, which_python, setup.py, install, --prefix=#{prefix}, *opts end end def install test_python_arch if build_python? # Force i386 # %w{ CFLAGS CXXFLAGS LDFLAGS OBJCFLAGS OBJCXXFLAGS }.each do |compiler_flag| # ENV.remove compiler_flag, -arch x86_64 # ENV.append compiler_flag, -arch i386 # end system ./configure, --disable-debug, --disable-dependency-tracking, --prefix=#{prefix}, --enable-unicode, --with-osx_cocoa, --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk # --with-macosx-version-min=10.6 system make install if build_python? ENV['WXWIN'] = Dir.getwd Wxpython.new.brew { install_wx_python } end end def caveats s = -EOS.undent wxWidgets 2.8.x builds 32-bit only, so you probably won''t be able to use it for other Homebrew-installed softare on Snow Leopard (like Erlang). EOS if build_python? s += -EOS.undent Python bindings require that Python be built as a Framework; this is the default for Mac OS provided Python but not for Homebrew python (compile using the --framework option). You will also need 32-bit support for Python. If you are on a 64-bit platform, you will need to run Python in 32-bit mode: arch -i386 python [args] Homebrew Python does not support this by default (compile using the --universal option) EOS end return s end end For the wxHaskell patches, unless somebody from the team obsoletes my message, you should be able to grab them at this old thread http://ur1.ca/8erik and apply them using something like darcs get --lazy http://code.haskell.org/wxhaskell the-patch-you-downloaded.dpatch cd wxhaskell darcs apply -i ~/foo/the-patch-you-downloaded.dpatch See also the NOTES file in the thread. If this helps you get set up, I think it would be fantastic service to your fellow Mac-using
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
Hi, On Mon, Feb 27, 2012 at 4:42 PM, Eric Kow eric@gmail.com wrote: darcs get --lazy http://code.haskell.org/wxhaskell the-patch-you-downloaded.dpatch cd wxhaskell darcs apply -i ~/foo/the-patch-you-downloaded.dpatch Thank you very much, with this process it appears to work, although there are some slight issues with usage. I'll be testing it out a bit before writing an updated guide on the wiki. Thanks again. -- Sarah -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users
Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit
On Mon, 27 Feb 2012, Eric Kow wrote: On 27 Feb 2012, at 15:38, Eric Kow wrote: darcs get --lazy http://code.haskell.org/wxhaskell the-patch-you-downloaded.dpatch cd wxhaskell darcs apply -i ~/foo/the-patch-you-downloaded.dpatch Oops, that's darcs get --lazy REPO --context PATCH The idea is that darcs will then grab REPO and then unapply patches until it's wound its way back to the context that the patch was expecting. This way you avoid thinking about merging or conflicts. Btw. I hope you do not have problems with latest GHC-7.4.1. I did some patches to wxcore-0.12.1.7 in order to let wxhaskell work with GHC-7.4.1. Where shall I send them, since wxhaskell moved to wxWidgets-3.0? I have attached a diff. diff -rN -u old-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs new-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs --- old-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs 2012-02-27 21:40:16.0 +0100 +++ new-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs 2012-02-27 21:40:16.0 +0100 @@ -568,7 +568,7 @@ rectFromSize (Size w h) = Rect 0 0 w h -rectIsEmpty :: (Num a) = Rect2D a - Bool +rectIsEmpty :: (Num a, Eq a) = Rect2D a - Bool rectIsEmpty (Rect l t w h) = (w==0 h==0) @@ -850,7 +850,7 @@ toCChar = castCharToCChar -- generalised to work with Char and CChar -withCharResult :: (Num a, Integral a) = IO a - IO Char +withCharResult :: (Num a, Integral a, Show a) = IO a - IO Char withCharResult io = do x - io if (x 0) diff -rN -u old-wxhaskell-0.12/wxcore/wxcore.cabal new-wxhaskell-0.12/wxcore/wxcore.cabal --- old-wxhaskell-0.12/wxcore/wxcore.cabal 2012-02-27 21:40:16.0 +0100 +++ new-wxhaskell-0.12/wxcore/wxcore.cabal 2012-02-27 21:40:16.0 +0100 @@ -1,5 +1,5 @@ name: wxcore -version: 0.12.1.7 +version: 0.12.1.7.1 license: LGPL license-file: LICENSE author: Daan Leijen @@ -203,7 +203,7 @@ if flag(splitBase) build-depends: - array = 0.2 0.4, + array = 0.2 0.5, base = 4 5, containers = 0.2 0.5 else diff -rN -u old-wxhaskell-0.12/wxdirect/wxdirect.cabal new-wxhaskell-0.12/wxdirect/wxdirect.cabal --- old-wxhaskell-0.12/wxdirect/wxdirect.cabal 2012-02-27 21:40:16.0 +0100 +++ new-wxhaskell-0.12/wxdirect/wxdirect.cabal 2012-02-27 21:40:16.0 +0100 @@ -60,7 +60,7 @@ build-depends: parsec = 2.1.0 4, -time = 1.0 1.3 +time = 1.0 1.5 if flag(splitBase) build-depends: -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2___ wxhaskell-users mailing list wxhaskell-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-users