佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > perl操作MongoDB報(bào)錯(cuò)undefined symbol: HeUTF8解決方法

perl操作MongoDB報(bào)錯(cuò)undefined symbol: HeUTF8解決方法

熱門標(biāo)簽:客戶服務(wù) 百度AI接口 呼叫中心市場需求 語音系統(tǒng) 硅谷的囚徒呼叫中心 Win7旗艦版 電話運(yùn)營中心 企業(yè)做大做強(qiáng)

因?yàn)閟hell操作mongo比較麻煩,只好嘗試使用perl操作mongo,perl需要操作mongodb必須先安裝相應(yīng)的驅(qū)動(dòng),大部分人使用cpan安裝,個(gè)人覺得太麻煩,使用cpanm安裝perl模塊。

復(fù)制代碼 代碼如下:

# cpanm MongoDB
--> Working on MongoDB
Fetching http://www.cpan.org/authors/id/F/FR/FRIEDO/MongoDB-0.702.1.tar.gz ... OK
Configuring MongoDB-0.702.1 ... OK
Building and testing MongoDB-0.702.1 ... FAIL
! Installing MongoDB failed. See /root/.cpanm/work/1376540233.15152/build.log for details. Retry with --force to force install it.

cpanm報(bào)錯(cuò)了,使用–force參數(shù)

復(fù)制代碼 代碼如下:

# cpanm MongoDB --force
--> Working on MongoDB
Fetching http://www.cpan.org/authors/id/F/FR/FRIEDO/MongoDB-0.702.1.tar.gz ... OK
Configuring MongoDB-0.702.1 ... OK
Building and testing MongoDB-0.702.1 ... FAIL
! Testing MongoDB-0.702.1 failed but installing it anyway.
Successfully installed MongoDB-0.702.1 (upgraded from 0.702.0)
1 distribution installe

看起來一切完好。測試腳本

腳本內(nèi)容:

復(fù)制代碼 代碼如下:

# cat /root/testMongo.pl
#!/usr/bin/perl
use MongoDB;
my $connection = MongoDB::Connection->new( host => 'localhost', port => 27017);

運(yùn)行:

復(fù)制代碼 代碼如下:

# perl /root/testMongo.pl
/usr/bin/perl: symbol lookup error: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/MongoDB/MongoDB.so: undefined symbol: HeUTF8

google查詢“MongoDB.so: undefined symbol: HeUTF8”,只發(fā)現(xiàn)一篇相關(guān)文章.一群人討論這個(gè)問題。其中一個(gè)人的解決方法如下:

復(fù)制代碼 代碼如下:

# wget http://search.cpan.org/CPAN/authors/id/F/FR/FRIEDO/MongoDB-0.701.4.tar.gz
# tar -xzvf MongoDB-0.701.4.tar.gz
# cd MongoDB-0.701.4
添加如下內(nèi)容到perl_mongo.h:
/* supply HeUTF8 if it's missing - ppport.h doesn't supply it, unfortunately */
 #ifndef HeUTF8
 #define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \
 SvUTF8(HeKEY_sv(he)) : \
 (U32)HeKUTF8(he))
 #endif
# perl Makefile.PL
# make
# make install

perl腳本運(yùn)行ok.

實(shí)際上是因?yàn)椴患嫒莸膯栴},對于系統(tǒng)RHEL5/CENTOS5發(fā)行版,mongodb的perl驅(qū)動(dòng)最后的一個(gè)版本是v0.45

如下是國外網(wǎng)友的回復(fù):

The latest version to compile, test and install properly on Rhel5/Centos5 is v0.45 by KRISTINA. (requires Any::Moose)
https://metacpan.org/release/KRISTINA/MongoDB-0.45

您可能感興趣的文章:
  • MongoDB啟動(dòng)報(bào)錯(cuò) 28663 Cannot start server
  • MongoDB添加仲裁節(jié)點(diǎn)報(bào)錯(cuò):replica set IDs do not match的解決方法
  • NodeJS連接MongoDB數(shù)據(jù)庫時(shí)報(bào)錯(cuò)的快速解決方法
  • 關(guān)于mongoose連接mongodb重復(fù)訪問報(bào)錯(cuò)的解決辦法
  • Mongodb 崩潰報(bào)錯(cuò) Too many open files的問題解析

標(biāo)簽:山西 長沙 安康 喀什 崇左 海南 山西 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《perl操作MongoDB報(bào)錯(cuò)undefined symbol: HeUTF8解決方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    南丰县| 无锡市| 平南县| 藁城市| 积石山| 汽车| 桐柏县| 扶余县| 甘泉县| 蓝田县| 深州市| 庆云县| 西畴县| 普兰店市| 河津市| 微山县| 凤庆县| 永吉县| 大庆市| 和龙市| 东乡县| 汝城县| 康马县| 格尔木市| 达日县| 祁连县| 西乡县| 汝南县| 固镇县| 沁水县| 同仁县| 封开县| 延津县| 瓮安县| 衡东县| 肃宁县| 大田县| 玉林市| 卢龙县| 武川县| 山西省|