濮阳杆衣贸易有限公司

主頁 > 知識庫 > perl操作MongoDB報錯undefined symbol: HeUTF8解決方法

perl操作MongoDB報錯undefined symbol: HeUTF8解決方法

熱門標簽:熱門電銷機器人 okcc外呼系統(tǒng)怎么調速度 惠州龍門400電話要怎么申請 智能機器人電銷神器 河南虛擬外呼系統(tǒng)公司 上海企業(yè)外呼系統(tǒng) 外呼電信系統(tǒng) 萬利達百貨商場地圖標注 電話機器人哪里有賣

因為shell操作mongo比較麻煩,只好嘗試使用perl操作mongo,perl需要操作mongodb必須先安裝相應的驅動,大部分人使用cpan安裝,個人覺得太麻煩,使用cpanm安裝perl模塊。

復制代碼 代碼如下:

# 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報錯了,使用–force參數(shù)

復制代碼 代碼如下:

# 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

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

腳本內容:

復制代碼 代碼如下:

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

運行:

復制代碼 代碼如下:

# 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)一篇相關文章.一群人討論這個問題。其中一個人的解決方法如下:

復制代碼 代碼如下:

# 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
添加如下內容到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腳本運行ok.

實際上是因為不兼容的問題,對于系統(tǒng)RHEL5/CENTOS5發(fā)行版,mongodb的perl驅動最后的一個版本是v0.45

如下是國外網友的回復:

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啟動報錯 28663 Cannot start server
  • MongoDB添加仲裁節(jié)點報錯:replica set IDs do not match的解決方法
  • NodeJS連接MongoDB數(shù)據(jù)庫時報錯的快速解決方法
  • 關于mongoose連接mongodb重復訪問報錯的解決辦法
  • Mongodb 崩潰報錯 Too many open files的問題解析

標簽:周口 秦皇島 淮安 綿陽 百色 合肥 周口 綏化

巨人網絡通訊聲明:本文標題《perl操作MongoDB報錯undefined symbol: HeUTF8解決方法》,本文關鍵詞  perl,操作,MongoDB,報錯,undefined,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《perl操作MongoDB報錯undefined symbol: HeUTF8解決方法》相關的同類信息!
  • 本頁收集關于perl操作MongoDB報錯undefined symbol: HeUTF8解決方法的相關信息資訊供網民參考!
  • 推薦文章
    晋中市| 涡阳县| 松阳县| 郯城县| 永嘉县| 苗栗县| 时尚| 武隆县| 苏州市| 都江堰市| 岑溪市| 如皋市| 蒲城县| 临澧县| 武胜县| 霞浦县| 荆门市| 大方县| 永宁县| 深州市| 乌拉特中旗| 大城县| 永清县| 任丘市| 凉城县| 秦皇岛市| 定兴县| 海兴县| 黎平县| 九江县| 且末县| 保定市| 陇川县| 玉山县| 太仆寺旗| 尼玛县| 怀来县| 梅州市| 府谷县| 中阳县| 辽阳市|