'Configuring for a compiler different than the default while running configure
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.
Solution 1:[1]
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)
Solution 2:[2]
You can also do this when running make:
make CC=/whatever/compiler
Solution 3:[3]
CC=gcc ./configure will allow you to set the compiler.
Solution 4:[4]
Do the following before running configure.
export CC=gcc_your_version
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Edson Medina |
Solution 2 | yaman |
Solution 3 | Burton Samograd |
Solution 4 | MetallicPriest |