Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Configuring for a compiler different than the default while running configure

Tags:

c

linux

gcc

glibc

I am compiling the glibc library. Before I could do that, I need to run configure. However, for compiling glibc, I need to use the gcc compiler which is not the default compiler on the machine. The manual says the following.

It may also be useful to set the CC and CFLAGS variables in the environment 
when running configure. CC selects the C compiler that will be used, and CFLAGS 
sets optimization options for the compiler.

Now my problem is that I don't have any administrative rights on that machine. So how can I use a compiler different than the default.

like image 960
MetallicPriest Avatar asked May 03 '12 16:05

MetallicPriest


3 Answers

On linux anyone can change environment variables of their process and no admin rights are needed.

In bash:

export CC="gcc" CFLAGS="-O3 -Wall"

In csh use

setenv CC "gcc"

Any program started in this shell after such command will have CC variable in its environment. (Env vars are remembered by bash, csh or other shell). You can add this command to your ~/.bashrc file to make this setting permanent.

There are other ways to pass CC to configure too, e.g. in bash it is possible to set environment variable to single command, without remembering:

CC="gcc" CFLAGS="-O3 -Wall" ./configure ...

PS and popular ./configure CC=gcc is not an environment variable change and is specific to configure implementation (but most configures support this)

like image 64
osgx Avatar answered Oct 06 '22 00:10

osgx


You can also do this when running make:

make CC=/whatever/compiler
like image 30
yaman Avatar answered Oct 06 '22 01:10

yaman


CC=gcc ./configure will allow you to set the compiler.

like image 22
Burton Samograd Avatar answered Oct 06 '22 00:10

Burton Samograd