Skip to content

Fails on Windows w/o MSYS #89

Description

@reverofevil

cabal: The package has a './configure' script. This requires a Unix compatibility toolchain such as MinGW+MSYS or Cygwin.

There are some solutions over the Internet (like this one http://www.haskell.org/pipermail/haskell-cafe/2012-February/099633.html) but none worked for me. MSYS can't connect to mingw installed in the path with spaces in it, which is the default one for Haskell Platform, and which is the only one used by Agda installer.

  1. Wouldn't it be smart to eradicate the use of GNU toolchain to keep the library cross-platform?
  2. If configure is a strictly must-use tool, shouldn't we ask to include MSYS into Haskell Platform with proper default setup?

Activity

  1. tibbe commented on Feb 12, 2013

    @tibbe
    Contributor
    1. Wouldn't it be smart to eradicate the use of GNU toolchain to keep the library cross-platform?

    If it could be made to work, but someone needs to do the work.

    1. If configure is a strictly must-use tool, shouldn't we ask to include MSYS into Haskell Platform with proper default setup?

    The platform does included MSYS (but I'm not sure about the PATH setup) and the network package is already compiled in the distribution so the users don't need to use configure to use the network shipped with the platform.

  2. reverofevil commented on Aug 26, 2016

    @reverofevil
    Author

    @kazu-yamamoto

    The default setup is still wrong. network package is still rendering software unusable on Windows.

    idris-0.12.2 depends on network-2.6.3.1 which failed to install.
    

    I see that now the package is supported by less opinionated person. Could we at least reopen this and mark as a bug?

  3. reverofevil commented on May 28, 2017

    @reverofevil
    Author

    Unlike cabal, stack doesn't have any problems with this package.

    There is no inherent need in unix toolchain. Terrorizing Haskell users on Windows for 4 years is kinda mean.

  4. kazu-yamamoto commented on May 29, 2017

    @kazu-yamamoto
    Collaborator

    @polkovnikov-ph I'm very sorry for your inconvenience. I'm not a right person to tackle this issue because I don't have Windows environment.

    @eborden Do you handle this issue?

    @snoyberg Could you explain why stack does not have this kind of problems.

  5. snoyberg commented on May 29, 2017

    @snoyberg

    Stack was designed to work around this kind of issue by providing a Unix compatible toolchain. My understanding is that the Haskell Platform implemented a similar solution, so I'm not sure why this would be a problem.

  6. reverofevil commented on May 29, 2017

    @reverofevil
    Author

    @kazu-yamamoto I'm very sorry to remind about this issue again, especially as it affects only hobby usage of Haskell on Windows.

    @snoyberg The problem is that Unix compatible toolchains are no fun on Windows, and they tend to fail due to spaces, unicode in paths or just randomly. That's inherent problem of software that was primarily developed on Unix compatible systems. Haskell, on the other hand, makes no assumptions about the system, including POSIX compatibility. That's why having one of the main packages to depend on Unix toolchain is odd, to say the least.

  7. eborden commented on May 30, 2017

    @eborden
    Collaborator

    @polkovnikov-ph I do empathize. I've opened #251 in response. I'd love to better serve Windows users.

  8. reverofevil commented on May 31, 2017

    @reverofevil
    Author

    @eborden I think there's no need in separate Windows maintainer. Once built it works fine, which implies that cbits are already working on Windows properly. The only thing to fix is Setup.hs that calls autoconf tools instead of doing same things in Haskell. It requires (almost) no Windows knowledge to port autoconf code to Haskell.

  9. eborden commented on May 31, 2017

    @eborden
    Collaborator

    @polkovnikov-ph Can you produce a failing test case on appveyor?
    https://github.com/haskell/network/blob/master/appveyor.yml

  10. kazu-yamamoto commented on May 31, 2017

    @kazu-yamamoto
    Collaborator

    @polkovnikov-ph If we have problems unique to Windows (not building stuff), @eborden and I cannot fix them. So, it would be nice if we had a new maintainer.

  11. Mistuke commented on Jan 12, 2018

    @Mistuke
    Collaborator

    Hmm I believe this should be working with platform now as well. Though their fix of using dos shortnames in paths isn't a complete fix.

  12. Mistuke commented on Jan 23, 2018

    @Mistuke
    Collaborator

    I've been talking with the cabal people to support a way to keep configure scripts for non-Windows OSes and for Windows provide an opt-out with a pre-generated config.status file. On Windows the checks will always result in the same results, so it's not a very useful restriction.

    I probably won't get to implementing it this month, but early next month I should have time for it (fighting too many fires at once). We can then have network use this new build-type.

    This would remove the need to have stack, platform or msys2 to build network and a lot of other packages.

  13. kazu-yamamoto commented on May 19, 2020

    @kazu-yamamoto
    Collaborator

    @Mistuke Could you try this again?

  14. Mistuke commented on May 20, 2020

    @Mistuke
    Collaborator

    Cabal won't support multiple build types for projects and you can't have different build-types for internal libraries. Also all Windows toolchain distributions ship msys2 these days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions