text-icu on Windows

Hello café: I'd very much like to get text-icu working on Windows, as then I could ship pandoc binaries that do proper unicode collation in bibliographies. But I'm having a devil of a time. This may be due to my very limited Windows knowledge. Any help would be appreciated, especially from someone who actually has text-icu working on Windows. I was able to cabal install text-icu without errors. I used --extra-lib-dirs and --extra-include-dirs to point to the lib and include directories in the 32-bit binary distribution of icu4c. I'm using the latest Haskell Platform, 2012.4.0.0 with ghc 7.4.2. I was also able to build the following simple program that uses text-icu, by doing ghc --make icu.hs: ~~~ -- icu.hs import Data.Text.ICU main = print $ Locale "tr-TR" ~~~ No errors or warnings in either of these steps. But when I try to run the compiled program, icu.exe, I get no output at all. I expected to get a line with 'Locale "tr-TR"', but instead I get nothing -- not even an error or warning. This remains the case if I try ~~~ main = do print "Start" print $ Locale "tr-TR" print "Done" ~~~ 'echo $?' yields False. Any ideas? John (I've posted a similar question to StackOverflow [1], but it hasn't gotten an answer yet there, so I thought I'd try here.) [1]: http://stackoverflow.com/questions/16127710/how-do-i-get-text-icu-working-on...)

Hi John,
I just tried this out and if I copied all of the .dll files from the icu4c
bin folder into the same folder as the test icu.exe it works as expected.
You can see what dlls are missing with the dependency walker program
http://www.dependencywalker.com/. Perhaps with a mingw based build of
icu4c (the one I used said it was built with Visual Studio 10) you could
avoid this.
Ryan Yates
On Sat, Apr 27, 2013 at 4:56 PM, John MacFarlane
Hello café:
I'd very much like to get text-icu working on Windows, as then I could ship pandoc binaries that do proper unicode collation in bibliographies. But I'm having a devil of a time. This may be due to my very limited Windows knowledge. Any help would be appreciated, especially from someone who actually has text-icu working on Windows.
I was able to cabal install text-icu without errors. I used --extra-lib-dirs and --extra-include-dirs to point to the lib and include directories in the 32-bit binary distribution of icu4c. I'm using the latest Haskell Platform, 2012.4.0.0 with ghc 7.4.2.
I was also able to build the following simple program that uses text-icu, by doing ghc --make icu.hs:
~~~ -- icu.hs import Data.Text.ICU main = print $ Locale "tr-TR" ~~~
No errors or warnings in either of these steps. But when I try to run the compiled program, icu.exe, I get no output at all. I expected to get a line with 'Locale "tr-TR"', but instead I get nothing -- not even an error or warning. This remains the case if I try
~~~ main = do print "Start" print $ Locale "tr-TR" print "Done" ~~~
'echo $?' yields False.
Any ideas?
John
(I've posted a similar question to StackOverflow [1], but it hasn't gotten an answer yet there, so I thought I'd try here.)
[1]: http://stackoverflow.com/questions/16127710/how-do-i-get-text-icu-working-on... )
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Also note that running in the console produces no error message, but
running by double-clicking from explorer does produce an error message that
specifies one of the missing dlls:
---------------------------
icu.exe - System Error
---------------------------
The program can't start because icuin51.dll is missing from your
computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------
Ryan Yates
On Sat, Apr 27, 2013 at 7:53 PM, Ryan Yates
Hi John,
I just tried this out and if I copied all of the .dll files from the icu4c bin folder into the same folder as the test icu.exe it works as expected. You can see what dlls are missing with the dependency walker program http://www.dependencywalker.com/. Perhaps with a mingw based build of icu4c (the one I used said it was built with Visual Studio 10) you could avoid this.
Ryan Yates
On Sat, Apr 27, 2013 at 4:56 PM, John MacFarlane
wrote: Hello café:
I'd very much like to get text-icu working on Windows, as then I could ship pandoc binaries that do proper unicode collation in bibliographies. But I'm having a devil of a time. This may be due to my very limited Windows knowledge. Any help would be appreciated, especially from someone who actually has text-icu working on Windows.
I was able to cabal install text-icu without errors. I used --extra-lib-dirs and --extra-include-dirs to point to the lib and include directories in the 32-bit binary distribution of icu4c. I'm using the latest Haskell Platform, 2012.4.0.0 with ghc 7.4.2.
I was also able to build the following simple program that uses text-icu, by doing ghc --make icu.hs:
~~~ -- icu.hs import Data.Text.ICU main = print $ Locale "tr-TR" ~~~
No errors or warnings in either of these steps. But when I try to run the compiled program, icu.exe, I get no output at all. I expected to get a line with 'Locale "tr-TR"', but instead I get nothing -- not even an error or warning. This remains the case if I try
~~~ main = do print "Start" print $ Locale "tr-TR" print "Done" ~~~
'echo $?' yields False.
Any ideas?
John
(I've posted a similar question to StackOverflow [1], but it hasn't gotten an answer yet there, so I thought I'd try here.)
[1]: http://stackoverflow.com/questions/16127710/how-do-i-get-text-icu-working-on... )
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Ryan, Many thanks for your reply. I was assuming ghc would statically link against the library files instead of relying on the dll's. I will see if I can build the library from source under mingw. An alternative would be to distribute the needed dlls with the binary. John +++ Ryan Yates [Apr 27 13 19:53 ]:
Hi John,
I just tried this out and if I copied all of the .dll files from the icu4c bin folder into the same folder as the test icu.exe it works as expected. You can see what dlls are missing with the dependency walker program[1]http://www.dependencywalker.com/. Perhaps with a mingw based build of icu4c (the one I used said it was built with Visual Studio 10) you could avoid this.
Ryan Yates On Sat, Apr 27, 2013 at 4:56 PM, John MacFarlane <[2]jgm@berkeley.edu> wrote:
Hello caf: I'd very much like to get text-icu working on Windows, as then I could ship pandoc binaries that do proper unicode collation in bibliographies. But I'm having a devil of a time. This may be due to my very limited Windows knowledge. Any help would be appreciated, especially from someone who actually has text-icu working on Windows. I was able to cabal install text-icu without errors. I used --extra-lib-dirs and --extra-include-dirs to point to the lib and include directories in the 32-bit binary distribution of icu4c. I'm using the latest Haskell Platform, 2012.4.0.0 with ghc 7.4.2. I was also able to build the following simple program that uses text-icu, by doing ghc --make icu.hs: ~~~ -- icu.hs import Data.Text.ICU main = print $ Locale "tr-TR" ~~~ No errors or warnings in either of these steps. But when I try to run the compiled program, icu.exe, I get no output at all. I expected to get a line with 'Locale "tr-TR"', but instead I get nothing -- not even an error or warning. This remains the case if I try ~~~ main = do print "Start" print $ Locale "tr-TR" print "Done" ~~~ 'echo $?' yields False. Any ideas? John (I've posted a similar question to StackOverflow [1], but it hasn't gotten an answer yet there, so I thought I'd try here.) [1]: [3]http://stackoverflow.com/questions/16127710/how-do-i-get-text-icu -working-on-windows) _______________________________________________ Haskell-Cafe mailing list [4]Haskell-Cafe@haskell.org [5]http://www.haskell.org/mailman/listinfo/haskell-cafe
References
1. http://www.dependencywalker.com/ 2. mailto:jgm@berkeley.edu 3. http://stackoverflow.com/questions/16127710/how-do-i-get-text-icu-working-on... 4. mailto:Haskell-Cafe@haskell.org 5. http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Sat, 27 Apr 2013 22:56:32 +0200, John MacFarlane
Hello café:
I'd very much like to get text-icu working on Windows, as then I could ship pandoc binaries that do proper unicode collation in bibliographies. But I'm having a devil of a time. This may be due to my very limited Windows knowledge. Any help would be appreciated, especially from someone who actually has text-icu working on Windows.
I was able to cabal install text-icu without errors. I used --extra-lib-dirs and --extra-include-dirs to point to the lib and include directories in the 32-bit binary distribution of icu4c.
You don't need to change the .cabal file, if you specify the paths to the libraries and header files in environment variables, see: http://www.haskell.org/haskellwiki/Windows#Tools_for_compilation If there are DLLs missing, you can find out which, using cygcheck from the Cygwin project. Note, that you will get problems if you have both MinGW and Cygwin in your search path; it is best to specify the full path to cygcheck.exe, or copy cygcheck.exe to some location in the search path. Regards, Henk-Jan van Tuyl -- http://Van.Tuyl.eu/ http://members.chello.nl/hjgtuyl/tourdemonad.html Haskell programming --
participants (3)
-
Henk-Jan van Tuyl
-
John MacFarlane
-
Ryan Yates