ndmitchell / hoogle

Haskell API search engine
http://hoogle.haskell.org/
Other
738 stars 134 forks source link

Could not find some databases #36

Open pakanek opened 10 years ago

pakanek commented 10 years ago

Hello,

I can't generate dabase:

$ hoogle data
Could not find some databases: default
Searching in:
  .
  /home/$USER/.cabal/share/hoogle-4.2.23/databases

There are no available databases, generate them with: hoogle data
$ ls ~/.cabal/share/hoogle-4.2.23
resources

I am using Fedora 18 Linux x86_64, ghc-7.4.1 (system package) and recently I tried to install ghc-7.6.3 with 2013.2 platform from source to /usr/local which failed so I removed it as well as ~/.ghc and ~/.cabal. System version of Cabal library is 1.14.0 and I have locally installed Cabal library 1.18.1.1.

It may be possible that I am in some inconsistent state, but I have no clue how to solve it from this error message.

ndmitchell commented 10 years ago

It seems "hoogle data" is running a search for data, not generating the data. Can you give me the output from hoogle --version, hoogle --help, hoogle data --help and hoogle atad. Sorry for the delay in replying - this email got lost in my inbox.

pakanek commented 10 years ago
$ hoogle --version
Hoogle v4.2.23, (C) Neil Mitchell 2004-2012
http://haskell.org/hoogle

$ hoogle --help
Hoogle v4.2.23, (C) Neil Mitchell 2004-2012
http://haskell.org/hoogle

hoogle [COMMAND] ... [OPTIONS]

Commands:
  [search]  Perform a search
  data      Generate Hoogle databases
  server    Start a Hoogle server
  combine   Combine multiple databases into one
  convert   Convert an input file to a database
  test      Run tests
  dump      Dump sections of a database to stdout
  rank      Generate ranking information
  log       Analyse log files

Common flags:
  -? --help     Display help message
  -V --version  Print version information
  -v --verbose  Loud verbosity
  -q --quiet    Quiet verbosity

$ hoogle data --help
Hoogle v4.2.23, (C) Neil Mitchell 2004-2012
http://haskell.org/hoogle

hoogle [COMMAND] ... [OPTIONS]

Commands:
  [search]  Perform a search
  data      Generate Hoogle databases
  server    Start a Hoogle server
  combine   Combine multiple databases into one
  convert   Convert an input file to a database
  test      Run tests
  dump      Dump sections of a database to stdout
  rank      Generate ranking information
  log       Analyse log files

Common flags:
  -? --help     Display help message
  -V --version  Print version information
  -v --verbose  Loud verbosity
  -q --quiet    Quiet verbosity

$ hoogle atad
Could not find some databases: default
Searching in:
  .
  /home/$USER/.cabal/share/hoogle-4.2.23/databases

There are no available databases, generate them with: hoogle data

(I replaced login with $USER)

ndmitchell commented 10 years ago

Yep, my hypothesis seems to be correct. When you run hoogle data it is doing a search, not generating the file. Can you do which hoogle, and if it turns out to be a shell script, show the contents of the shell script? Also can you tell me your version of cmdargs with ghc-pkg list cmdargs. If it is less than 0.10.5 I would recommend upgrading cmdargs first, then reinstalling hoogle.

pakanek commented 10 years ago
$ which hoogle
hoogle='hoogle --color'
    ~/.cabal/bin/hoogle

$ file ~/.cabal/bin/hoogle
/home/$USER/.cabal/bin/hoogle: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x10b3ef1280b3ded54be7929d54189e8913e5fe09, stripped

$ ghc-pkg list cmdargs
/usr/lib64/ghc-7.4.1/package.conf.d
/home/$USER/.ghc/x86_64-linux-7.4.1/package.conf.d
   cmdargs-0.10.5

As you can see I have alias on hoogle to get color output. I am using Zsh as a shell and when I removed alias, hoogle data worked as expected. Is it issue of Hoogle, cmdargs or Zsh?

Update: setting alias in Zsh again makes hoogle data to search for term "data" as well as in Bash, but I can't check previous error in Bash once I recreated database.

ndmitchell commented 10 years ago

I suspect its an issue of Hoogle or cmdargs, but not really sure. At least you can get around it for the meantime, and I'll take a closer look at it in a few weeks.

ndmitchell commented 9 years ago

So the issue is that hoogle --color data is parsed as a search since the mode has to come before the first mode argument. Not sure I can do much about that, apart from defaulting to color being on, which kind of fixes this issue at the source.