2013-04-22 8 views
8

क्या स्टैंडअलोन अकेले उत्पादन करने का कोई तरीका है आर्किटेक्चर समान मानते हुए अलग लिनक्स मशीनों पर चलाने के लिए निष्पादन योग्य है?क्या स्टैंड स्टैंड अकेले हैकेल निष्पादन योग्य

क्षमा करें मुझे स्पष्ट होना चाहिए था। अन्य मशीनों पर उन पर ghc इंस्टॉल नहीं हो सकता है - पाइथन के लिए pyinstaller की तरह थोड़ा सा मैं क्या देख रहा था?

+0

क्या यह http://www.yesodweb.com/blog/2012/03/shelly-for-shell- लिपियों को आप ढूंढ रहे हैं? – xhudik

उत्तर

11

हास्केल प्रोजेक्ट को संकलित करते समय आप गतिशील रूप से जुड़े निर्भरताओं से बचने के लिए झंडे -static -optl-pthread -optl-static का उपयोग कर सकते हैं। यह आपको दो लिनक्स मशीनों पर संकलित निष्पादन योग्य चलाने में मदद कर सकता है जिसमें सटीक समान लाइब्रेरी संस्करण नहीं हैं।

+0

मैं इसे एक दूंगा - धन्यवाद – opensourcegeek

+0

मुझे कभी भी ghc और स्थिर लिंकिंग के साथ भाग्य नहीं मिला है, इसलिए मैं उत्सुक हूं कि यह आपके लिए कितना अच्छा काम करता है (और शांग)। उदाहरण के लिए, फेडोरा पर आप obvioulsy को स्थिर पुस्तकालयों की आवश्यकता होती है ('yum install glibc-static') लेकिन आरटीएस कॉलिंग dlopen के साथ अभी भी एक समस्या है। –

3

हां यह संभव है। जीसीसी द्वारा उत्पादित बाइनरी के साथ ही, आप उन्हें गतिशील पुस्तकालयों और प्लेटफॉर्म मिलान मानने वाले सिस्टम के बीच प्रतिलिपि बना सकते हैं।

अभ्यास में, यह जीसीसी बाइनरी की तुलना में थोड़ा अधिक बार है क्योंकि जीएचसी डिफ़ॉल्ट रूप से अधिक पुस्तकालयों को गतिशील रूप से लिंक करेगा (उदा: libgmp, जब तक कि आप पूर्णांक-सरल का उपयोग करके जीएचसी नहीं बनाते)।

संबंधित मुद्दे