首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

构建GHC:尽管cabal安装成功,但配置在happy上失败

构建GHC是指构建Glasgow Haskell Compiler(GHC),它是一种广泛使用的函数式编程语言Haskell的编译器。在构建GHC过程中,有时候可能会遇到cabal安装成功但配置在happy上失败的问题。

首先,cabal是Haskell的包管理器,它用于安装、构建和管理Haskell的软件包。而happy是Haskell中用于生成语法分析器的工具。

当cabal安装成功但配置在happy上失败时,可能是由于以下原因导致的:

  1. 版本冲突:可能是由于cabal安装的版本与happy所需的版本不兼容导致的。在这种情况下,可以尝试升级cabal或者安装符合happy要求的特定版本。
  2. 环境配置问题:可能是由于环境变量或路径配置不正确导致的。在这种情况下,可以检查并确保cabal和happy的可执行文件所在的路径已正确添加到系统的环境变量中。
  3. 依赖缺失:可能是由于缺少happy所需的依赖库或工具导致的。在这种情况下,可以通过cabal安装所需的依赖库或工具来解决。

针对这个问题,可以尝试以下解决方案:

  1. 确保cabal和happy的版本兼容。可以通过在终端或命令提示符中运行以下命令来检查它们的版本:
代码语言:txt
复制

cabal --version

happy --version

代码语言:txt
复制

如果版本不兼容,可以尝试升级cabal或安装符合happy要求的特定版本。

  1. 检查环境变量或路径配置。确保cabal和happy的可执行文件所在的路径已正确添加到系统的环境变量中。可以通过以下命令来查看路径配置:
代码语言:txt
复制

echo $PATH

代码语言:txt
复制

如果路径配置不正确,可以通过编辑相应的配置文件(如.bashrc或.bash_profile)来添加正确的路径。

  1. 确保所有依赖库和工具都已正确安装。可以使用cabal来安装所需的依赖库或工具。例如,可以运行以下命令来安装happy:
代码语言:txt
复制

cabal install happy

代码语言:txt
复制

如果安装过程中出现依赖缺失的错误提示,可以根据错误提示安装相应的依赖库或工具。

总结起来,解决cabal安装成功但配置在happy上失败的问题,需要确保cabal和happy的版本兼容,正确配置环境变量或路径,以及安装所需的依赖库或工具。具体的解决方法可能因个人环境和情况而异。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Pandoc安装实现Markdown转PDF (CentOS6)

官方网址:https://pandoc.org/ Pandoc安装 由于Centos6的yum源中haskell相关的版本都比较老了,所有须要自行源码安装,须要安装的内容有:ghc, cabal, pandoc...ghc是haskell的编译器,cabal是一种包管理器,可以很方便的自动安装各种包和依赖,pandoc就是使用cabal安装的,TeX是一种文档排版系统,texlive是like unix下的一种TeX.../bootstrap.sh 待其安装成功,将cabal命令链接到/usr/bin下,这样PATH中就可以找到cabal ln -s /root/.cabal/bin/cabal /usr/bin/cabal...执行cabal update,待出现如下提示后,执行Ctrl+C中断命令,还是由于haskell官方源网络比较慢,修改生成的配置文件中源的地址为南京大学的镜像站 $ cabal update Config...另外本文只介绍CentOS操作系统比较合适的安装方式,其他的比如Ubuntu可能有更好的更方便的安装方式,请参考Pandoc官方文档http://pandoc.org/installing.html

2.2K60

ubuntu 14.04 install haskell

文件 PATH="/usr/local/ghc/bin:$PATH" source ~/.bashrc ghci #验证是否安装成功 sudo aptitude purge ghc Cabal是Haskell...cabal-install是另一个Haskell包安装库,提供了cabal命令行程序,该程序安装新包时会自动解决包依赖关系。...安装cabal-install就可以了,因为cabal-install依赖与cabal安装程序会自动下载cabal安装。...中包含这些包,但是由于使用apt-get安装时不能获得最新的版本或者会出现一些问题,比如network-2.6.0.2通过cabal总是安装,报编译错误 这种使用源码安装的方式很好的解决了这些问题。...安装相关haskell包的时候可能会出现broken package错误,可以通过以下命令haskell中移除broken package ghc-pkg check --simple-output

69710

MySQL主从复制详解

MySQL复制原理 (1).Slave服务器执行start  slave命令开启主从复制开关,开始进行主从复制; (2).此时,Slave服务器的I/O线程会使用通过master已经授权的可以进行复制操作的用户连接...master服务器,并请求从执行binlog日志文件的指定位置(日志文件名和位置就是配置主从复制服务执行change    master命令指定的)之后开始发送binlog日志内容; (3).Master...最后显示各类工具安装完成以后,Master端的系统配置就已经完成,Slave端此处不再举例,按照Master端操作即可。   ...5.6版本之前,都是使用master.info文件,从5.6开始,通过my.cnf  中配置 --master-info-repository=TABLE。...5.6版本之前,都是使用relay-log.info文件,从5.6开始,通过my.cnf中配置 --relay-log-info-reposity=TABLE,使用mysql.slave_relay_log_info

2.2K30

Debian 7的Yesod,Nginx和MySQL(Wheezy)

先决条件 开始安装配置下述组件之前,请确保已按照“ 入门指南”中的说明设置主机名。这是检查方法。...安装cabal所有程序,所有库及其所有文档的配置文件都cabal将放在此文件夹中。特别是,安装了新的程序$HOME/.cabal/bin。...Yesod需要的language-javascript包依赖于它们的更高版本,因此我们需要升级它们: cabal install alex happy 现在您可以安装yesod-platform和yesod-bin...如果您不添加此参数,cabal可能会失败,如果它无法200步回溯中找到解决方案。 Linode 1G构建yesod-platform和yesod-bin打包需要大约20分钟。...使用Nginx和MySQL的Yesod的安装配置已经完成。 更多信息 有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,请注意,我们无法保证外部托管材料的准确性或及时性。

79520

.NET 基金会项目介绍-Nancy

该框架的目标保持平台无关的前提下,保持各个环节都拥有 super-duper-happy-path 的体验(极致畅爽的开发体验)。...默认我们将会为您定位并注入它到您的模块,完全零配置。 “Easily customisable”(快乐扩展) - 尽管已经能够轻松启动,但是如果需要进行自定义扩展也不应有任何障碍。...“Low ceremony”(极致简洁) - 您的程序中为了框架而写的 “Nancy 代码” 尽可能被保持最小。使用 Nancy 构建的应用程序中最为重要的部分应该是您的代码。...“Low friction”(纵享丝滑) - 使用 Nancy 构建应用程序,我们将助您成功而非制造麻烦。尽管命名需要明确,配置量也被最小化,其拥有的功能性和扩展性并不会打折,依旧强力,如您所需。...而 Nancy 作为一个独立的开源项目已经存在很长时间,并且一直活跃中。 如果您正想查找一个轻量型优秀 HTTP 应用程序构建框架,这回事一个不错的尝试。

57320

软件质量的黄金准则

这类 upstream 改进可以直接作用于以下几点: 编辑器 /IDE 命令行 shell 所使用的编程语言 所依赖的软件包 注意,upstream 解决问题的成功率并不是百分之百,尤其是当某些 upstream...而如果想要提升质量,则应当直接在 upstream 中问题的根源那里快速失败,而不是根据 downstream 的问题症状位置间接调试。...Haskell 社区内的经典例子,cabal 与堆栈的分歧,源于 FPComplete 与 Cabal 贡献者之间的分歧(根据 Haskell 的 reddit 子版块反馈修正)。...由于未能解决 upstream 收费贡献者与开源贡献者之间的摩擦,导致 downstream 需要通过创建并行安装工具这样的技术解决方案来尝试绕开这个问题。...如果我们希望质量为,那么还是应当尽量遵守这个准则的。

53520

【快学SpringBoot】SpringBoot+Docker构建、运行、部署应用

源码文末 文末有项目源码的github地址 构建一个SpringBoot项目 本人最早的一篇文章,就是教大家如何使用Spring Initialise工具,快速的创建一个SpringBoot项目,如果还不懂的...docker:build 复制代码 springboot-docker目录根路径下执行此命令即可。...需要本地安装了Docker才能够打包成功,否则会报错。关于Docker的安装,Linux的用户可以根据我之前的文章进行安装,其他系统的用户可以自行搜索安装即可。推荐使用Linux。...比如本人,Docker是安装在Linux虚拟机上的,直接把springboot-docker目录拷贝到Linux机器: image.png 执行打包命令,输入如下: image.png 看到BUILD...SUCCESS即表示构建成功了,这时候就可以通过docker images命令,查看我们构建的镜像了: image.png 镜像构建完之后,我们还可以把它推到Docker的仓库

59130

gh-ost 原理剖析

二 原理 2.1 执行过程 本例基于主库执行ddl 记录的核心过程。...`_b_ghc` 如果cut-over过程的各个环节执行失败会发生什么? 其实除了安全,什么都不会发生。 如果c10的create `_b_del` 失败,gh-ost 程序退出。...因为`_b_del`表存在,c20的rename table b to `_b_del`会失败。 C. 整个操作都失败了,没有什么可怕的事情发生,有些查询被阻止了一段时间,我们需要重试。...如果c10c20执行rename被阻塞时失败退出,与上述类似,锁释放,则c20执行rename操作因为——b_old表存在而失败,所有请求恢复正常。...c1-c9,c11-c19,c21-c29可以b正常执行。 整个过程对应用程序的影响 应用程序对表的写操作被阻止,直到交换影子表成功或直到操作失败。如果成功,则应用程序继续新表上进行操作。

2K40

Online DDL 工具 gh-ost原理(二)

1、连上从库,主库修改 这是gh-ost默认的工作模式,它会查看从库情况,找到集群的主库并且连接上去,对主库侵入最少,大体步骤是: 主库创建_xxx_gho、_xxx_ghc,并修改_xxx_gho...表结构; 从slave读取二进制日志事件,将变更应用到主库的_xxx_gho表; 主库读源表的数据写入_xxx_gho表中:insert into igore….select; 主库完成表切换...2、直接主库修改 主库创建_xxx_gho、_xxx_ghc,并修改_xxx_gho表结构; 从主库读取二进制日志事件,将变更应用到主库的_xxx_gho表; 主库读源表的数据写入_xxx_gho...gh-ost仍然会连上主库,所有操作都是在从库做的,不会对主库产生任何影响。操作过程中,gh-ost也会不时地暂停,以便从库的数据可以保持最新。...: 如果5.1失败,退出程序,比如建表成功,加锁失败,退出程序,未加锁 rename请求来的时候,会话C10死掉,lock会自动释放,同时因为_xxx_del的存在rename也会失败,所有请求恢复正常

55120

【Spring 篇】Maven私服:解锁项目构建新世界

如果我们的构建过程依赖于远程仓库,那么可能会因为无法访问仓库而导致构建失败。而有了 Maven 私服,我们可以本地搭建一个稳定可靠的仓库,避免了外部不可控因素对构建的影响。...你可以 Sonatype 官网 找到最新版本的 Nexus Repository Manager。...步骤二:安装 Nexus Repository Manager 下载完成后,按照官方文档的步骤进行安装安装过程中,你可能需要配置一些基本信息,比如端口号、仓库存储位置等。...通过简单易懂的步骤,我们成功搭建了 Nexus Repository Manager,并配置了 Maven 与私服的交互。现在,你可以尽情享受构建项目的乐趣,不再为依赖的下载速度而烦恼了。...希望本文对你有所帮助,如果有任何问题,欢迎评论区留言,我们一起讨论。Happy coding!

17710

Jenkins概念及安装配置教程(四)

尽管可以 Web UI 中或使用 Jenkinsfile 定义流水线,建议 Jenkinsfile 中定义什么是 Jenkins 流水线,并在源代码控制存储库中进行维护。...导航到标题为“全局属性”的配置项并添加以下环境变量: JAVA_HOME - MAVEN_HOME – 我们的例子中,条目如下: JAVA_HOME...命令 mvn clean install 项目目录中的 pom.xml 执行。由于我们的构建机器是 Windows,因此我们通过 bat(或批处理)调用构建命令。...或者,您也可以通过单击“立即构建”选项来发布构建,在这种情况下您无需安装 Blue Ocean 插件。 单击“运行”以运行该作业。 如下图,工具(即JDK和Maven)配置成功。...步骤“构建”和构建后操作运行没有任何问题。 这是当前 Jenkins 流水线的 Stage View。声明性工具安装阶段 2 秒内完成,构建阶段用时 3 分 25 秒。

20130

5门可能衰落的编程语言

02 Haskell 据称,Haskell 将在 2020 年进行一次重大的更新(由 GHC 和 GitHub 中与 Haskell 相关的仓库可以看出)。...一些知名公司和项目(Facebook、GitHub 等)都曾使用 Haskell 某个时候构建过重要的程序。...尽管 R 仍然被学者和数据科学家所使用,但对数据分析感兴趣的公司正转向 Python,因为它的可伸缩性和易用性对开发者更具吸引力。...因此,虽然 R TIOBE 的编程语言流行指数有所下降,其他研究显示,R 的使用率下降缓慢其实有利于 Python 的发展。...除此之外,开发人员普遍采用其他编程语言来构建网站,这意味着 Perl 将陷入越来越多的废弃状态。 P.S. 本文的早期版本中,我们说过 Perl 几乎没有活跃的开发。

83230

如何使用Docker构建运行时间较长的脚本

使用快照构建脚本的Docker 本节中,我将介绍我是如何使用Docker实现GHC7.8.3 ARM交叉编译器的构建脚本。Docker非常适合做这件事,并非完美。...RUN之前ADD scriptlets 如果你很早就将所有的scriptletsADDDockerfile,您可能会遇到以下问题:如果你的脚本构建失败,你回去修改scriptlet并再次运行docker...现在,我已经完成了构建脚本,我可以回去解决这个问题了,但是,某种意义,它会破坏最初的目标。我将不得不从头开始运行构建脚本看看这种变化是否能成功。...结论 这种方法的优点是双重的: 它使开发时间降至最低,不再做那些已经构建成功的子组件。你可以专注于那些失败的组件。 这非常便于维护构建脚本。...构建可能会失败只要你搞定Dockerfiel,至少你不必再从头开始。 此外,正如我前面提到的Docker不仅使写这些构建脚本更加容易,有了合适的工具同样可以在任何提供快照的文件系统实现。

1.4K20

开源云真机平台Sonic(Windows端)接入iOS设备实践

目前sonic版本已经升级到了最新的2.0.5,但我接入的都是些Android设备,iOS设备之前也尝试过接入,没有成功,因为我用的是CentOS系统。...一、准备工作&注意事项 Agent必须部署Mac/Ubuntu/Windows系统,CentOS系统不支持接入iOS设备(这也是我之前一直尝试失败的原因); 必须得有一台Mac系统的电脑,且Mac电脑中安装了...); 如果iOS设备准备接入Windows或Ubuntu系统的Agent,需要安装: usbmux:这个服务主要用于USB协议实现多路TCP连接,将USB通信抽象为TCP通信。...: 分别使用两台设备,操作正常 四、iOS使用过程中的一些问题 尽管sonic已经成功接入了iOS设备,但在使用过程中,还是存在诸多问题,远没有Android设备体验流畅。...tidevice安装过程中,安装一个名为cryptography的包时,报错了,cryptography编译失败,因为系统中缺少pep517。

2.9K20
领券