Utilisation de gcc au lieu de SUNWspro cc dans ruby ​​mkmf pour yajl sur Solaris 10

Comment puis-je avoir mkmf pour utiliser gcc au lieu de / opt / SUNWspro / bin / cc sur Solaris 10?

J'essaie d'installer le chef en utilisant gem install chef. Il échoue avec:

Building native extensions. This could take a while... ERROR: Error installing chef: ERROR: Failed to build gem native extension. /opt/csw/bin/ruby18 extconf.rb creating Makefile make /opt/SUNWspro/bin/cc -I. -I/opt/csw/lib/ruby/1.8/i386-solaris2.9 -I/opt/csw/lib/ruby/1.8 /i386-solaris2.9 -I. -I/opt/csw/include -D_FILE_OFFSET_BITS=64 -KPIC -xO3 -m32 -xarch=386 -KPIC -Wall -funroll-loops -c yajl.c make: /opt/SUNWspro/bin/cc: Command not found make: *** [yajl.o] Error 127 Gem files will remain installed in /opt/csw/lib/ruby/gems/1.8/gems/yajl-ruby-0.8.2 for inspection. Results logged to /opt/csw/lib/ruby/gems/1.8/gems/yajl-ruby-0.8.2/ext/yajl/gem_make.out 

En examinant /opt/csw/lib/ruby/gems/1.8/gems/yajl-ruby-0.8.2/ext/yajl/Makefile donne:

 CC = /opt/SUNWspro/bin/cc 

De manière cruciale, définir la variable d'environnement CC à gcc ne fait absolument rien.

Cross postée par StackOverflow

3 Solutions collect form web for “Utilisation de gcc au lieu de SUNWspro cc dans ruby ​​mkmf pour yajl sur Solaris 10”

Si votre package CSWruby est actuel (il semble être puisque le binary est ruby18), vous pouvez utiliser le mécanisme de rlocation pour passer à un rbconfig.rb qui est configuré pour utiliser / opt / csw / gcc4 / bin / gcc au lieu du soleil compilateur. Si ce n'est pas tout à fait actuel, il y a eu un utilitaire inclus pendant un certain time appelé cswrbconfig qui permettait de passer d'un compilateur à l'autre. J'oublie quelle version du package, j'ai ajouté cela aussi, mais la fonctionnalité est disponible depuis plus d'un an si la memory sert.

Si vous avez plus de questions sur CSWruby (ou d'autres packages OpenCSW), trouvez les mainteneurs dans #opencsw sur freenode irc.

(Je suis le responsable du ruban OpenCSW.)

Avez-vous exporté CC après l'avoir défini?

 CC=/usr/sfw/bin/gcc export CC 

Ensuite, exécutez votre mkmf stuff.

Edit – hacky – créez un lien

 mkdir -p /opt/SUNWspro/bin/ ln -s /usr/sfw/bin/gcc /opt/SUNWspro/bin/cc 

Remarque J'ai également «fixé» le path dans CC = ci-dessus car gcc vit dans / usr / sfw maintenant.

Modifiez le Makefile et modifiez la variable CC dans votre binary gcc, puis réessayez.

Existe-t-il une étape ./configure? Si c'est le cas, vous pouvez essayer de définir CC env variable avant de l'exécuter.

  • get une application pour s'exécuter avec la même priorité que le processeur inactif
  • Le domaine logique Solaris disparaît après un redémarrage dur (perte de puissance)
  • Commande bash + run dans tcsh de bash
  • Solaris: Empêchez les searchs DNS inverse, sauf en utilisant / etc / hosts
  • getent renvoie un groupe sans users
  • Télécharger Sun Studio via CLI
  • Autre que .profile, où les variables d'environnement shell sont-elles définies?
  • Good Books for Solaris
  • Montage d'un partage avec des espaces blancs au nom à l'aide de Solaris
  • Longueur du nom de volume du système de files AFS
  • Un process continue d'écrire sur un file renommé sur Solaris
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.