Ho letto argomenti simili qui, ma sfortunatamente queste soluzioni non mi aiutano.
Vorrei ricompilare tutto il software installato (o almeno alcune formule) da Homebrew usando gcc
da Homebrew
.
È possibile forzare Homebrew
ad usare il compilatore specifico ( eg gcc
) e le opzioni del compilatore ( es. la libreria std da usare per il collegamento ) ?
Ho provato a impostare tutti i tipi di variabili di ambiente, ma non aiuta: /?
0/> env | grep CC
HOMEBREW_CC=gcc
CC=/usr/local/bin/gcc
0/kpykc> echo $PATH
/Users/kp/kpykc/devel/bin:/opt/ros/indigo/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin
0/kpykc> ls -la /usr/local/bin/g??-?.?
lrwxr-xr-x 1 kp admin 31 Nov 24 16:23 /usr/local/bin/g++-4.9@ -> ../Cellar/gcc/4.9.2/bin/g++-4.9
lrwxr-xr-x 1 kp admin 31 Nov 24 16:23 /usr/local/bin/gcc-4.9@ -> ../Cellar/gcc/4.9.2/bin/gcc-4.9
0/kpykc> ls -la /usr/local/bin/g[c+][c+]
lrwxr-xr-x 1 kp admin 22 Nov 11 23:54 /usr/local/bin/g++@ -> /usr/local/bin/g++-4.9
lrwxr-xr-x 1 kp admin 22 Nov 11 23:53 /usr/local/bin/gcc@ -> /usr/local/bin/gcc-4.9
Ho anche provato a usare questa soluzione .
Il motivo è che voglio compilare codice * con gcc e link alle librerie installate da brew. Ma sembra che gcc non possa collegarsi alle librerie create da clang. Dall'altro lato manca il supporto di alcune funzionalità di C ++ 11 che sono richieste dal programma * che vorrei compilare.
Quindi, la sola soluzione che vedo è ricompilare tutte le librerie necessarie con gcc.
Grazie per l'aiuto.
Aggiornamento (su sistema / compilatore / versioni homebrew):
0/kpykc> sw_vers
ProductName: Mac OS X
ProductVersion: 10.10.1
BuildVersion: 14B25
0/kpykc> brew config
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 32923f435c7cf93820f434d6bdacf3bfdc3695eb
Last commit: 11 days ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit ivybridge
OS X: 10.10.1-x86_64
CLT: 6.1.1.0.1.1416017670
Clang: 6.0 build 600
X11: 2.7.7 => /opt/X11
System Ruby: 2.0.0-481
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.8_2/Frameworks /Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby
In particolare, ho problemi con il codice che utilizza Eigen::aligned_allocator
.
Ho aggiornato Eigen
in HEAD
versione da Homebrew
.
Sospetto che il mio problema sia anche collegato a questo bug . Ma dovrebbe essere corretto in HEAD
, penso di sì.