编译opam报错

0x01:打算在VPS上安装个Google的网盘,环境需要安装OPAM,在检查环境时就提示缺少not found的一些包。

#./configure
checking for OCaml findlib package unix... found
checking for OCaml findlib package extlib... not found
checking for OCaml findlib package re... not found
checking for OCaml findlib package re.str... not found
checking for OCaml findlib package re.pcre... not found
checking for OCaml findlib package re.glob... not found
checking for OCaml findlib package cmdliner... not found
checking for OCaml findlib package ocamlgraph... not found
checking for OCaml findlib package cudf... not found
checking for OCaml findlib package dose3.common... not found
checking for OCaml findlib package dose3.algo... not found
checking for OCaml findlib package jsonm... not found

0x02:心想也许直接make能过去,结果是下面一样报错了。

#make
make -C src opam-lib
make[1]: Entering directory ‘/home/roott/opam/src‘
make[1]: *** No rule to make target ‘opam-lib‘.  Stop.
make[1]: Leaving directory ‘/home/roott/opam/src‘
Makefile:26: recipe for target ‘opam-lib‘ failed
make: *** [opam-lib] Error 2

0x03:按照检查提示,用‘make lib-ext’可以自动下载。

============================================================================
Some dependencies are missing. If you are just interested in the stand-alone
‘opam‘ binary, run ‘make lib-ext‘ to download and include them.
============================================================================

0x04:经过make lib-ext后下载原来链接失效了,造成cppo-1.1.2.tar.gz解压失败。

# make lib-ext
make -C src_ext lib-ext
make[1]: Entering directory ‘/home/roott/opam/src_ext‘
[ -e  cppo-1.1.2.tar.gz ] || curl  -OL http://mjambon.com/releases/cppo/cppo-1.1.2.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  9340  100  9340    0     0  97476      0 --:--:-- --:--:-- --:--:-- 97291
ocaml ../shell/md5check.ml cppo-1.1.2.tar.gz f1a551639c0c667ee8840d95ea5b2ab7
MD5 for cppo-1.1.2.tar.gz differ:
  expected: f1a551639c0c667ee8840d95ea5b2ab7
    actual: baeb004575d58a7b186737a3be6d5f07
mkdir -p tmp
cd tmp && tar xfz ../cppo-1.1.2.tar.gz
tar (child): ../cppo-1.1.2.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Makefile:58: recipe for target ‘cppo.stamp‘ failed
make[1]: *** [cppo.stamp] Error 2
make[1]: Leaving directory ‘/home/roott/opam/src_ext‘
Makefile:29: recipe for target ‘lib-ext‘ failed
make: *** [lib-ext] Error 2

0x05:到/home/root/opam/src_ext目录下看到文件只有45字节肯定不对。

-rwxrwxr-x 1 root root    45 Jun 20 15:15 cppo-1.1.2.tar.gz

0x06:原链接失效只能手动下载cppo-1.1.2.tar.gz,google找到一个github上的一个链接

# wget https://github.com/mjambon/cppo/archive/v1.1.2.tar.gz

0x07:解压cppo将里面文件覆盖到opam文件夹里。我的opam放在home下

#tar -zxf v1.1.2.tar.gz
#mv -f cppo-1.1.2/ ~/opam/

0x08:覆盖完再次‘make’,成功。

make
[15:35:12]echo ‘let cppo_version = "1.1.2"‘ > cppo_version.ml
[15:35:12]ocamlyacc cppo_parser.mly
[15:35:12]ocamllex cppo_lexer.mll
[15:35:12]368 states, 13139 transitions, table size 54764 bytes
[15:35:12]3729 additional bytes used for bindings
[15:35:12]ocamlopt -o cppo -dtypes unix.cmxa str.cmxa cppo_version.ml cppo_types.ml cppo_parser.mli cppo_parser.ml cppo_lexer.ml cppo_command.ml cppo_eval.ml cppo_main.ml
[15:35:14]cd ocamlbuild_plugin && ocamlbuild -use-ocamlfind ocamlbuild_cppo.cma ocamlbuild_cppo.cmxa ocamlbuild_cppo.a ocamlbuild_cppo.cmxs
[15:35:15]Finished, 8 targets (0 cached) in 00:00:00.
[15:35:31][email protected]:~/opam$ sudo make install
[15:35:37][sudo] password for roott: 
[15:35:38]install -m 0755 cppo /usr/local/bin || [15:35:38]        install -m 0755 cppo.exe /usr/local/bin
[15:35:38]ocamlfind install -patch-version 1.1.2 "cppo_ocamlbuild" [15:35:38]        META ocamlbuild_plugin/_build/ocamlbuild_cppo.cmi ocamlbuild_plugin/_build/ocamlbuild_cppo.cma ocamlbuild_plugin/_build/ocamlbuild_cppo.cmxa ocamlbuild_plugin/_build/ocamlbuild_cppo.a ocamlbuild_plugin/_build/ocamlbuild_cppo.cmxs
[15:35:38]Installed /usr/local/lib/ocaml/4.02.3/cppo_ocamlbuild/ocamlbuild_cppo.cmxs
[15:35:38]Installed /usr/local/lib/ocaml/4.02.3/cppo_ocamlbuild/ocamlbuild_cppo.a
[15:35:38]Installed /usr/local/lib/ocaml/4.02.3/cppo_ocamlbuild/ocamlbuild_cppo.cmxa
[15:35:38]Installed /usr/local/lib/ocaml/4.02.3/cppo_ocamlbuild/ocamlbuild_cppo.cma
[15:35:38]Installed /usr/local/lib/ocaml/4.02.3/cppo_ocamlbuild/ocamlbuild_cppo.cmi
[15:35:38]Installed /usr/local/lib/ocaml/4.02.3/cppo_ocamlbuild/META

0x09:在下面就是安装。

#sudo make install
时间: 2024-10-13 22:51:12

编译opam报错的相关文章

PHP编译安装报错: mcrypt.h not found. Please reinstall libmcrypt.

PHP编译安装报错: mcrypt.h not found. Please reinstall libmcrypt. 转载2016-04-25 12:40:44 标签:linuxitphp 解决方法: 1.为系统安装perl-Geo-IP,默认yum源中没有这个包,特意安装epel第三方yum源[[email protected] ~] rpm -Uvh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rp

centos编译libpng报错,解决方法

/usr/local/lib/libz.a: could not read symbols: Bad value 一般是64 位 电脑才会出现. 解决方法如下: 1 cd zlib-1.2.3 //进入zlib目录 2 3 CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译 4 5 make 6 7 make install 8 9 make clean centos编译libpng报错,解决方法,布布扣,bubuko.com

VS2013编译protobuf报错:error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe

今天碰到这个问题,网上找了好久, 解决方法如下 VS2013编译protobuf报错:error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe 方法一 右键点击工程 -> 属性 -> C/C++ -> 常规 -> SDL检查 改为:否 (/sdl-) 编译 O了! 方法二 右键点击工程 -> 属性 -> C/C++ ->预处理器 添加宏定义 _SCL_SECUR

Xcode6编译SDWebImage报错原因分析(SDWebImageDownloaderOperation.m错误)

之前写了一片关于编译SDWebImage报错解决方法的文章: http://blog.csdn.net/cuibo1123/article/details/39434015 结果很多人问这个问题的原因,那就在这里给大家说一说好了,分析思路一并送上(不过我还是建议大家自己动手去分析). 首先,如果新建工程,按照SDWebImage的方式声明输出口并引用: @interface ZCTest () @property (assign, nonatomic, getter = isExecuting)

源码编译php-5 报错整理

阿里云上 源码编译 php 报错的集中整理 [[email protected] php-5.5.31]#   ./configure --prefix=/module/application/php-5.5/--enable-pcntl --enable-fpm --enable-posix --enable-mysqlnd --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-shmop --

php5.6.11编译安装报错configure: error: Don't know how to define struct flock on this system

centos 6.8 32位系统下,安装php.5.6.11是出现这个错误 解决办法: 1 2 3 4 vim /etc/ld.so.conf.d/local.conf     # 编辑库文件 /usr/local/lib                       # 添加该行 :wq                                  # 保存退出 ldconfig -v                          # 使之生效 注意事项: 这里添加的库文件路径一定要和你

编译nagios-plugins报错./stdio.h:456:1:

在AWS的EC2上编译nagios-plugins报错: ./stdio.h:456:1: error: 'gets' undeclared here (not in a function) make[4]: *** [localcharset.o] Error 1 make[4]: Leaving directory `/root/nagios-plugins-1.4.16/gl' make[3]: *** [all-recursive] Error 1 make[3]: Leaving di

安装编译qemu-kvm报错Make sure to have the zlib libs and headers installed.

[[email protected] qemu-kvm.git]# ./configure Error: zlib check failed Make sure to have the zlib libs and headers installed. 解决上面报错需要安装zlib相关的软件 [[email protected] qemu-kvm.git]# yum install zlib* 安装完上面软件后继续出现下面报错 [[email protected] qemu-kvm.git]# .

cocos2d-js 3.0 rc0 编译release报错 value for keystore is not valid. it must resolve to a single path

第一次编译是好好的,需要手工输入keystore文件地址和密码等等.第二次不需要输入,然后就直接出错了.   找了一下,发现第一步之后,cocos会记录ant信息到\frameworks\runtime-src\proj.android\ant.properties   打开这个文件发现: key.store=e:\cocos_projects\android.keystore 斜杠都少了一个,只需要改为 key.store=e:\\cocos_projects\\android.keystor