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.

5 thoughts on “wxHaskell News”

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

    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.

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

  2. I’m glad that you are at least working now with wxHaskell when compiling with GHC.

    mfreeze :

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

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

Leave a reply to Guthrie Cancel reply