अलग-अलग मेहराब के साथ होमब्रे का निर्माण?


9

मैंने होमब्रे के माध्यम से mysql-कनेक्टर-सी रेसिपी को स्थापित करने की कोशिश की, और यह सिर्फ ठीक बनाता है, लेकिन x8626464 का उत्पादन करता है:

  $file ~/brew/lib/libmysql.dylib 
  .../brew/lib/libmysql.dylib: Mach-O 64-bit dynamically linked shared library x86_64

हालांकि मुझे अपने प्रोजेक्ट के लिए i386 लाइब्रेरी चाहिए। मैंने इसे इस तरह से CFLAGS और LDFLAGS देने की कोशिश की:

  CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" brew install mysql-connector-c

लेकिन कुछ भी नहीं बदलता है - यह अभी भी x86_64 केवल बाइनरी बनाता है। क्या होमबॉव बनाने का कोई तरीका दोहरी आर्क लाइब्रेरी या i386 लाइब्रेरी है? मेरे पास कर्नेल आर्किटेक्चर है जो x86_64 पर सेट है, अगर यह मायने रखता है।


मैक का कौन सा संस्करण आप उपयोग कर रहे हैं? मैं इसे अपने मैक 10.8.1 पर काम नहीं कर सकता। क्या आप संदर्भ के रूप में अपनी संशोधित काढ़ा लिपि पेस्ट कर सकते हैं? बहुत बहुत धन्यवाद।
केन

जवाबों:


5

आप निम्नलिखित की कोशिश कर सकते हैं:

brew edit mysql-connector-c

और फिर "इंस्टॉल" ब्लॉक में इनिशियलाइज़ेशन को संशोधित करें।

हालाँकि मैंने यह कोशिश नहीं की, आप इस तरह से कुछ करने वाले हैं:

ENV['CFLAGS']='xxx'
ENV['LDFLAGS']='xxx'

आप यहां उदाहरण देख सकते हैं: होमब्रे के साथ समस्याएं, कुछ भी स्थापित नहीं कर सकती ...


तो मैं वहाँ क्या रखूँगा? सीएफएलएजीएस की परिभाषा?
StasM

दिए गए लिंक का कहना है: ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386"। i386 थोड़ा अधिक है।
harrymc 5

काम करने लगता है, पुस्तकालय अब i386 है। धन्यवाद!
StasM

@harrymc और StasM, मैक का कौन सा संस्करण आप उपयोग कर रहे हैं? मैं इसे अपने मैक 10.8.1 पर काम नहीं कर सकता। क्या आप संदर्भ के रूप में अपनी संशोधित काढ़ा लिपि पेस्ट कर सकते हैं? धन्यवाद।
केन

@ केन माइन 10.6.8 है।
StasM

5

डेविल को स्थापित करने में इसी तरह की समस्या का सामना करना पड़ा। ऐसा प्रतीत होता है कि होमब्रे कम से कम एमएल पर, उपकरण को पारित कमांडलाइन मापदंडों को पवित्र करने की कोशिश कर रहा है:

$ brew install -v devil
...
brew: superenv removed: -arch i386
...

इसने मेरे लिए सीएफएलएजीएस और सीएक्सएफ़एलएजीएजीएस को निर्दिष्ट करने के लिए वाल्टी के जवाब की तरह सूत्र को संपादित करने का काम किया, लेकिन इसके बजाय एक मानक वातावरण के साथ स्थापित करें:

$ brew install --env=std devil

3

कुछ सूत्रों में एक सार्वभौमिक विकल्प है जो आपको एक ही समय में i386 और x86_64 दोनों के लिए संकलन करने देगा:

$ brew options sdl
--universal
        Build a universal binary

mysql-connector-cएक विकल्प के रूप प्रदान नहीं करता है, लेकिन मैं यह बहुत आसान एक और सूत्र मैं पर काम कर रहा था करने के लिए विकल्प जोड़ने के लिए मिला: https://github.com/mxcl/homebrew/pull/18713/files

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.