Dependency issues #275

Open
Atalanta opened this Issue Oct 24, 2011 · 3 comments

Projects

None yet

2 participants

@Atalanta

Fresh install of cabal via cabal-install.

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.0.3
$ uname -a
SunOS rs13.atalanta.everycity.co.uk 5.10 Generic_142901-15 i86pc i386 i86pc Solaris

If it then try to install gitit, I get:

cabal install gitit
Resolving dependencies...
cabal: cannot configure network-bytestring-0.1.3.4. It requires network

=2.2.1.1 && <2.3
For the dependency on network >=2.2.1.1 && <2.3 there are these packages:
network-2.2.1.1, network-2.2.1.2, network-2.2.1.3, network-2.2.1.4,
network-2.2.1.5, network-2.2.1.6, network-2.2.1.7, network-2.2.1.8,
network-2.2.1.9, network-2.2.1.10, network-2.2.3 and network-2.2.3.1. However
none of them are available.
network-2.2.1.1 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.1 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.2 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.2 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.3 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.3 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.4 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.4 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.5 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.5 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.6 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.6 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.7 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.7 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.8 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.8 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.9 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.9 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.1.10 was excluded because happstack-server-6.2.4 requires network
=2.2.3
network-2.2.1.10 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.3 was excluded because gitit-0.8.1 requires network ==2.3.*
network-2.2.3.1 was excluded because gitit-0.8.1 requires network ==2.3.*

How do I resolve this?

@Atalanta

Any thoughts on this?

@Atalanta

Sorry to bump again, but I'm entirely stuck on this - would really appreciate some pointers.

@jakshi
jakshi commented Dec 25, 2011

It happens because of:

gitit.cabal file claims that:
if impl(ghc => 7.0.3)
-- without this, 'cabal install' tries to install an older
-- version of network; I'm not sure why:
build-depends: network >= 2.3 && < 2.4

so you need to use network >=2.3

but gitit depends from happstack-server that depends from sendfile whose sendfile.cabal file claims that:

if os(windows) && !flag(portable)
  cpp-options: -DWIN32_SENDFILE
  build-depends: Win32 >= 2.2.0.0 && < 2.3
  extra-libraries: mswsock
  other-modules: Network.Socket.SendFile.Win32
else
  if os(linux) && !flag(portable)
    cpp-options: -DLINUX_SENDFILE
    other-modules: Network.Socket.SendFile.Linux
  else
    if os(freebsd) && !flag(portable)
      cpp-options: -DFREEBSD_SENDFILE
      other-modules: Network.Socket.SendFile.FreeBSD
    else
      if os(darwin) && !flag(portable)
        cpp-options: -DDARWIN_SENDFILE
        other-modules: Network.Socket.SendFile.Darwin
      else
        cpp-options: -DPORTABLE_SENDFILE
        build-depends: bytestring >= 0.9.1.4 && < 0.10,
                       network-bytestring >= 0.1.1.3 && < 0.2

so as you use Solaris there is no Network.Socket.SendFile realisation in sendfile for you, so sendfile offer to get back to network-bytestring that depends from network < 2.3. But gitit want network >2.3.

Solution is, rewrite gitit.cabal dependency file to use network < 2.2.3 with Solaris.

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