এসি-অক্সে ইনস্টল-শ, ইনস্টল.শ, বা শ্টোওল খুঁজে পাওয়া যায় না


81

লিনাক্স মেশিনে কোনও কিছু সংকলন এবং ইনস্টল করার চেষ্টা করা আমার এই প্রথমবার। আমি গিটের মাধ্যমে https://github.com/processone/exmpp এর সর্বশেষতম সংস্করণ পেয়েছি এবং নির্দেশাবলীটি কী পড়েছে তা পড়েছি:

2. বিল্ড এবং ইনস্টল

এক্সমপ অটোটুলগুলি ব্যবহার করে। সুতরাং প্রক্রিয়াটি বেশ সাধারণ:

$ ./configure
$ make
$ sudo make install

টাইপ পরে ./configureআমি ত্রুটি পেতে

এসি-অক্সে ইনস্টল-শ, ইনস্টল.শ, বা শ্টোওল খুঁজে পাওয়া যায় না

গুগল কোন সাহায্য ছিল না। আমার কী করা উচিত তা মোটেই নিশ্চিত নয়। কোন সাহায্যের অনেক প্রশংসা হবে

উত্তর:


109

নিম্নলিখিত সরঞ্জামগুলি ব্যবহার করে কনফিগার স্ক্রিপ্টটি তৈরি করতে পেরেছি:

libtoolize --force
aclocal
autoheader
automake --force-missing --add-missing
autoconf
./configure

আমার সমস্ত নির্ভরতা নেই তাই এখনই এটি পরীক্ষা করতে পারছি না, তবে এটি সাধারণত আপনি কোনও এসি ফাইল থেকে একটি কনফিগার স্ক্রিপ্ট তৈরি করবেন।


2
README এর নির্দেশাবলী সম্ভবত অন্য কোথাও অন্ধভাবে অনুলিপি করা হয়েছিল। আমাকে স্বীকার করতে হবে যে আমি অটোকনফ সরঞ্জামচেনের প্রতিটি বিবরণ বুঝতে পারি না; এটি মূলত ম্যাক্রোগুলির একটি সংগ্রহ যা আপনার কনফিগার স্ক্রিপ্ট তৈরি করতে ব্যবহৃত হয় এবং ব্যবহৃত হয় (যা পরিবর্তিতভাবে সংকলন এবং ইনস্টলেশন প্রক্রিয়াটির জন্য মঞ্চ নির্ধারণ করে)। আমাকে কখনই এই জিনিসগুলির সূক্ষ্ম সুর করতে হয়নি, সুতরাং আমি কোনও বিশেষজ্ঞ নই, তবে এখানে বেশ কয়েকটি বিস্তৃত ব্যাখ্যা রয়েছে
সেবাস্তিয়ান_ কে

12
প্রোগ্রামারদের জন্য নোট: অটোমেক সরঞ্জামচেন ব্যবহার বন্ধ করুন। দয়া করে
কিউস

1
@ কিউস, আপনি, দয়া করে, আমাদের ব্যাখ্যা করতে পারেন কেন?
সের্গেই

4
@ সের্গেই এটি অগোছালো, ধীর এবং নিয়মিত বিরতিতে চলেছে। এটি বিশৃঙ্খলভাবে সংশ্লেষ করে এবং অবিশ্বাস্যভাবে যাদু । নির্ভরতাগুলি হ্যান্ডল করার উপায় (বা এর অভাব) ক্রিপ্টিক ত্রুটি বার্তাগুলি দেয় এবং এটি যে ফাইলগুলি তৈরি করে তা অপঠনযোগ্য এবং সবচেয়ে খারাপভাবে রাতারাতিভাবে ভাঙা।
কিউস

4
@ সের্গেই সিএমকে আমার মতে এই মুহুর্তে সবচেয়ে কার্যকর vi আমি নিশ্চিত ভবিষ্যতে আরও কিছু ভাল হবে।
কিউস

40

ঠিক আছে, আমি সেবাস্তিয়ান_ক এর উত্তর চেষ্টা করেছি এবং এটি আমার পক্ষে কার্যকর হয়নি ( ./configureএকটি মাঝেই অতি বিস্মৃত ত্রুটির মধ্য দিয়ে ক্র্যাশ হয়ে গেছে)।

যাইহোক, আমার পক্ষে কাজটি হ'ল আমি এই বিল্ড লগটিতে ব্যবহৃত নির্দেশাবলী অনুলিপি করছিলাম

সংক্ষিপ্ত সংস্করণ (যাতে আপনাকে এটির মাধ্যমে নিজেকে ছড়িয়ে দিতে হবে না) হ'ল:

$ autoreconf -vif
$ ./configure --prefix=/usr/lib/erlang/lib
$ make
$ sudo make install

16
+1 টি। autoreconf -iসঠিক উত্তরটি ( vএবং fসাধারণত
নিমো

2
+1 টি। এটি আমার পক্ষে কাজ করা একমাত্র উত্তর।
weberc2

নিমো সুন্দর গৃহীত উত্তরটি প্রযুক্তিগতভাবে কাজ করে তবে আপনার দ্বারা এখন পর্যন্ত সবচেয়ে সহজ।
অবিন্দ্র গলচরণ

9

এই প্রশ্নটি এবং অন্যান্য উত্তরগুলির বেশিরভাগই জিএনইউ বিল্ড সিস্টেম (ওরফে অটোটুলস) ব্যবহার করে কীভাবে প্রকল্পগুলি বিতরণ করা হয় সে সম্পর্কে একটি ভুল বোঝাবুঝি থেকে উদ্ভূত হয়। আসলে, ওপি দ্বারা উল্লিখিত এরলং এক্সএমপিপি লাইব্রেরির ক্ষেত্রে , ভুল বোঝাবুঝি বিকাশকারীদের পক্ষে রয়েছে বলে মনে হয়।

সঠিকভাবে সফ্টওয়্যার প্রাপ্ত করা

আপনি যা করতে চান তা যদি GNU অটোটুলগুলি দিয়ে প্রকাশিত একটি প্রকল্প সংকলন এবং ইনস্টল করা হয় তবে আপনার উত্স নিয়ন্ত্রণ সিস্টেম থেকে এটি পরীক্ষা করা উচিত নয় । পরিবর্তে আপনার বিকাশকারী দ্বারা সরবরাহিত প্যাকেজযুক্ত উত্স রিলিজটি ডাউনলোড করা উচিত । এগুলি সাধারণত প্রকল্পের ওয়েবসাইটে বিতরণ করা টার্বলগুলির রূপ নেয়। যে প্রকল্পগুলি সম্পূর্ণ গিটহাব, সাভানাহ বা কিছু অনুরূপ হোস্টিং সার্ভিসে হোস্ট করা আছে তাদের জন্য এই ডাউনলোডগুলি সাধারণত "ডাউনলোড" বা "রিলিজ" লেবেলযুক্ত কিছু লিঙ্কের পিছনে পাওয়া যাবে। আপনি প্যাকেজটি অনুলিপি করেছেন এবং মানক ./configure && make && sudo make installউত্সের কিছু বৈকল্পিক উচ্চারণ করেছেন । এখানেই শেষ; আপনার কোনও জিএনইউ অটটুলগুলি চালনা করার দরকার নেই এবং আপনার সিস্টেমে জিএনইউ অটটুলগুলি ইনস্টল করার দরকার নেই।

আপনার, ব্যবহারকারী, কোনও অটটুলস-প্যাকেজড প্রকল্পটি সংকলনের জন্য জিএনইউ অটটুলগুলির প্রয়োজন না হওয়ার কারণটি হ'ল বিকাশকারী ইতিমধ্যে একটি "বিতরণ টার্বল" তৈরি করতে বিভিন্ন অটোটুল প্রোগ্রাম ব্যবহার করেছেন যা কোনওটিতে সফ্টওয়্যার তৈরি করতে ব্যবহার করা যেতে পারে ইউনিক্সের মতো সিস্টেম। বিতরণ টারবাল একটি অত্যন্ত পোর্টেবল configureস্ক্রিপ্ট রয়েছে যা বিল্ড এনভায়রনমেন্ট স্ক্যান করে, নির্ভরতার জন্য পরীক্ষা করে এবং Makefileআপনার সিস্টেমে একটি কাস্টমাইজড তৈরি করে।

সুতরাং আপনার কখন অটটুলগুলি দরকার?

আপনার যদি জিএনইউ অটটুলগুলি নিজেই ইনস্টল এবং আবেদনের প্রয়োজন কেবলমাত্র কারণ যদি আপনি অটোটুলস দিয়ে নির্মিত কোনও প্রকল্পে উন্নয়ন কাজ করতে চান । এবং তারপরেও, আপনি যদি প্রকল্পের নির্ভরতা পরিবর্তন না করেন তবে আপনার সম্ভবত অটটুলগুলির প্রয়োজন হবে না। যে ক্ষেত্রে, আপনি প্রকৃতপক্ষে মূল উৎস খুঁজে বার করো, Autotools-নির্দিষ্ট ইনপুট ফাইল (সঠিক পরিবর্তন করুন প্রয়োজন হবে configure.ac, Makefile.amইত্যাদি) একটি নতুন জেনারেট করতে তাদের উপর Autotools চালানোর জন্য, এবং configureফাইল। আপনি যদি স্বতন্ত্রভাবে সংশোধিত প্যাকেজটি প্রকাশ করতে চান তবে আপনি অটোটুলস দ্বারা উত্পাদিত মেকফিলটি একটি নতুন বিতরণ টারবল উত্পন্ন করতে ব্যবহার করবেন এবং তারপালটি অনলাইনে কোথাও প্রকাশ করবেন।

সমস্যাটি হ'ল কিছু বিকাশকারী তাদের উত্স সংগ্রহস্থলগুলি প্রকাশ্যে উপলভ্য করে তবে তাদের বিতরণ টার্বলগুলি প্রকাশ করতে (বা কোথায় প্রকাশিত হয়েছে তা খুঁজে পেতে অসুবিধা বোধ করেন)। উদাহরণস্বরূপ, বরং তাদের বিতরণ tarballs প্রকাশ যেমন GitHub রিলিজ , Erlang পাওয়া XMPP লাইব্রেরির GitHub রিলিজ কাঁচা উৎস সংগ্রহস্থলের tarballs হয়। এটি GNU অটোটুলগুলি ব্যতীত প্রকল্পটি সংকলন করা অসম্ভব করে তোলে, অটোটুলগুলি ব্যবহারের পুরো উদ্দেশ্যটিকে প্রথম স্থানে পরাজিত করে।

টিএল; ডিআর সারাংশ

জিএনইউ অটটুলগুলি এমন কিছু যা বিকাশকারীরা ব্যবহারকারীদের জন্য পোর্টেবল উত্স কোড প্যাকেজ তৈরি করতে ব্যবহার করে। ব্যবহারকারীদের উত্স নিয়ন্ত্রণ সিস্টেম থেকে মূল কোড নয়, এই উত্স প্যাকেজগুলি থেকে ডাউনলোড এবং সংকলন করা উচিত। যদি বিকাশকারীরা এই উত্স প্যাকেজগুলি সরবরাহ না করে তবে তারা অটোটুলগুলি সঠিকভাবে ব্যবহার করছে না এবং যতক্ষণ না তারা তাদের উপায়গুলির ত্রুটিটি দেখে ততক্ষণ আস্তে আর্দ্র ট্রাউট দিয়ে চাপ দেওয়া উচিত ।


এই দীর্ঘ পোস্টটি প্রশ্নের সাথে সম্পর্কিত কীভাবে? ওপি কি অটোটুলগুলি ব্যবহার করার চেষ্টা করেছিল? তারা কিছু নরম ডাউনলোড করেছে এবং ./configure && make && sudo make installআপনার দ্বিতীয় অনুচ্ছেদে পরামর্শ মতো দৌড়েছে ।
পাইলট 6

3
এটি প্রাসঙ্গিক কারণ ওপি দ্বারা ডাউনলোড করা সফ্টওয়্যারটিতে একটি সঠিক কনফিগার স্ক্রিপ্ট নেই (এবং উত্স নিয়ন্ত্রণের সর্বশেষতম সংস্করণ, ছাড়াও মুক্তিপ্রাপ্ত টারবলগুলি মোটেই একটি কনফিগার স্ক্রিপ্ট ধারণ করে না)। এখানকার প্রায় সমস্ত উত্তরই ওপিকে অটোটুল চালানোর জন্য বলছে। যদিও এটি সমস্যার সমাধান করতে পারে, এর মূল কারণটি বোঝা গুরুত্বপূর্ণ: বিকাশকারীরা অটোটুলগুলি চালনার জন্য দায়বদ্ধ এবং তারা এটি সঠিকভাবে (বা মোটেও) করেন নি।
সাইকোনাট

1
এটি একটি ভাল উত্তর, এবং যদিও আমার কাছে "ভিজা ট্রাউট দিয়ে ধীরে ধীরে থাপ্পড় দেওয়া" এই শব্দটি পছন্দ হয়েছে তবে বাগের প্রবাহকে বাগ রিপোর্ট করার জন্য সঠিক প্রতিক্রিয়াটি স্পষ্টভাবে উল্লেখ করা আরও উপযুক্ত হতে পারে।
উইলিয়াম পার্সেল

1
পছন্দ করুন :)
সাইকোনাট

4

আমার এই সমস্যা হয়েছে এবং আমি এটি নিম্নলিখিত লাইনের কারণে পেয়েছি configure.ac:

AC_CONFIG_AUX_DIR([build-aux])

লাইনটি সেঞ্চুরির জন্য খারাপ ছিল না, তবে এটি configure.acফাইলের শীর্ষে সরিয়ে নেওয়া প্রয়োজন ।


3

এই সমস্যাটি সমাধান করার জন্য দয়া করে নিম্নলিখিতটি করুন,

sudo apt-get install autogen libtool shtool

তারপরে ইনস্টলেশন করুন

sh autogen.sh --prefix=prefered_install_path
make 
make install 

2

মার্চুরিয়াল রিপোজিটরি থেকে জিএনইউ অক্টভে সংকলনের চেষ্টা করার সময়, আপনি এই সমস্যাটি দেখতে পাবেন। ./bootstrapউত্স গাছের গোড়ায় থাকাকালীন ফিক্সটি চালানো উচিত ।



0

যখন আমি ./configureএকটি উত্স কোড চেষ্টা করেছি এবং পোস্টের মতো একই ত্রুটি পেয়েছি তখনও আমার অনুরূপ সমস্যা হয়েছিল । শেষ পর্যন্ত কোডটি প্রবেশ করে আমার সমস্যাগুলি সমাধান করুন:

sudo apt-get install autotools-dev

2
ত্রুটি: প্যাকেজ অটোটুলগুলি সনাক্ত করতে অক্ষম।
মৌরিসিও শেফার

একই অবস্থা. ত্রুটি: প্যাকেজ অটোটুলগুলি সনাক্ত করতে অক্ষম। Downvoted। দুঃখিত।
পি জুনিয়র

আমি প্যাকেজটি ইতিমধ্যে ইনস্টল করেছি, তা যাই হোক না কেন। কনফিগার স্ক্রিপ্ট তবুও borked হয়।
বোয়ান

0

autogenপ্যাকেজ ইনস্টল করার পরে এই ত্রুটিটি wolfSSLবিল্ডে সমাধান হয়েছে ।

sudo apt-get install autogen libtool shtool

0

আমার কিছুটা ভিন্ন ত্রুটি ছিল:

configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."

এটি কনফিগার খুঁজে পায় নি build-aux/install-sh। আমি এটির মতো সংযুক্ত করেছি

ln -s build-aux/install-sh .

তারপর এটি তৈরি করে।

আশা করি সেখানকার কাউকে সাহায্য করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.