wxHaskell News

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.

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

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.

mfreeze

April 19, 2012 at 2:58 am

Thanks, that fixed the build problem. I’ve got a test program working with GHC but note that:

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 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.

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…