2012-02-08 26 views
10

Tôi đã cài đặt gcc-4.6 bằng cách sử dụng công thức homebrew-alternatives gcc, nhưng tôi dường như không thể sử dụng GCC để cài đặt các công thức khác. Cụ thể Open-MPI và tăng cường.Sử dụng Homebrew với GCC thay thế

Có ai biết cách làm Homebrew sử dụng trình biên dịch mới này không?

Cảm ơn!

Trả lời

5

Những câu trả lời đều khá cũ bây giờ. Có vẻ như các phiên bản homebrew gần đây có tùy chọn '--cc' cho phép bạn chọn trình biên dịch c để sử dụng. Ví dụ

brew install --cc=gcc-6 <package-name> 

sẽ cài đặt sử dụng phiên bản brew của gcc

2

Từ their wiki nó có vẻ như họ không hỗ trợ các trình biên dịch khác:

Cài đặt một phiên bản tùy chỉnh của GCC hoặc autotools vào $ PATH đã tiềm năng để phá vỡ rất nhiều biên dịch. Vì vậy, chúng tôi dính vào các trình biên dịch do Apple cung cấp.

15

Homebrew không thể thích ứng với các phiên bản gcc khác bằng tùy chọn dòng lệnh. Bạn có thể dễ dàng ghi đè lên trình biên dịch cũ hơn, tuy nhiên, nếu bạn chỉnh sửa mở-mpi và tăng công thức. Ví dụ: bạn có thể thêm một vài lệnh sau "def install" trong open-mpi.rb:

def install 
    # Force compilation with gcc-4.6 
    ENV['CC'] = '/usr/local/bin/gcc-4.6' 
    ENV['LD'] = '/usr/local/bin/gcc-4.6' 
    ENV['CXX'] = '/usr/local/bin/g++-4.6' 

    # Compiler complains about link compatibility with FORTRAN otherwise 
    ENV.delete('CFLAGS') 
    ENV.delete('CXXFLAGS') 

Điều đó làm việc cho tôi trên Lion. Chúc may mắn.

+1

Cảm ơn! Điều đó nghe có vẻ khá chính xác những gì tôi muốn ... Tôi đã cố gắng thiết lập CC và CXX từ dòng lệnh, nhưng dường như brew giết chết môi trường. –

15

Dường như phiên bản Homebrew mới nhất hiện hỗ trợ các biến môi trường HOMEBREW_CCHOMEBREW_CXX.

Vì vậy, bây giờ bạn có thể làm như sau:

$ HOMEBREW_CC=gcc-4.2 HOMEBREW_CXX=g++-4.2 brew install ice 
+0

Cảm ơn! Điều này thật tuyệt. –

+0

Làm việc cho tôi! 'HOMEBREW_CC = gcc-4.5 HOMEBREW_CXX = g ++ - 4.5 brew install sfcgal' – Ring

+0

tại sao tôi không thể' HOMEBREW_CC = gcc-4.9 HOMEBREW_CXX = g ++ - 4.9 brew install openmpi' – ilciavo

Các vấn đề liên quan