首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ocaml oUnit和主ocaml库对实现Unix做出了不一致的假设。

ocaml oUnit和主ocaml库对实现Unix做出了不一致的假设。
EN

Stack Overflow用户
提问于 2012-12-23 21:31:27
回答 1查看 615关注 0票数 2

关于接口的不一致假设(Ocaml)建议我重建,我已经尝试过了,但没有结果。

我使用mac端口来管理我的大部分开发工具,自从升级到MacOS10.8.2之后,ocaml和ocaml-ounit之间似乎出现了糟糕的交互。

下面是一个非常小的shell转储,但问题是

错误:文件/opt/local/lib/ocaml/site-lib/oUnit/oUnit.cmxa和/opt/local/lib/ocaml/unix.cmxa对实现Unix做出了不一致的假设

正如http://www.puredarwin.org/developers/macports/port描述的那样,强迫重建似乎不能解决这个问题:

若要强制升级(重建),请使用: 端口-f升级vim

下面是我构建本机二进制文件的尝试的shell转储(.byte工作得很好,但我即将开始一轮分析并希望分析本机执行),以及我试图根据我的意愿弯曲mac端口的尝试。

任何关于如何进一步调查这个问题的想法都将不胜感激。我不希望自己从资源中构建ocaml,因为我希望能够将我的项目分发给同事,给他们提供最低限度的指导,说明他们需要做些什么才能启动和运行,所以我想尽可能地使用普通的包。

ocaml make.ml PegParserTest.native ocamlbuild \ -libs \-libs\num,str,unix,oUnit,-libs\ -cflags \ -g,-w,+a-4,-警告-错误,+a-4,-I,/opt/local/ocaml/site-lib/oUnit,-I,/opt/local/ocaml/site-lib/ocaml/site-lib/ocamlgraph\ -g,-I,/opt/local/lib/ocaml/site-lib/oUnit,-I,/opt/lib/ocaml/site-lib/ocamlgraph\ PegParserTest.native + /opt/local/bin/ocamlopt.opt -g -I /opt/local/lib/ocaml/site-lib/oUnit -I /opt/local/lib/ocaml/site-lib/ocamlgraph nums.cmxa str.cmxa unix.cmxa oUnit.cmxa graph.cmxa BinSearch.cmx ByteOutput.cmx ListUtil.cmx Stringer.cmx Range.cmx Unicode.cmx Stringer.cmx Utf8.cmxFailures.cmx Opt.cmx StringUtil.cmx Path.cmx UnicodeCategories.cmx UnicodeSeq.cmx GrammarParser.cmx AnnotationChecker.cmx ArrayUtil.cmx BitBucket.cmx Conv.cmx DefaultProductions.cmx Encodable.cmx Flatten.cmx Trie.cmx Flatten.cmx DefaultProductions.cmx DefaultProductions.cmx Encodable.cmx Flatten.cmx Followers.cmx en30 20 en22 en25 en27 en29 en31文件“#en33”,第1行:错误:文件/opt/local/lib/ocaml/site-lib/oUnit/oUnit.cmxa和/opt/local/lib/ocaml/unix.cmxa对代码2退出的Unix命令进行了不一致的假设。编译失败后,在00:00:00构建了154个目标(153个缓存)。> sudo端口selfupdate-->更新端口树-> MacPorts库已经是端口树已经更新的最新版本。要升级您安装的端口,您应该运行端口升级过时> sudo端口升级过时->自动删除的计算依赖项->更新二进制文件的数据库: 100.0% -->扫描链接错误的二进制文件: 100.0% -->没有找到损坏的文件。>端口内容ocaml \ grep -i unix.cm /opt/local/ ocaml/线程/线程Unix.cmi/opt/local/lib/ocaml/线程Unix.cmx /opt/local/lib/ocaml/unix.cma /opt/local/lib/ocaml/unix.cmi /opt/local/ocaml/unix.cmx /opt/local/lib/ocaml/unix.cmxa /opt/lib/ocaml/unix.cmxa/opt/local/ocaml/unix.cmxs/opt/lib/ocaml/vm线程/线程Unix.cmi/opt/local/lib/ocaml/vm螺纹/unix.cma>端口内容ocaml-ounit egrep '.cm‘/opt/local/lib/ocaml/site-lib/oUnit/.cm /opt/local/lib/ocaml/site-lib/oUnit/oUnit.cmi /opt/local/lib/ocaml/site-lib/oUnit/oUnit.cmx/opt/local/lib/ocaml/site-lib/oUnit/oUnit.cmxs /opt/local/lib/ocaml/site-lib/oUnit/oUnitDiff.cmi /opt/local/lib/ocaml/site-lib/oUnit/oUnitDiff.cmx > sudo port -f升级ounit ocaml密码:-->扫描链接错误的二进制文件: 100.0% ->没有找到损坏的文件。

EN

回答 1

Stack Overflow用户

发布于 2012-12-24 06:59:02

去核解决了这个问题:

重新安装端口 要重新安装端口:

  1. 保存已安装端口列表: 端口-qv安装> myports.txt
  2. 卸载所有已安装的端口: 数独端口-f卸载
  3. 清理任何部分完成的构建: 数多港清洁所有
  4. 浏览myports.txt并逐一安装实际要使用的端口(相对于仅作为依赖项需要的端口),记住指定适当的变体: 数多端口安装端口名称+变量1+变量2…

请注意,如果您指定了非默认的变体,则可能需要按照myports.txt中记录的字母顺序以外的顺序安装端口。

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

https://stackoverflow.com/questions/14014866

复制
相关文章

相似问题

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