-Lgfortran খুঁজে পাচ্ছেন না


12

আমি আর (প্যাকেজ "কেএস") এ একটি প্যাকেজ ইনস্টল করার চেষ্টা করছি। এটি ত্রুটি বার্তার সাথে ব্যর্থ:

/usr/bin/ld: cannot find -lgfortran

আমি ইতিমধ্যে উবুন্টু প্যাকেজ বিল্ড-আবশ্যক ইনস্টল করেছি:

sudo apt-get install build-essential

আমি প্রতীকী লিঙ্কগুলি যুক্ত করার চেষ্টা করেছি:

sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so
sudo ln -s /usr/lib/libgfortran.so.3.0.0 /usr/lib/libgfortran.so
sudo ldconfig

আমি নিয়মিত জিসিসি এবং জি ++ ব্যবহার করি তবে এখনও গফরস্ট্রান ব্যবহারের কারণ পাইনি।

আমি অন্যদেরকে এই সমস্যাটি জিসিসি-৪.7 ( http://ubuntuforums.org/showthread.php?t=2123821 ) এ দেখেছি, তাই আমি অবাক হয়ে বলি যে এটি যদি স্বয়ংক্রিয়ভাবে gcc-4.7 ইনস্টল করা থেকে আসে। আমি এখানে এবং এখানে এখানে গৃহীত উত্তর থেকে রেসিপি অনুসরণ করেছি ।

lsb_release -aপ্রিন্ট চলছে

উবুন্টু 12.04.2 এলটিএস

এবং uname -rপ্রিন্ট চলমান

3.2.0-39-জেনেরিক-PAE

ldকাজ করে না কেন কেউ পরামর্শ দিতে পারে ?


1
আপনি রানটাইম লাইব্রেরিগুলির বিরুদ্ধে প্রতীকী লিঙ্কগুলি তৈরি করার চেষ্টা করেছিলেন , লিঙ্কার যেগুলি চায় তার চেয়ে বেশি নয় (* .a dev libs)। দেখে মনে হচ্ছে পথের ইস্যু।
আন্দ্রেজস ক্যানিকোভস

উত্তর:


5

আপনাকে গফর্ট্রান ইনস্টল করতে হবে। ত্রুটিটি নির্দেশ করে যে বিল্ড-টাইম সংযোগের জন্য স্ট্যাটিক লিবটি আপনি সামঞ্জস্য করার চেষ্টা করেছেন এমন গতিশীল লিবগুলি অনুপস্থিত।


আমি চেষ্টা করার পরে sudo apt-get install gfortran, আমি পেতে 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.... কোন চিন্তা আছে?
ব্যবহারকারী

ভাল, আমার সিস্টেমে আমি dpkg -S /usr/lib/gcc/x86)64-linux-gnu/4.6/libgfortran.aউত্তরটি পেয়েছি যে এটি gfortran-4.6প্যাকেজ থেকে from জিসিসি .a ফাইলটি সন্ধান করছে। আপনি যদি অন্য কোনও জিসিসি সংস্করণ ইনস্টল করেন তবে লিঙ্কারটি libgfortran.a এর জন্য অনুরূপ নামের একটি ডিরেক্টরিতে খুঁজছেন।
rfindeis

একটি কার্যকর উত্তর মত মনে হচ্ছে।
আন্দ্রেজস ক্যানিকোভস

4.7 সংকলকটির জন্য 4.6 লাইব্রেরির সাথে সংযুক্তি প্রতীক কাজ করতে পারে। এছাড়াও সঠিক পথে অতিক্রম করা -L(যা বেশিরভাগ ক্ষেত্রে একই)। যদি এটি ব্যর্থ হয় তবে আপনি জিপিসি ৪. for এর জন্য ব্যবহার করেছেন পিপিএ থেকে গফর্ট্রানের ৪.7 সংস্করণ ইনস্টল করতে হবে। আপনার এখন কোন গফর্ট্রান ভার্সন আছে?
rfindeis

গফর্ট্রন-৪. install ইনস্টল করতে আমার জিসিসি-৪.7 ইনস্টল করার মতো একই কৌশলটি ব্যবহার করা দরকার।
ব্যবহারকারী

9

ক্লাউড অলিভারের উত্তরের আরও কিছুটা ব্যাখ্যা।

এই কমান্ডের মাধ্যমে বর্তমানে ব্যবহৃত জিসিসি সংস্করণটি সন্ধান করুন।

$sudo update-alternatives --config gcc

* 2            /usr/bin/gcc-4.7   60        manual mode

*জিসিসির কোন সংস্করণ ব্যবহৃত হচ্ছে তা সহ এন্ট্রি জানায়। বর্তমান সেটিংস রাখতে কেবল এন্টার টিপুন।

যদি এটি "জিসিসির বিকল্প নেই" প্রিন্ট করে তবে সংস্করণটি জানতে আপনাকে এই আদেশটি ব্যবহার করতে হতে পারে:

apt-cache policy gcc
  1. cd ডান জিসিসি ডিরেক্টরিতে (আপনার সাথে সংস্করণ নম্বরটি প্রতিস্থাপন করুন):

    cd /usr/lib/gcc/x86_64-linux-gnu/4.7/
    
  2. আপনি libgfortran.aনিম্নলিখিত কমান্ডটি দিয়ে অনুসন্ধান করতে পারেন (search চ্ছিক)। আমার ক্ষেত্রে এটি /usr/lib/gcc/x86_64-linux-gnu/4.8/ডিরেক্টরিতে উপস্থিত ছিল ।

    find /usr/lib/gcc/x86_64-linux-gnu/ -name libgfortran.a
    
  3. সিমিলিংক তৈরি করুন:

    sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a
    

7

আমি যা করেছি, আমি উবুন্টু পরীক্ষা করে দেখি যে জি ++, জিসিসি এবং জি এর সংস্করণগুলি একই বা না হয়।

আমার ধারণা, আপনার যদি একই সংস্করণগুলির তিনটি থাকে তবে এটি ভাল।

# first check the versions:
gcc --version
g++ --version
gfortran --version

# If versions are different, then install:
sudo apt-get update
apt-get install gcc-4.9 g++-4.9 gfortran-4.9

আমার পক্ষে এটি উবুন্টুতে আরস্টুডিও ব্যবহার করে আরটিতে "টিটিআর" প্যাকেজ ইনস্টল করার সময় যে সমস্ত সমস্যার মুখোমুখি হয়েছিল সেগুলি সমাধান করেছে।


1
এটিই সঠিক সমাধান। উপরের সমাধানগুলির
কোনওটিই

1
আমি জিসিসি 6.5 এ আছি, তবে একই পদ্ধতিগুলি সমস্যার সমাধান করেছে। মজার বিষয়, একই উত্স: একটি অস্পষ্ট আর প্যাকেজ।
ইউফোস

হ্যাঁ, এটি আমি মনে করতে পারি এটির সেরা সমাধান।
মনোজ কুমার

4

সমাধান:

cd /usr/lib/gcc/x86_64-linux-gnu/4.6
sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a

আপনি কি এটি আরও কিছুটা ভার্বোজ বানিয়ে দিতে পারেন? cdঅন্তত একটি পৃথক লাইন?
ভোলকার সিগেল

2
দয়া করে একটি ব্যাখ্যা যুক্ত করুন। লোকেরা ইন্টারনেটে তারা খুঁজে পাবে না blind সুতরাং দয়া করে এগুলি লিখবেন না।
s3lph

আপনাকে ধন্যবাদ, এটি আমার জন্য এটি সমাধান করেছে! আমার ক্ষেত্রে এটি ছিল cd /usr/lib/gcc/x86_64-linux-gnu/4.9.3এবং তারপরে sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a
ঝুবার্ব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.