# "make installworld" can not find the compiler on FreeBSD 9.2 Release



## gustopn (Nov 3, 2013)

Hi folks,

I am getting these messages:

```
Could not execute shell
"/usr/src/share/mk/bsd.compiler.mk", line 9: warning: "cc --version" returned non-zero status
"/usr/src/share/mk/bsd.compiler.mk", line 17: Unable to determine compiler type for cc
*** [installworld] Error code 1

Stop in /usr/src.
*** [installworld] Error code 1

Stop in /usr/src.
```
after I `make buildworld` on my FreeBSD 9.2 in order to make a jail installation, so with a 
	
	



```
DESTDIR=...
```
 parameter, but it would fail even without that parameter, because it is just saying that there is no compiler compiled. Of course, how could I not think about that.

So I was googling and I found a solution here: http://forums.freebsd.org/showthread.php?t=42613, where it was explained to me that `make buildworld` works on FreeBSD 9.2 and it was AFTER he added a few settings into his /etc/src.conf where he disabled both compilers, when it failed. So I checked and I found that I have no /etc/src.conf. So I created one and I explicitly said there, that he should create an LLVM, even though it's the default anyway, by adding 
	
	



```
WITH_CLANG=""
WITH_CLANG_FULL=""
WITH_CLANG_IS_CC=""
```
and so on.

It did not help, so I decided to try it without CLANG, adding only 
	
	



```
WITHOUT_CLANG=""
```
 to /etc/src.conf. That did not help either, so I started to look around and ask myself a question if I am crazy or everyone else is. Of course there is no way that person who wrote that "solution" before me could get past `make installworld` on FreeBSD 9.2. Maybe it was FreeBSD 9.1 or some RC version, but not -RELEASE.

Of course, one could check out a new revision of it through SVN, but then the question remains, why did I not do it before and why do I compile something that was compiled before? Of course, with this error, not even the RELEASE team could be able to build that thing, so they have to have used some other set of sources.

Either way, the sources and the binaries can not be the same, even though they come from the same RELEASE. The solution is not to use the sources at all, until this matter gets clarified.


----------



## gustopn (Nov 4, 2013)

*"make installworld" succeeded in VirtualBox*

I did set up a quick VirtualBox installation and run it over night for building and installing world, and that was successful. So I think it might be a problem with the shell not executing, and that's why it fails to do `cc --version`, because otherwise `cc --version` on a root shell (and on any shell) works perfectly, returning a 0, so that itself can not be a problem.

Now the question is, why it was successful on a console and is not successful in a terminal or over ssh.
In both cases the root shell is unchanged to csh. The PATH variable appears to be the same too.


----------



## gustopn (Nov 4, 2013)

OK, I found the problem. It was not the `cc --version`, it was rather the problem that he could not execute either. I have noexec set on my /tmp filesystem, so I have to get rid of it in order to do the install.

That's something I would never find out about without reading that he copied some of its files to /tmp/install.xxxx ... however. I am going to try it out.


----------



## gustopn (Nov 4, 2013)

*next time I remember*

So what do we learn from it?

Next time I will remember that someone might want to put files into a filesystem that is read-write-able by everyone and then execute them. Security 101!

But it works now, thanks for your help


----------

