Closed conklech closed 9 years ago
It's not only about windows: on osx, icu is not present on the system by default neither. No "explicit" explication is given about why some dependencies fails to install, and in order to setup stack-ide, one has to:
--extra-include-dirs=
and --extra-lib-dirs=
Sorry, I didn't realize text-icu was a troublesome dependency. I'll just drop the message annotation stuff entirely - something I'd been thinking about doing anyway because it's just too darn inconsistent, and getting it right would take a lot of work. Ought to just wait for GHC to yield meaningful message annotations.
Removed! Thanks for bringing up this issue.
big thanks ! :)
Thanks for the quick resolution; I really appreciate how responsive you guys are. I'm glad I posted early; I had been tempted to try to port it to a different library myself.
It's a shame that text-icu
is troublesome; it should be a commonly-used library. I'll try to make a helpful post upstream, but there's not much to be done about it until/unless stack
itself gains some awareness of C dependencies.
Awesome, this caused me a ton of problems when trying to install it on OS X.
On Wed, 5 Aug 2015 at 17:15 Christian Conkle notifications@github.com wrote:
Thanks for the quick resolution; I really appreciate how responsive you guys are. I'm glad I posted early; I had been tempted to try to port it to a different library myself.
It's a shame that text-icu is troublesome; it should be a commonly-used library. I'll try to make a helpful post upstream, but there's not much to be done about it until/unless stack itself gains some awareness of C dependencies.
— Reply to this email directly or view it on GitHub https://github.com/commercialhaskell/stack-ide/issues/41#issuecomment-128055251 .
This is just a note that resolving fpco/ide-backend#279 won't actually make stack-ide buildable on Windows out of the box. I don't request a resolution at the moment; I'm just posting this because I figured it out and didn't want the knowledge to disappear.
Because stack-ide depends on
text-icu
(for the regexes inStack.Ide.AnnotateMessage
), which depends on the ICU C library, the current installation instructions in the README presuppose the availability of that library. On Windows, this is a compound problem without an easy fix (that I know of). Binaries for that library are available from the ICU website (linked fromtext-icu
's README) or via MSYS2 (and probably Cygwin).In either case, the user must pass
--extra-include-dirs=
and--extra-lib-dirs=
on thestack
command line, because there aren't standard library locations on Windows and thetext-icu
package doesn't usepkg-config
to get its cflags. (I would have expected it to just work in MSYS2's MingW shell, but the appropriate directories aren't on the default library search path for some reason.)Furthermore, the ICU DLLs (I'm not sure which ones) need to be made available, either by manually copying them into the same directory as the installed executables or by always running from within a MingW shell. (For security reasons, Windows is very conservative about the DLL search path.)
This could be resolved by documenting a build process (although I don't think there's One Right Way) or by dropping the
text-icu
dependency.