অটোকনফ, লিবিটোল এবং একটি অপরিজ্ঞাত AC_PROG_LIBTOOL


17

আমি একটি লাইব্রেরি তৈরির চেষ্টা করছি, এবং README নির্দেশাবলী হ'ল কনফিগারেশন.একে কল করুন, তারপরে তৈরি করুন।

দুর্ভাগ্যক্রমে, আমি একটি ত্রুটির মধ্যে চলেছি:

configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token is legitimate please use m4_pattern_allow

এখন, আমি জানি যে আমি লিবটোল ইনস্টল করেছি (আমি সায়েন্টিফিক লিনাক্স 6.2 চালাচ্ছি (আন-আপগ্রেড করা), এবং অটোমেক, অটোকনফ, লিবটোল এবং লিবটোল-ডেভেল এর ক্ষেত্রে আরপিএমগুলি পেতে yum --downloadonly ব্যবহার করেছি)।

সেগুলি ইনস্টল করা আছে, এবং লিবটোল বর্তমানে / ইউএসআর / শেয়ার / লাইবটোলে বাস করে। তবে অটোকনফ এটি খুঁজে পাবে না বলে মনে হচ্ছে।

গুগলের সমস্ত ফলাফল 'ইন্সটল লিবটোয়াল' ধরণের ছিল যা আমাকে মোটেই সহায়তা করে না। যে কোনও সহায়তা বা দিকনির্দেশনা সত্যই প্রশংসিত হবে। আমি নিশ্চিত নই যে সমস্যাটি যদি আরপিএম-আমি এখানে লিবিটোল পেয়েছে, বা যদি / usr / share / libtool অন্য কোথাও লিঙ্ক করার প্রয়োজন হয় (যাতে এবং অন্য যে কোনও কিছুই এটি খুঁজে পেতে পারে)।

উত্তর:


11

ইন্টারনেটে বিভিন্ন ফোরামে আমি যে সমস্ত "কেবল পুনরায় ইনস্টল" করেছি তার উত্তরগুলি নিয়ে আমি সন্তুষ্ট নই, সুতরাং একটি নন-ডিস্ট্রো লিবিটোল ইনস্টল না করে এটিকে সমাধান করার জন্য আবদ্ধ এবং দৃ determined়প্রতিজ্ঞ ছিল। (আমি সেন্টোস on এ চলছি))

আমি যখন https://www.gnu.org/software/automake/manual/html_node/Macro-S Search-Path.html পড়ি তখন আমার মাথার উপরের লাইটবাল্ব জ্বলে ওঠে । ম্যাক্রো ফাইলগুলি সন্ধানের জন্য ব্যবহৃত অনুসন্ধানের পথটি একটি দ্বারা সংজ্ঞায়িত হয় --prefix, এটি সাধারণত ডিফল্টরূপে হয় /usr/local। সুতরাং একটি প্যাকেজ যা ইনস্টল করা হবে জন্য autoconf /usr/localঅনুসন্ধান /usr/local/share/aclocal-APIVERSIONএবং /usr/local/share/aclocal

CentOS7 সহ অনেকগুলি ডিস্ট্রো-তে, এর জন্য সাতটি ম্যাক্রো ফাইলগুলি libtoolsনীচের /usr/share/aclocalচেয়ে ইনস্টল করা আছে /usr/local/share/aclocal। ফলস্বরূপ, আপনি যে প্যাকেজটি তৈরি করছেন তা যখন উপসর্গ সেট করে তখন সেগুলি পাওয়া যায় না /usr/local

আপনার যদি ইতিমধ্যে একটি /usr/local/share/aclocalডিরেক্টরি থাকে তবে এটি ঠিক করতে , নীচেরটি রুট হিসাবে টাইপ করুন:

for file in argz libtool ltdl ltoptions ltsugar ltversion lt~obsolete
do
  ln -s /usr/share/aclocal/$file.m4 /usr/local/share/aclocal/$file.m4
done

যদি আপনার কোনও /usr/local/share/aclocalডিরেক্টরি না থাকে তবে এটির সমাধান করতে , নীচেরটি রুট হিসাবে টাইপ করুন:

ln -s /usr/share/aclocal /usr/local/share/aclocal

Voilà - সমস্যা সমাধান হয়েছে।


দুর্দান্ত টিপ, কমপক্ষে আমার জন্য এটি সেন্টস 7 ক্লাস্টারে এই (স্যুপার-ক্রমবর্ধমান, ধ্রুবক) সমস্যা স্থির করেছে। যদি প্রকল্পের জাহাজগুলি autogen.shআপনি অন্য বিকল্পগুলির সাথে exec autoreconfঅন্তর্ভুক্ত -I /usr/share/alocalকরার জন্য লাইনটিও সংশোধন করতে পারেন , যা আমি আসলে করেছি। configureস্ক্রিপ্টটি তৈরি করতে প্রকৃত আদেশটি হ'ল autoreconf -v -f -i -I /usr/share/aclocal
TheDudeAbides

11

আপনি অবশ্যই libtool ইনস্টল করা উচিত

উবুন্টুতে:

sudo apt-get install libtool

redhat ভিত্তিতে:

yum install libtool

5
প্রশ্ন ইতিমধ্যে বলেছিল এটি সমস্যা নয়।
কেভিন প্যাঙ্কো

9

আমি লিবিটোল এবং অন্যকেও অ-মানক ডিরেক্টরিতে ইনস্টল করেছি এবং এই ত্রুটিটি আসলে অটোকনফ লিবটোলের এম 4 ম্যাক্রোগুলি সন্ধান করতে সক্ষম নয়। হ্যাঁ এটি লিবটোল ইনস্টল না হওয়ার কারণে হতে পারে তবে এটি একটি অ-মানক ইনস্টল ডিরেক্টরিতে থাকার কারণেও হতে পারে। এখানে আমার সংশোধন:

export ACLOCAL_PATH=$HOME/install/libtool/share/aclocal:$ACLOCAL_PATH

যা আমি রেখেছি আমার .bash_profile


2
এটি করার আরেকটি উপায়: অটোরেকনফ -আই / হোম / ইনস্টল / লাইবটোল / শেয়ার / অ্যাকোকোকাল
মোরারু লিলিয়ান

1

আপনাকে করার প্রয়োজন পুনরায় ইনস্টল অর্ডার ত্রুটি ঠিক তাই এই পদক্ষেপগুলি অনুসরণ করুন এটা:

1] ইনস্টল করা থাকলে বর্তমান লিবটোল সরান: sudo apt-get purge libtool

২] অফিসিয়াল ওয়েবসাইট https://www.gnu.org/software/libtool/ থেকে এটি ডাউনলোড করুন

3] এটি অন্টার: tar -xzvf "name of the tar_file"

4] ফোল্ডারটি লিখুন এবং টাইপ করুন: ./configure && make

5] এটি ইনস্টল করুন: sudo make install

এবং আপনি হয়ে গেছেন, ত্রুটি ঠিক করা উচিত!


0
configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token is legitimate please use m4_pattern_allow

এখন, আমি জানি যে আমি লিবটোল ইনস্টল করেছি ...

আমি এটি দেখতে পেয়েছি যে সাধারণত আপনার কাছে libtoolবিকাশ গিয়ার ইনস্টল করা নেই (যদিও আপনি libtoolইনস্টল করেছেন)।

আপনার libltdl-devদেবিয়ান এবং উবুন্টুতে ইনস্টল করা উচিত ; এবং libtool-ltdl-develফেডোরায়।


প্যাকেজগুলির জন্য অনুসন্ধানগুলি এখানে রয়েছে।

ফেডোরা

$ yum search libtool
======================== Name Exactly Matched: libtool =========================
libtool.x86_64 : The GNU Portable Library Tool
======================= Summary & Name Matched: libtool ========================
libtool-ltdl.x86_64 : Runtime libraries for GNU Libtool Dynamic Module Loader
libtool-ltdl.i686 : Runtime libraries for GNU Libtool Dynamic Module Loader
libtool-ltdl-devel.x86_64 : Tools needed for development using the GNU Libtool
                          : Dynamic Module Loader
libtool-ltdl-devel.i686 : Tools needed for development using the GNU Libtool
                        : Dynamic Module Loader
=========================== Summary Matched: libtool ===========================
mingw32-libltdl.noarch : Runtime libraries for GNU Libtool Dynamic Module Loader
mingw64-libltdl.noarch : Runtime libraries for GNU Libtool Dynamic Module Loader

উবুন্টু

$ apt-cache search libtool
autotools-dev - Update infrastructure for config.{guess,sub} files
libltdl-dev - System independent dlopen wrapper for GNU libtool
libltdl7 - System independent dlopen wrapper for GNU libtool
libtool - Generic library support script
libtool-bin - Generic library support script (libtool binary)
libtool-doc - Generic library support script
...
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.