Personal tools


From HaskellWiki

< WxHaskell(Difference between revisions)
Jump to: navigation, search
(Added 'obsolete' message)
(Removed most of the contents, as it is obsolete)
Line 2: Line 2:
See [[WxHaskell#Documentation]] for up to date instructions
See [[WxHaskell#Documentation]] for up to date instructions
=== Building wxHaskell ===
For all platforms installation is straightforward, provided that:
# wx-config is somewhere in the path
# The WXWIN environment variable points to the root of your wxWidgets installation
# WINDOWS PLATFORMS ONLY:  You may also need to set WXCFG=gcc_dll\mswu
You can then install wxhaskell as follows (''in a Windows cmd.exe shell, not an MSys shell''):
> cabal update
> cabal install wx
Note that on Windows 7 machines, your command window must be running as Administrator, or you must use the '--user' flag to install to a local directory.
Note that on Unix systems, you may prefer something like
> sudo cabal install --global wx
Windows developers who don't update environment variables can do something like this in an MS-DOS shell:
> Set CPLUS_INCLUDE_PATH=C:\MinGW\include\c++\3.4.5;C:\MinGW\include\c++\3.4.5\mingw32\
> Set WXWIN=C:\path\to\wxWidgets-2.9.3
> Set WXCFG=gcc_dll\mswu
> cabal install wx
The Windows installation is global by default.
==== Out of memory errors ====
There have been reports of out of memory errors when compiling wxcore on some machines, notably 64 bit Linux hosts. Wxcore contains some very large auto-generated source files, and increasing the memory available to the GHC runtime can help.
Try something like:
> export GHCRTS='-M512m'
to allocate 512 MB to the GHC RTS. This has been reported to be sufficient.
==== Failure to build Strict ====
There have been reports of the following error when building wxHaskell on Windows (as of 24/4/2012):
C:\>cabal install wxdirect
Resolving dependencies...
Configuring strict-0.3.2...
Preprocessing library strict-0.3.2...
Building strict-0.3.2...
<interno>:0:5: lexical error (UTF-8 decoding error)
cabal: Error: some packages failed to install:
strict-0.3.2 failed during the building phase. The exception was:
ExitFailure 1
wxdirect- depends on strict-0.3.2 which failed to install.
The suggested fix is:
set LANG=C
on the command line before you build. This appears to be a UTF error in the strict library. Configuring this will not stop you from configuring working Unicode support for wxHaskell, as wxDirect is only used for parsing C language header files.
=== Source Release ===
You can obtain a source release of wxHaskell from the [ darcs repository]. Darcs creates a <tt>wxHaskell</tt> directory for you; we assume in the following example that your <tt>$wxHaskell</tt> directory will be <tt>~/dev/wxhaskell</tt>.
<pre>&gt; cd ~/dev
&gt; darcs get --lazy --set-scripts-executable</pre>
If you are building on Windows, you will need the version of wx-config which is
included in the wx-config-win directory. You should put this somewhere in your path.
You then build each of the key components in order:
> cd ~/dev/wxhaskell/wxdirect
> cabal install --user
> cd ../wxc
> cabal install --user
> cd ../wxcore
> cabal install --user
> cd ../wx
> cabal install --user
=== Test wxHaskell ===
If everything succeeded, you should be able to run a test program.
<pre>&gt; cd samples/wx
&gt; ghc -package wx -o helloworld HelloWorld.hs
&gt; ./helloworld</pre>
'''macosx''': wxHaskell programs need to be turned into application bundles before they can be run. Look at the Mac OS X [[WxHaskell/Building_on_MacOS_X|notes]] for more information.
You can also run the examples from GHCi – a great development environment!
<pre>&gt; ghci -package wx BouncingBalls.hs
&gt; main</pre>
wxHaskell programs can be run from GHCi. There are reports that this is now working correctly, at least for Windows and OSX platforms.
'''gtk''': Unfortunately, one can only start a wxWidgets program once with GHCi on GTK (rendering it useless).
'''macosx'''. You need to use a special command to run wxHaskell applications, see the Mac OS X [[WxHaskell/Mac|notes]] from more information.
Have fun!<br />

Latest revision as of 16:30, 8 October 2015

This page is obsolete

See WxHaskell#Documentation for up to date instructions