কয়েক ঘন্টা গুগল করার পরে, আমি আপনাকে ছেড়ে দেওয়ার এবং আপনাকে বিশেষজ্ঞদের জিজ্ঞাসা করার সিদ্ধান্ত নিয়েছি। আমি আমার 64 উবুন্টু ১১.১০-তে একটি 32-বিট অ্যাপ্লিকেশন (যদি কেউ আগ্রহী তবে এক্সগ্যাপ) তৈরি করার চেষ্টা করছি। আমি মেকফাইলে সিএফএলএগএস = -m32 এবং এলডিএফএলএজিএস = -L / usr / lib32 যুক্ত করেছি । অবজেক্টগুলি 32 বিট জরিমানা করে তৈরি করা হয়। শেষ পদক্ষেপটি হ'ল এক্স উইন্ডোজের জন্য সমস্ত অবজেক্ট এবং লাইব্রেরিগুলিকে এই এক্সিকিউটেবল --- এক্সগ্যাপে লিঙ্ক করা। এটি কোনওভাবে আমাকে এই ত্রুটি দেয়:
gcc -o xgap xcmds.o utils.o gapgraph.o gaptext.o pty.o popdial.o xgap.o selfile.o -L/usr/lib32 -lXaw -lXmu -lXt -lXext -lX11 -lSM -lICE
/usr/bin/ld: skipping incompatible /usr/lib32/libXmu.so when searching for -lXmu
...
/usr/bin/ld: i386 architecture of input file `xcmds.o' is incompatible with i386:x86-64 output
...
আমি ia32 -libs এবং mutilib সমর্থন ইনস্টল করেছি । আমি মনে করি কেবল লিঙ্কারকে i386 আউটপুট উত্পন্ন করতে বাধ্য করতে হবে। আমি আমার জিসিসি কমান্ডে দুটি এলডি পতাকা রাখার চেষ্টা করেছি যেমন উপরে প্রদর্শিত হয়েছে: -মেল্ফ_আই 386 এবং -ফর্ম্যাট এলফ 32-i386 । তবে যা ঘটে তা হ'ল জিসিসি আর / usr / lib32 তে 32 বিট লাইব্রেরি অনুসন্ধান করে না । আমি ভাবছি যদি আমাকে এই পতাকাগুলি কিছু নির্দিষ্ট ক্রমে রাখার দরকার হয়?
কোন ধারণা এবং সাহায্যের জন্য ধন্যবাদ!
সম্পাদনা করুন: যখন আমি আমার শেষ জিসিসি কমান্ড -m32 পতাকা যুক্ত করি (আমি বিশ্বাস করি যে লিঙ্কিং স্টেজ) আমি এমনকি জায়গায় -L / usr / lib32 পতাকা রাখি, জিসিসি আর / usr / lib32 অনুসন্ধান করে না (সত্যিই অদ্ভুত ...) এবং নিম্নলিখিত ত্রুটি উত্পন্ন করে:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../libXaw.so when searching for -lXaw
/usr/bin/ld: skipping incompatible /usr/lib/libXaw.so when searching for -lXaw
/usr/bin/ld: cannot find -lXaw
collect2: ld returned 1 exit status
কারও ধারণা আছে কেন এমন হয়? আমি কনফিগার এবং তৈরি করতে অটো সরঞ্জাম ব্যবহার করছি। আমি এই স্ক্রিপ্ট ফাইলগুলি পরিবর্তন করতে সত্যিই ভাল।
ইআইডিডি : আমি সমস্যাটি সমাধান করেছি। আমি মনে করি যে সিসিটি স্থির গ্রন্থাগার সংরক্ষণাগারটি প্রত্যাশা করেছিল। লিঙ্কের জন্য প্রয়োজনীয় সমস্ত .a সংরক্ষণাগার ডাউনলোড করতে আমি http://ubuntuforums.org/showthread.php?t=474790 থেকে getlibs স্ক্রিপ্টটি ব্যবহার করেছি । তারপরে জিসিসি কাজ করেছিল। আমি মনে করি জিসিসি খোজ দা সার্চ মারলে , / usr / lib32 ডিরেক্টরির কিন্তু খুঁজে পাইনি .a আর্কাইভ তাই মান ডিরেক্টরির যা অনুসন্ধান করেন / usr / lib যেখানে এটি খুঁজে বের করে বেমানান, .so * ফাইল।
তবে তারপরে প্রশ্নটি হল: * .so ফাইলগুলি / usr / lib32 / প্যাকেজ থেকে ia32 -libs আসলে লিঙ্কিংয়ের জন্য লাইব্রেরিগুলির প্রয়োজন নেই? / Usr / lib32 / এ থাকা ফাইলগুলি কীসের জন্য ব্যবহৃত হয়?