Clang now builds world and kernel, on i386 and amd64

Renato Botelho rbgarga at gmail.com
Tue Sep 28 22:00:27 UTC 2010


On Wed, Sep 22, 2010 at 3:42 AM, Dimitry Andric <dim at freebsd.org> wrote:
> Hi,
>
> As of r212979, you should now be able to build world and kernel on i386
> and amd64 with clang, without any additional patches!
>
> To do so, make sure you have updated your installed world to at least
> r212904 (which has the most recently imported clang/llvm snapshot), and
> put the following in /etc/src.conf:
>
> .if !defined(CC) || ${CC} == "cc"
> CC=clang
> .endif
> .if !defined(CXX) || ${CXX} == "c++"
> CXX=clang++
> .endif
> # Don't die on warnings
> NO_WERROR=
> WERROR=
>
> Both world and kernel can also be installed, and should run properly,
> but please make sure you have a way to revert if anything unexpected
> happens. :)  Alternatively, just install into a chroot to try it out
> from there.
>
> Some additional information can be found on this wiki page:
>
> http://wiki.freebsd.org/BuildingFreeBSDWithClang
>
> Thanks to all the people that made this possible, especially Roman
> Divacky, Ed Schouten, Rui Paulo, and of course the clang/llvm
> developers.

I built my desktop world + kernel with clang, rev. 213247 amd64, it
booted perfectly, the only problem i got was something went wrong
with a perl module File::Temp.

To be sure it's related i'm rebuilding the src (same rev.) with gcc and
will take a look if it will back to work. I'll send an email after testing.

Just to show, the problem i got with perl was using this code:

#!/usr/bin/perl

use File::Temp;

my ( $fh, $filename ) = File::Temp::tempfile();
print "$filename\n";
unlink $filename;

with this results:

Error in tempfile() using /tmp/XXXXXXXXXX: Tried to get a new temp
name different to the previous value 50 times.
Something wrong with template?? (/tmp/XXXXXXXXXX) at testes/tmp.pl line 5

Regards
-- 
Renato Botelho


More information about the freebsd-perl mailing list