สร้าง Homebrew ด้วยซุ้มประตูที่แตกต่างกันอย่างไร


9

ฉันพยายามติดตั้งสูตร mysql-connector-c ผ่าน homebrew และมันก็ใช้ได้ แต่สร้างไลบรารี x86_64:

  $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 เท่านั้น มีวิธีใดที่จะทำให้ homebrew build เป็น dual arch Library หรือ i386 library? ฉันมีสถาปัตยกรรมเคอร์เนลตั้งค่าเป็น x86_64 หากเป็นเรื่องสำคัญ


Mac รุ่นใดที่คุณใช้อยู่ ฉันใช้งาน Mac 10.8.1 ไม่ได้ คุณสามารถวางสคริปต์การดัดแปลงของคุณที่นี่เป็นข้อมูลอ้างอิงได้หรือไม่ ขอบคุณมาก.
เทอรีเคน

คำตอบ:


5

คุณอาจลองทำสิ่งต่อไปนี้:

brew edit mysql-connector-c

จากนั้นแก้ไขการเริ่มต้นในบล็อก "ติดตั้ง"

แม้ว่าฉันจะไม่ได้ลองทำ แต่คุณก็ควรจะทำสิ่งนี้:

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

คุณอาจตรวจสอบตัวอย่างได้ที่นี่: มีปัญหากับ homebrew ไม่สามารถติดตั้งอะไร ...


แล้วฉันจะเอาอะไรไป คำจำกัดความของ CFLAGS?
StasM

ลิงค์ที่ให้ไว้บอกว่า: ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386". i386 มากไปหน่อย
harrymc

ดูเหมือนว่าจะใช้งานได้แล้วห้องสมุดตอนนี้คือ i386 ขอบคุณ!
StasM

@harrymc และ StasM เวอร์ชั่นไหนที่คุณใช้ mac? ฉันใช้งาน Mac 10.8.1 ไม่ได้ คุณสามารถวางสคริปต์การดัดแปลงของคุณที่นี่เป็นข้อมูลอ้างอิงได้หรือไม่ ขอบคุณ
Kane

@Kane Mine คือ 10.6.8
StasM

5

พบปัญหาที่คล้ายกันติดตั้ง DevIL ดูเหมือนว่า Homebrew กำลังพยายามทำให้พารามิเตอร์พารามิเตอร์บรรทัดคำสั่งถูกส่งผ่านไปยังเครื่องมืออย่างน้อยก็ใน ML:

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

มันทำงานสำหรับฉันที่จะแก้ไขสูตรเช่นเดียวกับในคำตอบของ Walty เพื่อระบุ CFLAGS และ CXXFLAGS แต่เรียกใช้การติดตั้งด้วยสภาพแวดล้อมมาตรฐานแทน:

$ 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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.