首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >堆栈/阴谋找不到快乐

堆栈/阴谋找不到快乐
EN

Stack Overflow用户
提问于 2016-08-18 06:17:18
回答 1查看 947关注 0票数 1

我正在尝试使用Haskell构建PCPH编码。但是,我发现了一个关于Cabal找不到happy的错误。不过,我已经安装了alexhappy (它们在/usr/bin中)。

代码语言:javascript
复制
setup-Simple-Cabal-1.22.5.0-ghc-7.10.3: The program 'happy' is required but it
could not be found

--  While building package parconc-examples-0.4.3 using:

下面是堆栈认为我的PATH是什么:

代码语言:javascript
复制
$ stack exec bash
$ echo $PATH | tr : '\n'
/home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/bin
/home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/bin
/home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin
/home/steshaw/.nix-profile/bin
/home/steshaw/.nix-profile/sbin
/usr/local/sbin
/usr/local/bin
/home/steshaw/Projects/shelly/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin

这是stack path的输出

代码语言:javascript
复制
stack-root: /home/steshaw/Projects/shelly/dotfiles/.stack
project-root: /home/steshaw/Projects/parconc-examples
config-location: /home/steshaw/Projects/parconc-examples/stack.yaml
bin-path: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/bin:/home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin:/home/steshaw/.nix-profile/bin:/home/steshaw/.nix-profile/sbin:/usr/local/sbin:/usr/local/bin:/home/steshaw/Projects/shelly/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
programs: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux
compiler-exe: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin/ghc
compiler-bin: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin
local-bin: /home/steshaw/.local/bin
extra-include-dirs: 
extra-library-dirs: 
snapshot-pkg-db: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/pkgdb
local-pkg-db: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/pkgdb
global-pkg-db: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/lib/ghc-7.10.3/package.conf.d
ghc-package-path: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/pkgdb:/home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/pkgdb:/home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/lib/ghc-7.10.3/package.conf.d
snapshot-install-root: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3
local-install-root: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3
snapshot-doc-root: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/doc
local-doc-root: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/doc
dist-dir: .stack-work/dist/x86_64-linux/Cabal-1.22.5.0
local-hpc-root: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/hpc
local-bin-path: /home/steshaw/.local/bin
ghc-paths: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux

下面是堆栈在我的路径上找到的快乐版本:

代码语言:javascript
复制
$ stack exec -- happy -V
Happy Version 1.19.5 Copyright (c) 1993-1996 Andy Gill, Simon Marlow (c) 1997-2005 Simon Marlow

Happy is a Yacc for Haskell, and comes with ABSOLUTELY NO WARRANTY.
This program is free software; you can redistribute it and/or modify
it under the terms given in the file 'LICENSE' distributed with
the Happy sources.

我在Ubuntu16.04.1LTS (x86_64)上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-18 13:41:09

有两件事值得尝试:

  1. 通过堆栈安装愉快,使用项目的解析器: 堆栈安装快乐-解析器lts-4.2

当我用解析器lts-4.2构建parconc示例时,我发现它使用的是lts-4.2快照目录中的愉快二进制文件,尽管我在路径的其他地方安装了它。

  1. 使用这个Setup.hs程序: 导入Distribution.Simple System.Environment main = do args <- getArgs让args‘= if elem“配置”args然后args ++ -with-System.Environment=/usr/bin/getArgs“++ defaultMainWithArgs args”

并确保将parconc-examples.caral中的build-type:更改为Custom。完全删除. sure目录,以确保使用新的安装程序重建所有内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39011106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档