# Upgrade clang 3.3 to  3.4



## korino (Aug 1, 2014)

Hello!

 I have a question to gurus of freebsd, FreeBSD. sry i Sorry, I am a new to this OS. The questions is: how to use clang 3.4 for compiling ports? I installed 3.4, but all ports are still using version 3.3. I know that *I* must do this in make.conf

```
CC=clang34
CXX=clang++34
```
But what about libc++? How to update it? pls Please help.

P.S. sory sorry for bad engl English and thanks.


----------



## SirDice (Aug 1, 2014)

If you are new at this I would suggest sticking to whatever compiler a specific port wants. The ports system is smart enough to figure it out by itself and there's rarely, if ever, a need to specify a specific compiler.


----------



## kennethcf (Jan 3, 2016)

I have the same issue!.  Clang 3.7 has profiling tools not available with the default 3.3.  I installed the package, `pkg install clang37-3.7_3`.  Now the 3.7 package is installed, but the command line still observes 3.3.  I am used to GCC which updated everything for you.  I have no idea what items to change, and cannot find anything in the docs to point the system to use the new clang37.  Does anyone know?


----------



## fernandel (Jan 3, 2016)

kennethcf said:


> I have the same issue!.  Clang 3.7 has profiling tools not available with the default 3.3.  I installed the package, pkg install clang37-3.7_3.  Now the 3.7 package is installed, but the command line still observes 3.3.  I am used to GCC which updated everything for you.  I have no idea what items to change, and cannot find anything in the docs to point the system to use the new clang37.  Does anyone know?



In /etc/make.conf put:

```
CC=clang37
CXX=clang++37
CPP=clang-cpp37
```


----------



## kennethcf (Jan 6, 2016)

Thanks, but it comes with a caveat.  It only works as long as I use make or build with ports, probably most of what I will do.  However, when I used the `pkg install autotools`, and built a small Makefile, the autotools (Version 20130627 from pkg) did not pickup the definitions from /etc/make.conf and continued to use the system installed clang.  Instead, I moved your suggestion to my .profile as exports and everything worked.

The llvm docs (not clang) said to `export LLVM_LIB_SEARCH_PATH=/usr/local/llvm37/lib`.  I don't know if this is necessary, but I also set it in my .profile.


----------

