A great deal has happened in wxHaskell land over the past few weeks, so I thought a summary was worthwhile
wxHaskell 0.90 Released
A significant update to wxHaskell was released on April 14th. This brings in all of the work done by Dave Tapley, Eric and many others to provide support for wxWidgets 2.9.
Supporting wxWidgets 2.9 is important for quite a number of reasons – not least because at some point it will become wxWidgets 3.0 and will be the new stable version. However in the short term the main benefit is support for 64bit OS platforms – notably MacOS X Snow Leopard and Lion.
The slightly odd version numbering convention was chosen to allow wxHaskell 0.13 to evolve without being excessively constrained over version numbering. In any case, it would be nice to get to version 1.0 at some time soon – perhaps when wxWidgets 3.0 is released.
Most of the future wxHaskell development effort will go on the new branch.
wxHaskell 0.13 Branch Created
On many systems, particularly almost all Linux distributions, wxWidgets 2.8.x remains the standard ‘package’ for wxWidgets, so we continue to support this for those who would prefer to use the packages provided by their distro. It also allows Windows users without C++ development environments to use the wxPack binary installers for wxWidgets.
Experimental GitHub Repository
I have created an experimental GitHub repository. It is right up to date at the time of writing and contains two active branches: master is the wxWidgets 2.9 repo and WXWIDGETS_2_8 is (unsurprisingly) the wxWidgets 2.8 branch.
I’m especially interested in feedback on whether moving definitively to GitHub would be a good thing – the main criteria for judgement being whether it makes it easier to receive contributions from others.
So far I have been unable to install wxc-0.90.0.2 on Windows XP. I’ve got Haskell Platform 2011.4.0.0 on this machine and have pretty much followed your instructions referenced above for Windows 7. wxWidgets 2.9.3 seemed to build ok following the instructions from http://www.haskell.org/haskellwiki/WxHaskell/2.9. I have set the environment variables as described here: http://www.haskell.org/haskellwiki/WxHaskell/0.90.
“cabal install wxc –user” results in the following error:
Configuring wxc-0.90.0.2…
Configuring wxc to build against wx 2.9
setup.exe: Missing dependencies on foreign libraries:
* Missing C libraries: wxmsw29ud_all, wxtiffd, wxjpegd, wxpngd, wxzlibd,
wxregexud, wxexpatd, wxregexud
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.
cabal: Error: some packages failed to install:
wxc-0.90.0.2 failed during the configure step. The exception was:
ExitFailure 1
Any thoughts?
I think the clue is in the wxmsw29ud_all library. This does not actually exist in any wxWidgets configuration I know of. It is an error I used to see with the version of wx-config which works with wxWidgets 2.9.
If you have Visual Studio or MinGW installed, you can compile the version in Darcs. Otherwise, I have just uploaded a new pre-compiled version to Sourceforge, as some have had problems with missing libraries on the previous version (the new one is statically linked). You will find it at https://sourceforge.net/projects/wxhaskell/files/wx-config-win/
Please let me know how you get on.
Thanks, that fixed the build problem. I’ve got a test program working with GHC but note that:
1. attempt to invoke under ghci results in:
Loading package wxc-0.90.0.2 … : uuid: The specified module could
not be found.
can’t load .so/.DLL for: uuid (addDLL: could not load DLL)
2. had to copy wxc.dll from ..\AppData\Roaming\cabal\wxc-0.90.0.2\ghc-7.0.4 to the current directory so that it could be found
3. had to add ..\wxWidgets2.9.3\lib\gcc_dll to the path so those DLLs could be found
I’m glad that you are at least working now with wxHaskell when compiling with GHC.
I know about 2) and 3). It’s difficult to know what to do on Windows as there is no ‘standard’ location for putting DLLs, although I agree that it’s not nice. I just haven’t thought of a good way to resolve the issue.
1) is new to me. I’ll look into it.
I have the same error: “Missing dependencies on foreign libraries” and was not clear from your note on how to fix it. I do have the version of wx-config as above, but don’t know how to use it to fix the error…