加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Unix CouchDB安装KERL

发布时间:2020-12-16 01:58:07 所属栏目:安全 来源:网络整理
导读:我试图从源包中的我的planetlab Unix机器上安装CouchDB. 我使用Kerl:http://docs.basho.com/riak/1.3.0/tutorials/installation/Installing-Erlang/#Install-using-kerl安装了Erlang r16b01 我从源包安装了openssl. 所以,我跑了“./configure –with-erlang
我试图从源包中的我的planetlab Unix机器上安装CouchDB.

我使用Kerl:http://docs.basho.com/riak/1.3.0/tutorials/installation/Installing-Erlang/#Install-using-kerl安装了Erlang r16b01

我从源包安装了openssl.

所以,我跑了“./configure –with-erlang = path / to / erlang / using / kerl”,我收到了错误

"configure: error: Could not find the Erlang crypto library"

此错误表示Erlang未使用OpenSSL支持进行编译.

所以,我尝试过使用
?“KERL_CONFIGURE_OPTIONS = – 与-SSL =路径/到/ OpenSSL的/ lib中”
(不确定我是否正确使用上述命令)
然后,重新安装并重新激活Erlang.
这仍然会带来同样的错误.

我检查了Erlang是否可以执行“crypto.start()”,它让我输入命令,但它没有像文档中那样回复“ok”:http://dennisreimann.de/blog/installing-couchdb-and-erlang-on-ubuntu-hardy/

请帮忙!

解决方法

1)您是否首先创建了一个用户couchdb,然后以该用户身份执行所有操作?包括erlang构建和安装?这可能会更容易.

2)你的测试中有一个错误,你需要在一个带有点的erl shell中终止你的命令,否则你没有得到任何响应,就像你已经注意到的那样.密码:start()方法.是正确的:

$erl
Eshell V6.1  (abort with ^G)                                                                        
1> crypto:start().                                                                                    
** exception error: undefined function crypto:start/0

成功构建和安装后,它将响应正常:

$erl
Eshell V6.1  (abort with ^G)                                                                              
1> crypto:start().                                                                                    
ok

然后你也可以阻止它:

2> crypto:stop().                                                                                    
ok
3> 
=INFO REPORT==== 10-Aug-2014::20:22:06 ===
    application: crypto
    exited: stopped
    type: temporary

3)您需要OpenSSL的开发包,包括头文件以及二进制命令程序openssl.至少需要0.9.8版本的OpenSSL.作为debian和ubuntu上的人的旁注,通常运行起来就足够了:

sudo apt-get install openssl libssl-dev

在您的情况下,您应该以某种方式确保您的openssl源安装包括以上所有(openssl二进制文件,头文件).

4)最有可能的是找到库的问题.我建议阅读这个处理基于unix的系统的答案,它可以指出你正确的方向:

https://stackoverflow.com/a/14776521/362951

取决于crypto:start()之后的错误消息.您可以尝试以某种方式添加路径和注销shell并重新登录,然后激活kerl并再试一次.如果它存在并在编译时找到,则无需重建.

5)你的kerl配置看起来不错.再次使用debian / ubuntu路径?/ .kerlrc可能看起来像

KERL_CONFIGURE_OPTIONS="--with-ssl=/usr/lib/ssl"

希望你插入的ssl路径是正确的.

您也可以尝试省略路径,也许它会自己找到正确的路径.在http://www.erlang.org/doc/installation_guide/INSTALL.html看起来这样做是有效的:

KERL_CONFIGURE_OPTIONS="--with-ssl"

目前kerl默默地生成一个没有加密的构建,如果它找不到标题https://github.com/yrashk/kerl/issues/31

6)我看到你给了couchdb的–with-erlang参数,是否指向正确的目录?或者它可能需要更深层次或更高层次.

否则可能是一个较旧的系统.如果找到,可以使用宽二郎.

此外,我不确定kerl环境和使用–with-erlang参数传递erlang位置到couchdb的组合是否有效.我没有尝试使用带有kerl的–with-erlang参数,因为我在编译couchdb之前激活了kerl环境,然后在couchdb启动脚本之前再次激活了kerl环境.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读