Re: Clang now builds world and kernel, on i386 and amd64

From: Renato Botelho <rbgarga_at_gmail.com>
Date: Tue, 28 Sep 2010 21:32:45 -0300
On Tue, Sep 28, 2010 at 9:28 PM, Derek Tattersall <dlt_at_mebtel.net> wrote:
> * Renato Botelho <rbgarga_at_gmail.com> [100928 20:20]:
>> On Tue, Sep 28, 2010 at 6:07 PM, Renato Botelho <rbgarga_at_gmail.com> wrote:
>> > 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
>>
>> After rebuild world+kernel with gcc and reboot everything
>> back to normal:
>>
>> garga_at_botelhor:~> perl testes/tmp.pl
>> /tmp/MfmvMiztew
>> garga_at_botelhor:~> perl testes/tmp.pl
>> /tmp/M4xIxsTxlc
>>
>> I'm using perl-5.12.2_2
>>
>> --
>> Renato Botelho
>> _______________________________________________
>> freebsd-current_at_freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> A test shell script using mktemp (1) works fine on current built with
> clang today.  The clang case produces a filename with all "A"'s rather
> than the random letters expected.

I didn't test mktemp, but my perl test code generate files
with all 'A' just after i reboot the machine with clang, after
few minutes it stop working and give the error I reported.

Please let me know if there is any kind of information I
can send to help fixing this.

-- 
Renato Botelho
Received on Tue Sep 28 2010 - 22:33:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:07 UTC