जवाबों:
Ia32-libs पैकेज 64-बिट इंस्टॉलेशन पर स्थापित 32-बिट पैकेज प्राप्त करने के लिए एक हैक था। Ubuntu संस्करण 11.10 (Oneiric) के बाद से, मल्टी आर्क को जोड़ा गया है। इसके लिए उद्देश्यों में से एक ia32-libs
पैकेज निकाल रहा है। इसके बजाय, आपको पैकेज की 32-बिट लाइब्रेरी स्थापित करनी होगी:
sudo apt-get install package-name:i386
आपको मानक रिपॉजिटरी (उदाहरण के लिए wine
पैकेज) में पैकेज के लिए इस बारे में चिंता करने की ज़रूरत नहीं है । बाहरी सॉफ़्टवेयर के लिए, यह थोड़ा अधिक कठिन है क्योंकि आपको मैन्युअल रूप से निर्भरताएँ ढूंढनी होंगी। उस स्थिति में, अपने पसंदीदा खोज इंजन का उपयोग करें कि आपको किन पुस्तकालयों की आवश्यकता है।
ऐसा लगता है कि ia32-lib अभी भी मौजूद हैं, लेकिन केवल 32-बिट लाइब्रेरी को शामिल करने के लिए एक सुविधा पैकेज के रूप में। यह पैकेज अब 32-बिट पैकेज को सही ढंग से स्थापित करने के लिए मल्टी आर्क का उपयोग करता है।
ldd
, बाइनरी के लिए एक मार्ग को तर्क के रूप में पारित कर रहा है। यदि आउटपुट में एक पंक्ति है जैसे libz.so.1 => not found
, तो आपको खोजने की आवश्यकता है libz.so.1
। आप उपयोग कर सकते हैं packages.ubuntu.com या apt-file search
उस फ़ाइल युक्त पैकेज खोजने के लिए। मेरे द्वारा दिए गए उदाहरण में, आपको स्थापित करने की आवश्यकता है zlib1g:i386
।
package-name
वास्तविक नाम से बदलने की आवश्यकता है । ldd
पता लगाने के लिए उपयोग करें , ऊपर की दूसरी टिप्पणी देखें।
ia32-libs
पैकेज पूरी तरह से बदल दिया गया है lib32z1 lib32ncurses5 lib32bz2-1.0
। यह एक समस्या नहीं होनी चाहिए क्योंकि इसकी कार्यक्षमता अभी भी है, बस अन्य पैकेजों में। हालाँकि, हम एक आदर्श दुनिया में नहीं रहते हैं जहाँ हर कोई अपने पैकेज बनाए रखता है और सभी सॉफ्टवेयर FLOSS होते हैं, इसलिए कुछ पैकेज अभी भी ia32-lib पर निर्भर करते हैं।
2 तरीके हैं:
ia32-libs
अब पर निर्भर न हो । (पसंदीदा)मैं उदाहरण के रूप में सिट्रिक्स रिसीवर का उपयोग करूंगा, लेकिन आप किसी भी .deb पैकेज के लिए इस विधि का उपयोग कर सकते हैं:
सबसे पहले, अपनी वेबसाइट से Citrix रिसीवर .deb पैकेज डाउनलोड करें और हैकिंग करते हुए एक अस्थायी निर्देशिका करें।
mkdir ica_temp
पैकेज निकालें
dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN
फ़ाइल को gedit (या अपने पसंदीदा संपादक) में खोलें
sudo -H gedit ica_temp/DEBIAN/control
उस रेखा का पता लगाएं जो इसके साथ शुरू होती है Depends:...
। निकालें ia32-libs
और जोड़ेंlib32z1 lib32ncurses5 lib32bz2-1.0
संशोधित पैकेज का पुनर्निर्माण करें
dpkg -b ica_temp icaclient-modified.deb
और इसे स्थापित करें
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
Citrix रिसीवर को इंस्टॉल करने के लिए कुछ हैकिंग की भी आवश्यकता होती है। आप उबंटू विकी पर पूर्ण इंस्टॉलेशन निर्देश पा सकते हैं
आप इसे किसी भी पुराने .deb पैकेज के साथ कर सकते हैं जो अभी भी ia32-lib पर निर्भर करता है।
कृपया ध्यान दें कि पुराने पैकेजों को स्थापित करने के लिए यह बहुत बुरा अभ्यास है! अफसोस की बात है, कुछ बाइनरी इंस्टॉलर के लिए, आपके पास कोई अन्य विकल्प नहीं है।
आप रेयर रिपॉजिटरी से ia32-libs पैकेज डाउनलोड कर सकते हैं । इसे डाउनलोड करें और इसे मैन्युअल रूप से इंस्टॉल करें, फिर आश्रितों को हल किया जाना चाहिए।
मैंने पढ़ा कि आप ia32-libs-multiarch
इसके बजाय पैकेज स्थापित करने वाले हैं । हालांकि यह मेरे लिए काम नहीं किया और मुझे यह त्रुटि मिली
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
निम्नलिखित पैकेजों को स्थापित करने के लिए मेरे द्वारा काम किया गया समाधान:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
यदि आपको वह त्रुटि मिलती है, तो प्रयास करें:
sudo apt-get update
फिर इसे फिर से आज़माएँ:
sudo apt-get install ia32-libs
मैंने अभी 12.04 की एक ताजा स्थापना की, वह पैकेज अभी भी रिपॉजिटरी में उपलब्ध है। वास्तव में, मुझे वह त्रुटि मिली इससे पहले कि मैं अपडेट चलाता। बाद में, यह ठीक काम किया।
मेरा मानना है कि इस विशिष्ट उपयोग के मामले को "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2" के पैकेज से बदल दिया गया था, जो कि "आप बहु-आर्च का उपयोग कर सकते हैं" कहने की तुलना में संभवतः अधिक विशिष्ट और उपयोगी उत्तर है।
मैंने इस तरह ia32-lib स्थापित किया (मैं 64 बिट मशीन पर Ubuntu 13.04 रेयरिंग रिंगटोन चलाता हूं):
खुद की वास्तुकला की जाँच करें:
$ dpkg --print-architecture
जांचें कि क्या विदेशी वास्तुकला स्थापित है:
$ dpkg --print-foreign-architectures
उपरोक्त दो आदेशों के परिणामों के आधार पर, निम्नलिखित तीन आदेश काम कर सकते हैं (मेरे मामले में संसाधित होने में लंबा समय लगा):
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0