সাইগউইনে ফিশ শেল কীভাবে ব্যবহার করবেন?


15

সাইগউইন দিয়ে ফিশ শেল ব্যবহার করা কি সম্ভব? আমি সাইগউইনে উত্সটি সংকলন করতে সক্ষম হয়েছি এবং আমি কোনও পূর্বনির্ধারিত প্যাকেজ পেলাম না। সাইগউইনে মাছ না থাকার জন্য কি কোনও ভাল কারণ আছে?

উত্তর:


23

ফিশ শেল ২.১.০ এখন আনুষ্ঠানিকভাবে সাইগউইনে সমর্থিত, এটি ডিফল্ট ইনস্টলার ব্যবহার করে এটি ইনস্টল করা সম্ভব।


15

সাইগউইনে আমি কীভাবে মাছ সংকলন করতে পেরেছি তা এখানে ।

পদক্ষেপ 1: সমস্ত নির্ভরতা ইনস্টল করা আছে কিনা তা পরীক্ষা করুন

প্রথমে আমাদের নিচের সাইগউইন প্যাকেজ রয়েছে তা নিশ্চিত করুন:

  • libncurses-devel
  • libiconv
  • autoconf (আসলেই মাছের নির্ভরতা নয়, তবে পরবর্তী ধাপের জন্য আমাদের এটি প্রয়োজন)

পদক্ষেপ 2: সর্বশেষ উত্সটি ডাউনলোড করুন এবং নিষ্কাশন করুন

এরপরে, http://fishshell.com থেকে সর্বশেষ উত্সটি ডাউনলোড করুন (আমি ফিশ-1.23.1 . tar.gz ব্যবহার করেছি )। আপনার পছন্দসই ডিরেক্টরিতে উত্সটি বের করুন এবং এতে সিডি করুন:

$ tar zxvf fish-1.23.1.tar.gz -C /usr/local/src/
$ cd /usr/local/src/fish-1.23.1/

পদক্ষেপ 3: এর configure.acজন্য চেকগুলি সরাতে সম্পাদনা করুনiconv

এখন কোনও কারণে, সঠিকভাবে ./configureসনাক্ত করতে পারে libiconvনা। সমস্যাটি পেতে আমরা এর জন্য চেকটি সরিয়ে ফেলি (আমরা পরে lib নির্দিষ্ট করে দেব)। এটি করার জন্য, আমরা configure.acচেকগুলি সম্পাদনা করি এবং মুছে ফেলি iconv_openiconv_open3 ঘটনা প্রকাশিত জন্য অনুসন্ধান ; আমরা তাদের সব মন্তব্য। সুতরাং, থেকে:

AC_SEARCH_LIBS( iconv_open, iconv, ....)

আমরা এতে পরিবর্তন করি:

#AC_SEARCH_LIBS( iconv_open, iconv, ....)

পদক্ষেপ 4: পুনর্নির্মাণ এবং রান করুন ./configure

এরপরে, আমরা ./configureস্ক্রিপ্টটি পুনরায় তৈরি করে autoconfচালিত করে কনফিগার স্ক্রিপ্টটি চালাব:

$ autoconf && ./configure

পদক্ষেপ 5: Makefileসঠিক পথ অন্তর্ভুক্ত করতে সম্পাদনা করুনcurses.h

আরেকটি সমস্যার মুখোমুখি হলাম curses.h- জিসিসি এটি খুঁজে পেল না। একটি দ্রুত অনুসন্ধানে এটি প্রকাশিত হয়েছে /usr/include/ncurses

Makefileএকটি হার্ডকোডেড এটা জন্য রাস্তা অন্তর্ভুক্ত হয়েছে CFLAGS, কিন্তু এটি স্থানটিকে /usr/local/include/ncursesপরিবর্তে।

সুতরাং, আমরা সম্পাদনা Makefileএবং পরিবর্তন:

CFLAGS = -I/usr/local/include/ncurses -std=c99 ....

প্রতি

CFLAGS = -I/usr/include/ncurses -std=c99 ...

পদক্ষেপ:: LDFLAGSলিঙ্কে রফতানি করুন libiconvএবং আমরা সংকলন / ইনস্টল করতে প্রস্তুত।

অবশেষে, আমরা LDFLAGSলিঙ্ক ইন করার জন্য প্রয়োজনীয় রফতানি করি iconv, তারপরে সংকলন এবং ইনস্টল করুন!

$ export LDFLAGS="-liconv"
$ make && make install

উপভোগ করুন fish

$ fish
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
me@home /u/l/s/fish-1.23.1> 

+1 আমি উপরে পদক্ষেপগুলি কাজ করা উচিত তা নিশ্চিত করতে পারি। আমি #define HAVE_NCURSES_H 1উত্পন্ন হেডার ফাইলটিতেও যুক্ত করেছি config.h(উপরে উল্লিখিত একই কারণে)
আম্রো ২

আমি libiconv এবং সেট LDFLAGS ইনস্টল করেছি, কিন্তু আমি এখনও কোনো ত্রুটির সম্মুখীন হয়েছেন: set_color.c: 16: 20: curses.h: কোন ফাইল বা ডিরেক্টরির set_color.c: ফাংশন ইন translate_color': set_color.c:116: warning: implicit declaration of function strcasecmp 'set_color.c: ফাংশন ইন main': set_color.c:333: error: ছিল ERR' অঘোষিত (এই
ফাংশনটিতে

প্রথমদিকেও আমি ত্রুটিটি দেখেছি। আপনি কি `মেকফিল (পদক্ষেপ 5) libncurses-develএ পরিবর্তিত -Iপথটি ইনস্টল ও পরিবর্তন করেছেন ?
শান চিন

হ্যাঁ, আমি এমনকি পুনরায় ইনস্টল করেছি libncurses-devel, ঠিক নিশ্চিত হওয়ার জন্য। সম্ভবত আপনার সিস্টেমে অন্য একটি নির্ভরতা আছে যা ইতিমধ্যে উপস্থিত ছিল? : ত্রুটির বার্তা আমি নিম্নলিখিত বাগ রিপোর্ট পেয়েছি জন্যে sourceforge.net/tracker/...
muriloq

@ মুরিলোক মতামতগুলি curses.hঅন্তর্ভুক্ত করা হচ্ছে না ( ERRসেখানে সংজ্ঞায়িত করা হয়েছে)। আপনি কি এখানে তাকিয়ে /usr/include/ncurses/দেখতে পারেন এবং এটি আছে কিনা?
শন চিন

0

গিটহাব-এ মাছের সমস্যাগুলি # 680 এবং # 319 পরীক্ষা করে দেখুন, সাইগউইনে আপনার মাছের সংকলনের জন্য যা যা প্রয়োজন তা রয়েছে।


2
বাহ্যিক সংস্থানগুলিতে লিঙ্কগুলি উত্সাহিত করা হয় তবে দয়া করে লিঙ্কটির চারপাশে প্রসঙ্গটি যুক্ত করুন যাতে আপনার সহ ব্যবহারকারীদের এটি কী এবং কেন আছে তা কিছুটা ধারণা থাকতে পারে। টার্গেট সাইটটি যদি অ্যাক্সেসযোগ্য না হয় বা স্থায়ীভাবে অফলাইনে চলে যায় তবে সর্বদা গুরুত্বপূর্ণ লিঙ্কের সর্বাধিক প্রাসঙ্গিক অংশটি উদ্ধৃত করুন।
আশিল্ডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.