記一次ORFfinder本地化所遇到的問題

記一次ORFfinder本地化所遇到的問題

ORFfinder: 0.4.1linux

本地化ORFfinder原本是一件至關簡單的事情,NCBI已經作的足夠簡潔,下載ORFfinder二進制文件,而後就能夠了。c++

可是我這邊卻出現了兩個問題:bash

1. libstdc++庫太舊

系統版本的libstdc++版本爲libstdc++.so.6.0.19,而ORFfinder依賴的CXXABI_1.3.8GLIBCXX_3.4.20libstdc++.so.6.0.19中的版本過低服務器

$ strings /lib64/libstdc++.so.6 | grep -i cxxabi
CXXABI_1.3                                     
CXXABI_1.3.1                                   
CXXABI_1.3.2                                   
CXXABI_1.3.3                                   
CXXABI_1.3.4                                   
CXXABI_1.3.5                                   
CXXABI_1.3.6                                   
CXXABI_1.3.7                                   
CXXABI_TM_1

因此運行ORFfinder會出現以下問題:網絡

$ /opt/orf-finder/ORFfinder -dryrun
/opt/orf-finder/bin/ORFfinder: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/orf-finder/bin/ORFfinder)                                              
/opt/orf-finder/bin/ORFfinder: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/orf-finder/bin/ORFfinder)

這個問題比較好解決,直接安裝新版的libgcc,而後把安裝位置加入到LD_LIBRAY_PATH裏面就好了。ui

2. 114的DNS問題

安裝了新版的libgcc,ORFfinder的運行仍是不能成功,顯示錯誤爲:code

Error: (308.5) [ID2]  Service not found        
Error: (315.2) CConn_Streambuf::CConn_Streambuf():  NULL connector: Unknown                    
Error: (308.5) [ID2]  Service not found        
Error: (315.2) CConn_Streambuf::CConn_Streambuf():  NULL connector: Unknown                    
Error: (308.5) [ID2]  Service not found        
Error: (315.2) CConn_Streambuf::CConn_Streambuf():  NULL connector: Unknown                    
Error: (308.5) [ID2]  Service not found        
Error: (315.2) CConn_Streambuf::CConn_Streambuf():  NULL connector: Unknown                    
Error: (308.5) [ID2]  Service not found
Error: (315.2) CConn_Streambuf::CConn_Streambuf():  NULL connector: Unknown
Error () : cannot open initial connection

顯示錯誤爲不能初始化鏈接,我想着多是服務器的網絡問題(由於我本地的電腦是能夠正常運行ORFfinder的),可是服務器是能夠正常的訪問NCBI的,我靈機一動,有多是DNS污染問題(純屬猜想),因而我在本身電腦上解析了一下NCBI的域名:get

$ dig ncbi.nlm.nih.gov
; <<>> DiG 9.11.1-P2-RedHat-9.11.1-2.P2.fc26 <<>> ncbi.nlm.nih.gov                             
;; global options: +cmd                        
;; Got answer:                                 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 105                                        
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1                           

;; OPT PSEUDOSECTION:                          
; EDNS: version: 0, flags:; udp: 4096          
;; QUESTION SECTION:                           
;ncbi.nlm.nih.gov.              IN      A      

;; ANSWER SECTION:                             
ncbi.nlm.nih.gov.       16456   IN      A       130.14.29.110                                  

;; Query time: 4 msec                          
;; SERVER: ***.***.***.***#53(***.***.***.***) 
;; WHEN: Mon Sep 18 19:27:20 CST 2017          
;; MSG SIZE  rcvd: 61

能夠發現,個人電腦解析到了:130.14.29.110這個IP,再在服務器上運行一下:cmd

$ dig ncbi.nlm.nih.gov                    

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7_3.1 <<>> ncbi.nlm.nih.gov                                 
;; global options: +cmd                        
;; Got answer:                                 
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 41493                                     
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1                           

;; OPT PSEUDOSECTION:                          
; EDNS: version: 0, flags:; udp: 4096          
;; QUESTION SECTION:                           
;ncbi.nlm.nih.gov.              IN      A      101.200.194.167

;; Query time: 3 msec                          
;; SERVER: 114.114.114.114#53(114.114.114.114) 
;; WHEN: 一 9月 18 19:34:21 CST 2017           
;; MSG SIZE  rcvd: 45

能夠看到域名被解析到:101.200.194.167了,那麼問題就浮出水面了。string

由於個人電腦是用的ISP提供的DNS,可是服務器的DNS被設置成了114.114.114.114,可能就是這個問題致使ORFfinder找不到正確的服務器(話說ORFfinder一個離線應用爲何要鏈接NCBI的服務器?)。

這時我把服務器的DNS也設置爲ISP提供的DNS,問題解決!

相關文章
相關標籤/搜索