2017-06-20 20 views
6

पर libgfortran.so.3 खोजने में असमर्थ। मैं सिर्फ एक महीने के लिए छुट्टी पर था इसलिए यह सही बिंदु कहने में असमर्थ था, लेकिन यह आधिकारिक आर्क रिपोज़ से R अब असमर्थ है शुरू करने के लिए,आर v3.4.0-2 आर्क

/usr/lib64/R/bin/exec/R: error while loading shared libraries: 
libgfortran.so.3: cannot open shared object file: No such file or directory 

का हवाला देते हुए मैंने सोचा कि शायद एक सिमलिंक अनुचित तरीके से रखा या नष्ट कर दिया, तो मैं/usr/lib में देखा यह पता लगाने की कोशिश करने के लिए किया गया था:

ls -halt /usr/lib/libgfortran.so.*

lrwxrwxrwx 1 root root 20 May 16 03:01 /usr/lib/libgfortran.so.4 -> libgfortran.so.4.0.0 
-rwxr-xr-x 1 root root 7.1M May 16 03:01 /usr/lib/libgfortran.so.4.0.0 

है libfortran.so.3 को आर्क में libgfortran.so.4 से हटा दिया गया है? यदि हां, तो पुराने संस्करण के साथ चलाने के लिए R प्राप्त करने के लिए कोई संभावित कार्यवाही है?


pacman -Qi r

Name   : r 
Version   : 3.4.0-2 
Description  : Language and environment for statistical computing and graphics 
Architecture : x86_64 
URL    : http://www.r-project.org/ 
Licenses  : GPL 
Groups   : None 
Provides  : None 
Depends On  : blas lapack bzip2 libpng libjpeg libtiff ncurses pcre readline zlib perl gcc-libs libxt libxmu pango xz desktop-file-utils zip unzip 
Optional Deps : tk: tcl/tk interface [installed] 
        texlive-bin: latex sty files [installed] 
Required By  : None 
Optional For : graphviz 
Conflicts With : None 
Replaces  : None 
Installed Size : 58.04 MiB 
Packager  : Evangelos Foutras <[email protected]> 
Build Date  : Tue 25 Apr 2017 05:04:31 AM EDT 
Install Date : Tue 20 Jun 2017 12:27:06 PM EDT 
Install Reason : Explicitly installed 
Install Script : No 
Validated By : Signature 

संपादित करें: किसी और को इस भर आता है, तो r-devel AUR सही ढंग से संकलित करता है तथा रन, इसलिए उम्मीद है अगले संस्करण पर टक्कर समस्या हल हो जाएगी।

उत्तर

3

वास्तव में, gfortran 7 ligfortran संस्करण को संस्करण 4 पर टक्कर देता है। http://gcc.1065356.n8.nabble.com/patch-fortran-PR77828-Linking-gfortran-7-compiled-program-with-libgfortran-of-5-x-allowed-but-crashes-td1311625.html देखें यह पिछड़ा संगत नहीं है और कुछ एपीआई बदल गए हैं।

यदि आप gfortran का पुराना संस्करण स्थापित करते हैं तो आपको libgfortran.so.3 मिल जाएगा। आपके सिस्टम में कई संस्करण होने के लिए यह बिल्कुल ठीक है। शायद संस्करण 4 के लिए आर को पुनर्निर्माण करने का एक तरीका है, लेकिन यह संभवतः अधिक काम करेगा।

+0

धन्यवाद व्लादिमीर, क्या आप केवल gfortran को डाउनग्रेड करने के लिए किसी भी तरीके से अवगत हैं 6. * सभी 'gcc' को डाउनग्रेड किए बिना? सामान्य विधि ('pacman' से पैकेज के कैश किए गए संस्करण को स्थापित करना) दुर्भाग्यवश एक नो-गो है, क्योंकि इसे' gcc' के समान संस्करण की आवश्यकता है और मैं अपने शेष सिस्टम को बस्ट करने के लिए तैयार नहीं हूं। –

+0

डाउनग्रेड न करें, यह एक अच्छा विचार नहीं है। जीसीसी के अतिरिक्त संस्करण स्थापित करें। –

+1

https://gist.github.com/slizzered/a9dc4e13cb1c7fffec53 –

1

मैं पाइफेरेट नामक एक सॉफ्टवेयर पर काम करता हूं जिसे libgfortran.so.3 की आवश्यकता होती है। मैं फेडोरा 27 चला रहा हूं जिसका पैकेज मैनेजर डिफ़ॉल्ट रूप से gfortran 7 (एक उच्च संस्करण) स्थापित करता है। यह /usr/lib64 में साझा ऑब्जेक्ट libgfortran.so.4 उत्पन्न करता है। उबंटू 16.04.3 चलने वाला एक अन्य लिनक्स सिस्टम, हालांकि libgfortran.so.3 है। मैं ~/pkgs/libs में अपने सिस्टम के लिए यह की नकल की और यह उपरोक्त त्रुटि के बिना काम किया

export LD_PRELOAD=/home/vasu/pkgs/libs/libgfortran.so.3:/home/vasu/pkgs/libs/libopenblas.so.0;pyferret 

के रूप में आवेदन भाग गया।

+0

एक चेतावनी, एक लिनक्स वितरण से दूसरे में बाइनरी की प्रतिलिपि बनाना कई अप्रत्याशित कारकों के आधार पर काम कर सकता है या नहीं। लेकिन यह जानना अच्छा है कि यह इस मामले में काम करता है। –

+1

हाँ। मैं सहमत हूँ। यह काम कर सकता है या नहीं भी हो सकता है। लेकिन यह मेरे मामले में काम करता था और ओपी इसे आज़मा सकता है।मुझे यह भी पता है कि सॉफ्टवेयर के उच्च संस्करण वाले सिस्टम में निचला संस्करण बनाना मुश्किल है। –

0

आरसीसी में कई पैकेज जीसीसी फोरट्रान पर निर्भर हैं। उनमें से कुछ को नए जीसीसी के खिलाफ संकलित करने के लिए अद्यतन नहीं किया गया है, जबकि कुछ पैकेज अपडेट किए गए हैं जो इन पर निर्भर हैं, डेल्डीर और रोबस्टबेस दो उदाहरण हैं।

अपनी चेतावनियों की जांच करें और लोड करने में विफल होने वाले किसी भी पैकेज को स्थापित करें, फिर अपग्रेड निष्पादित करें।

संबंधित मुद्दे