You are not logged in.

#1 2014-11-30 13:33:36

shaggy
Member
Registered: 2014-11-30
Posts: 7

strange pacman behaviour

 > pacman -Si haskell-bytestring
error: package 'haskell-bytestring' was not found

 > pacman -S haskell-bytestring
resolving dependencies...
looking for inter-conflicts...

Packages (1): ghc-7.8.3-2

Total Download Size:    62.17 MiB
Total Installed Size:   787.85 MiB

:: Proceed with installation? [Y/n] 

I came across the above. There is no haskell-bytestring in repo but still pacman tries to
install dependencies ( found the problem originally when trying to install aura from AUR with packer)

if I do

> pacman -Ss haskell-bytestring
extra/ghc 7.8.3-2
    The Glasgow Haskell Compiler
community/haskell-bytestring-show 0.3.5.6-2
    Efficient conversion of values into readable byte strings.

> pacman -Si haskell-bytestring-show
Repository     : community
Name           : haskell-bytestring-show
Version        : 0.3.5.6-2
Description    : Efficient conversion of values into readable byte strings.
Architecture   : x86_64
URL            : http://hackage.haskell.org/package/bytestring-show
Licenses       : BSD3
Groups         : None
Provides       : None
Depends On     : ghc=7.8.3
Optional Deps  : None
Conflicts With : None
Replaces       : None
Download Size  : 303.04 KiB
Installed Size : 5829.00 KiB
Packager       : Unknown Packager
Build Date     : Fri Jul 11 22:52:15 2014
Validated By   : MD5 Sum  SHA256 Sum  Signature

I can see that ghc in fact is a dependency of haskell-bytestring-show


How come ghc gets picked up as a dependency for haskell-bytestring when
haskell-bytestring doesn't exists? Shouldn't I get an error here?

it doesn't make sense to install a dependency with out the target, right?

I have Pacman v4.1.2 - libalpm v8.0.2

Offline

#2 2014-11-30 13:41:42

Arogers10
Member
Registered: 2012-06-20
Posts: 68

Re: strange pacman behaviour

The package ghc isn't exactly a dependency of haskell-bytestring, but if you check the page for ghc https://www.archlinux.org/packages/extra/x86_64/ghc/ notice the "provides" field and you'll notice ghc provides haskell-bytestring. So haskell bytestring should be installed as part of ghc

Offline

#3 2014-11-30 14:33:53

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: strange pacman behaviour

$ pacman -Si ghc
Repository     : haskell-core
Name           : ghc
Version        : 7.8.3-1
Description    : The Glasgow Haskell Compiler
Architecture   : x86_64
URL            : http://www.haskell.org/ghc/
Licenses       : custom
Groups         : None
Provides       : haskell-array=0.5.0.0  haskell-base=4.7.0.1  haskell-binary=0.7.1.0  haskell-bin-package-db=0.0.0.0  haskell-bytestring=0.10.4.0  haskell-containers=0.5.5.1  haskell-deepseq=1.3.0.2
                 haskell-directory=1.2.1.0  haskell-filepath=1.3.0.2  haskell-ghc-prim=0.3.1.0  haskell-haskeline=0.7.1.2  haskell-haskell2010=1.1.2.0  haskell-haskell98=2.0.0.3
                 haskell-hoopl=3.10.0.1  haskell-hpc=0.6.0.1  haskell-integer-gmp=0.5.1.0  haskell-old-locale=1.0.0.6  haskell-old-time=1.1.0.2  haskell-pretty=1.1.1.1  haskell-process=1.2.0.0
                 haskell-rts=1.0  haskell-template-haskell=2.9.0.0  haskell-terminfo=0.4.0.0  haskell-time=1.4.2  haskell-transformers=0.3.0.0  haskell-unix=2.7.0.1  haskell-xhtml=3000.2.1
                 haskell-cabal=1.18.1.3
Depends On     : perl  gmp>=5.0  gcc
Optional Deps  : None
Conflicts With : None
Replaces       : haskell-array<0.5.0.0  haskell-base<4.7.0.1  haskell-binary<0.7.1.0  haskell-bin-package-db<0.0.0.0  haskell-bytestring<0.10.4.0  haskell-containers<0.5.5.1  haskell-deepseq<1.3.0.2
                 haskell-directory<1.2.1.0  haskell-filepath<1.3.0.2  haskell-ghc-prim<0.3.1.0  haskell-haskeline<0.7.1.2  haskell-haskell2010<1.1.2.0  haskell-haskell98<2.0.0.3
                 haskell-hoopl<3.10.0.1  haskell-hpc<0.6.0.1  haskell-integer-gmp<0.5.1.0  haskell-old-locale<1.0.0.6  haskell-old-time<1.1.0.2  haskell-pretty<1.1.1.1  haskell-process<1.2.0.0
                 haskell-rts<1.0  haskell-template-haskell<2.9.0.0  haskell-terminfo<0.4.0.0  haskell-time<1.4.2  haskell-transformers<0.3.0.0  haskell-unix<2.7.0.1  haskell-xhtml<3000.2.1
                 haskell-cabal<1.18.1.3
Download Size  : 63546.05 KiB
Installed Size : 802973.00 KiB
Packager       : Magnus Therning <magnus@therning.org>
Build Date     : 2014-07-13 W28-7 11:00:08 +0000
Validated By   : MD5 Sum  SHA256 Sum  Signature

Repository     : extra
Name           : ghc
Version        : 7.8.3-2
Description    : The Glasgow Haskell Compiler
Architecture   : x86_64
URL            : http://www.haskell.org/ghc/
Licenses       : custom
Groups         : None
Provides       : haskell-array=0.5.0.0  haskell-base=4.7.0.1  haskell-binary=0.7.1.0  haskell-bin-package-db=0.0.0.0  haskell-bytestring=0.10.4.0  haskell-containers=0.5.5.1  haskell-deepseq=1.3.0.2
                 haskell-directory=1.2.1.0  haskell-filepath=1.3.0.2  haskell-ghc-prim=0.3.1.0  haskell-haskell2010=1.1.2.0  haskell-haskell98=2.0.0.3  haskell-hoopl=3.10.0.1  haskell-hpc=0.6.0.1
                 haskell-integer-gmp=0.5.1.0  haskell-old-locale=1.0.0.6  haskell-old-time=1.1.0.2  haskell-pretty=1.1.1.1  haskell-process=1.2.0.0  haskell-template-haskell=2.9.0.0
                 haskell-time=1.4.2  haskell-transformers=0.3.0.0  haskell-unix=2.7.0.1  haskell-cabal=1.18.1.3  ghc=7.8.3-1  haskell-haskeline=0.7.1.2  haskell-terminfo=0.4.0.0
                 haskell-xhtml=3000.2.1
Depends On     : perl  gmp  gcc  libffi
Optional Deps  : None
Conflicts With : None
Replaces       : haskell-array  haskell-base  haskell-binary  haskell-bin-package-db  haskell-bytestring  haskell-containers  haskell-deepseq  haskell-directory  haskell-filepath  haskell-ghc-prim
                 haskell-haskell2010  haskell-haskell98  haskell-hoopl  haskell-hpc  haskell-integer-gmp  haskell-old-locale  haskell-old-time  haskell-pretty  haskell-process
                 haskell-template-haskell  haskell-time  haskell-transformers  haskell-unix  haskell-cabal  haskell-haskeline  haskell-terminfo  haskell-xhtml
Download Size  : 63664.79 KiB
Installed Size : 806763.00 KiB
Packager       : Thomas Dziedzic <gostrc@gmail.com>
Build Date     : 2014-07-10 W28-4 15:02:35 +0000
Validated By   : MD5 Sum  SHA256 Sum  Signature

As you can see in the output above, GHC "provides" multiple packages including haskell-bytestring. This means that the package contains files (in particular, libraries) that satisfy dependencies of other packages. I believe that at least some of the provided packages were originally separate packages that were subsequently subsumed by the ghc package.

Pacman detects that ghc is able to satisfy the dependency on haskell-bytestring. It also returns ghc as a match when querying "haskell-bytestring" because the name is included in the package information. It does not return anything when requesting information about a package named "haskell-bytestring" because there is no such package.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#4 2014-11-30 15:12:17

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,531
Website

Re: strange pacman behaviour

shaggy wrote:

There is no haskell-bytestring in repo but still pacman tries to install dependencies

Xyne hit it right on, but to put that answer in the context of your original post, ghc is not being installed as a dependency; it is being installed as the package you asked for.  Ghc effectively is haskell-bytestring*.

*notwithstanding ontological debates of what it means 'be' something and whether A can be B if A is actually a superset of B.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#5 2014-11-30 15:21:16

shaggy
Member
Registered: 2014-11-30
Posts: 7

Re: strange pacman behaviour

Is there a way to search for packages that are able to satisfy a dependency
i. e. a package that provides the search term.

To be clearer I want to use pacman to search what package that can provide haskell-bytestring
before intstalling?

Since it can find the dependency during install it should be searchable, right?

Also when I tried installing aura with packer the dependency haskell-bytestring could not be found

Last edited by shaggy (2014-11-30 15:29:11)

Offline

#6 2014-11-30 15:54:18

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: strange pacman behaviour

You can install extra/pkgfile, which can tell you what particular package in the repositories provides a particular file.

As for your issue with packer, that's a possibly unrelated issue that may require a separate thread. We generally encourage new users to learn how to use makepkg directly before settling on an AUR helper, since depending on the latter without understanding the former hampers the learning process. Try building Aura and its dependencies individually with makepkg to see where the break in the installation chain is. I haven't used packer in a long time, but I've had experiences with pacman wrappers in the past in which dependencies were built in the wrong order.

Offline

#7 2014-11-30 16:23:43

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: strange pacman behaviour

I expected there to already be a script to do this but I wasn't able to find it so I've added a script named "pkg-list_providers" to my pkg_scripts package: http://xyne.archlinux.ca/projects/pkg_s … _providers

$ pkg-list_providers haskell-bytestring sh
haskell-bytestring haskell-core/ghc
haskell-bytestring extra/ghc
sh core/bash

My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#8 2014-11-30 16:40:29

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,531
Website

Re: strange pacman behaviour

What's wrong with `pacman -S haskell-bytestring`?  If you don't actually want to install it, just say No at the prompt.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#9 2014-11-30 16:57:57

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: strange pacman behaviour

Trilby wrote:

What's wrong with `pacman -S haskell-bytestring`?  If you don't actually want to install it, just say No at the prompt.

a) That requires root privileges.
b) Only the first provider is proposed.
c) It's not really what the operation is meant for.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#10 2014-11-30 16:59:07

shaggy
Member
Registered: 2014-11-30
Posts: 7

Re: strange pacman behaviour

Thank you Xyne
I downloaded PKGBUILD and created pkg_scripts package with makepkg

pkg-list_provider works for me

Now I know the mechanisms behind but it was not intuitive what happened
when I first encountered this problem.

Maybe it would be more logical for pacman -Ss to include packages that provides also?

Offline

#11 2014-11-30 17:17:53

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: strange pacman behaviour

shaggy wrote:

Maybe it would be more logical for pacman -Ss to include packages that provides also?

It does. That's why "pacman -Ss haskell-bytestring" returns ghc. It also returns packages that depend on haskell-bytestring (e.g. haskell-bytestring-show), as well as any packages named haskell-bytestring or which mention it in their description.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

Board footer

Powered by FluxBB