diff options
author | Joey Hess <joey@kitenet.net> | 2014-02-27 11:34:06 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-02-27 11:34:06 -0400 |
commit | 4e87ee48ed863ad2124c1559a1c5307a3c224a27 (patch) | |
tree | c88f70074588513fb0c2452b4ed0b94a490c7730 | |
parent | 13e5c0b6fdab54658e074f2c2fd600109fa6888a (diff) |
much less hacky windows XMPP library deps install method
-rw-r--r-- | doc/todo/windows_support.mdwn | 64 |
1 files changed, 11 insertions, 53 deletions
diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn index 154e90da7..169d4e5b8 100644 --- a/doc/todo/windows_support.mdwn +++ b/doc/todo/windows_support.mdwn @@ -49,57 +49,15 @@ now! --[[Joey]] ## trying to build XMPP - Trying to install the deps, using libs from cygwin. Cabal can be used - with some hacking: +1. gnutls-$LATEST.zip from <http://josefsson.org/gnutls4win/> +2. pkg-config from + <http://sourceforge.net/projects/pkgconfiglite/files/latest/download?source=files> +3. libxml2 from mingw: + <http://sourceforge.net/projects/mingw/files/MSYS/Extension/libxml2/libxml2-2.7.6-1/> + both the -dll and the -dev +3. gsasl from <ftp://alpha.gnu.org/gnu/gsasl/> +3. gnuidn from <ftp://ftp.gnu.org/gnu/libidn/libidn-1.28-win32.zip> +3. Extract all the above into the Haskell platform's mingw directory. Note + that pkg-config needs to be moved out of a named subdirectory. +4. Run in DOS prompt (not cygwin!): cabal install gnutls libxml-sax gsasl gnuidn network-protocol-xmpp - cabal unpack libxml-sax - cd libxml-sax-* - cabal configure --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\libxml2 - cabal build || true - cabal copy - cabal register - - cabal unpack gnutls - cd gnutls-* - cabal configure --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\ - cabal build || true - cabal copy - cabal register - - # get mingw x86 gasal zip from <ftp://alpha.gnu.org/gnu/gsasl/> and unpack - # into the Haskell platform's mingw directory. - cabal unpack gsasl - cd gsasl-* - cabal configure --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\ - cabal build || true - cabal copy - cabal register --gen-pkg-config - grep -v /home/jas gsasl*.conf > hacked.conf - ghc-pkg update hacked.conf --global --user --force - - Cannot get haskell gnuidn binding to link. Workaround: It's not hard to hack - network-client-xmpp to not use gnuidn. - - dlls don't get found when building git-annex, - at TH link time. Worked around by copying /usr/bin/cyggnutls-28.dll to - ./gnutls.dll, and the same for several others. Note that gsasl has - to be copied from where it was installed in ming2/bin/libgsasl-7.dll - to gsasl.dll (the libgsasl.dll from cygwin won't work). - - Loading package gnutls-0.1.5 ... linking ... done. - Loading package gsasl-0.3.5 ... linking ... ghc.exe: unable to load package `gsasl-0.3.5' - ghc.exe: C:\Documents and Settings\me\Application Data\cabal\gsasl-0.3.5\ghc-7.6.3\HSgsasl-0.3.5.o: unknown symbol `_gsasl_client_start' - - Current problem: - - GHCi runtime linker: fatal error: I found a duplicate definition for symbol - _adler32 - whilst processing object file - C:\cygwin\lib\libz.a - - I think this means I can't use the cygwin libs, and need to get mingw - builds of gnutls and libxml2 instead. - - TODO: Try <http://josefsson.org/gnutls4win/>, and libxml2 from mingw, - and pkg-config from <http://www.gtk.org/download/win32.php> or - <http://sourceforge.net/projects/pkgconfiglite/files/latest/download?source=files> |