मैं समझता हूं कि setup.py उसी CFLAGS का उपयोग करता है जिसका उपयोग पायथन बनाने के लिए किया जाता था। मेरे पास एक सिंगल सी एक्सटेंशन है जो segfaulting है। मुझे इसे -O2
के बिना बनाने की आवश्यकता है क्योंकि -O2
कुछ मानों और कोड को अनुकूलित कर रहा है ताकि कोर फाइलें समस्या को कम करने के लिए पर्याप्त न हों।मैं कंपाइलर (जीसीसी) झंडे को ओवरराइड कैसे कर सकता हूं जो setup.py डिफ़ॉल्ट रूप से उपयोग करता है?
मुझे बस setup.py को संशोधित करने की आवश्यकता है ताकि -O2
का उपयोग नहीं किया जा सके।
मैंने distutils.ccompiler
और distutils.unixcompiler
में distutils दस्तावेज पढ़ा है और देखें कि झंडे और libs को जोड़ने और इसमें शामिल हैं, लेकिन डिफ़ॉल्ट जीसीसी झंडे को कैसे संशोधित करें।
विशेष रूप से, यह बैकपोर्ट्स के एक समूह के साथ पायथन 2.5.1 पर एक विरासत उत्पाद के लिए है (फेडोरा 8, हाँ, मुझे पता है ...)। नहीं, मैं ओएस या पायथन संस्करण नहीं बदल सकता और मैं बिना किसी समस्या के पाइथन को पुन: संकलित कर सकता हूं। मुझे केवल एक ग्राहक के लिए सी एक्सटेंशन का एक बंद करने की आवश्यकता है जिसका पर्यावरण केवल एक ही सीगफॉल्टिंग है।