উত্তর:
সাইগউইনে আমি কীভাবে মাছ সংকলন করতে পেরেছি তা এখানে ।
প্রথমে আমাদের নিচের সাইগউইন প্যাকেজ রয়েছে তা নিশ্চিত করুন:
libncurses-devellibiconvautoconf (আসলেই মাছের নির্ভরতা নয়, তবে পরবর্তী ধাপের জন্য আমাদের এটি প্রয়োজন)এরপরে, 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/
configure.acজন্য চেকগুলি সরাতে সম্পাদনা করুনiconvএখন কোনও কারণে, সঠিকভাবে ./configureসনাক্ত করতে পারে libiconvনা। সমস্যাটি পেতে আমরা এর জন্য চেকটি সরিয়ে ফেলি (আমরা পরে lib নির্দিষ্ট করে দেব)। এটি করার জন্য, আমরা configure.acচেকগুলি সম্পাদনা করি এবং মুছে ফেলি iconv_open। iconv_open3 ঘটনা প্রকাশিত জন্য অনুসন্ধান ; আমরা তাদের সব মন্তব্য। সুতরাং, থেকে:
AC_SEARCH_LIBS( iconv_open, iconv, ....)
আমরা এতে পরিবর্তন করি:
#AC_SEARCH_LIBS( iconv_open, iconv, ....)
./configureএরপরে, আমরা ./configureস্ক্রিপ্টটি পুনরায় তৈরি করে autoconfচালিত করে কনফিগার স্ক্রিপ্টটি চালাব:
$ autoconf && ./configure
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>
translate_color': set_color.c:116: warning: implicit declaration of function strcasecmp 'set_color.c: ফাংশন ইন main': set_color.c:333: error: ছিল ERR' অঘোষিত (এই
libncurses-develএ পরিবর্তিত -Iপথটি ইনস্টল ও পরিবর্তন করেছেন ?
curses.hঅন্তর্ভুক্ত করা হচ্ছে না ( ERRসেখানে সংজ্ঞায়িত করা হয়েছে)। আপনি কি এখানে তাকিয়ে /usr/include/ncurses/দেখতে পারেন এবং এটি আছে কিনা?
গিটহাব-এ মাছের সমস্যাগুলি # 680 এবং # 319 পরীক্ষা করে দেখুন, সাইগউইনে আপনার মাছের সংকলনের জন্য যা যা প্রয়োজন তা রয়েছে।
#define HAVE_NCURSES_H 1উত্পন্ন হেডার ফাইলটিতেও যুক্ত করেছিconfig.h(উপরে উল্লিখিত একই কারণে)