मैं एक उदाहरण के साथ समस्या की व्याख्या करता हूं। मैं अपने दिन के काम में कुछ पुराने कार्यक्रम का उपयोग करता हूं, उदाहरण के लिए xfig और pdfedit ।
अब, ये कार्यक्रम काफी पुराने हैं और बहुत बार अपडेट नहीं किए जाते हैं; मेरा डर यह है कि एक दिन या दूसरे वे कुछ पुस्तकालय या कुछ असंगत अद्यतन की कमी के लिए काम नहीं करेंगे।
यदि प्रोग्राम को अब संकलित करना आसान है , एक रनिंग सिस्टम पर, समाधान आसान है: स्रोत को थोड़ा हैक करने और इसे स्टेटिक रूप से संकलित करने का प्रयास करें --- परिणामस्वरूप निष्पादन योग्य बड़ा होगा और इतना कुशल नहीं होगा, लेकिन यह काम करेगा निकट भविष्य (1)। यह मामला लगता है xfig
और मैं इसे जल्द से जल्द आजमाऊंगा।
लेकिन, उदाहरण के लिए, pdfedit
क्यूटी 3 पर निर्भर करता है, और इसे संकलित करने के लिए एक प्रणाली स्थापित करना इस समय काफी जटिल है। सौभाग्य से यह अभी चलाया जा सकता है , इस तथ्य के लिए धन्यवाद कि पुस्तकालय को किसी भी चीज के साथ संघर्ष करने की आवश्यकता नहीं है। लेकिन यह भविष्य में बदल सकता है, इसलिए मैं इस समस्या को हल करना चाहूंगा:
अगर मैं उबंटू पर एक गतिशील एक और सभी पुस्तकालयों, लेकिन कोई स्रोत कोड नहीं है, तो मैं एक स्थिर बाइनरी (या समान चीज) कैसे बना सकता हूं?
मैंने आसपास खोज की। एक संभावना स्टेटिफ़ायर (2) है, लेकिन इसमें एड्रेस रैंडमाइजेशन के साथ बहुत सारी समस्याएं हैं , इसलिए यह एक नहीं-नहीं है। गैर-मुक्त संस्करण, Ermine , काम करने लगता है, लेकिन मैं वास्तव में एक खुला स्रोत विकल्प पसंद करूंगा।
एक अन्य संभावना यह है कि docker या समान पैकेजिंग प्रणाली का उपयोग करें। लेकिन मैंने पाया सभी ट्यूटोरियल काफी RedHat- उन्मुख हैं ; और, ईमानदारी से, पालन करने के लिए काफी जटिल है।
फ़ुटनोट्स :
(१) इतना पागल नहीं है। मैं उदाहरण के लिए एक स्थिर ffmpeg का उपयोग करता हूं , ठीक काम करता है और किसी भी संगतता समस्याओं के बिना ...
(२) संकलन करने के लिए statifier
, /programming/23498237/compile-program-for-32bit-on-64bit-linux-os-causes-fatal-error देखें