Date: Wed, 04 May 2011 09:12:18 +0200 From: "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de> To: Dimitry Andric <dim@FreeBSD.org> Cc: Olivier Smedts <olivier@gid0.org>, freebsd-current@freebsd.org Subject: Re: Building FreeBSD 9.0-CUR/amd64 with CLANG fails Message-ID: <4DC0FC52.8070701@mail.zedat.fu-berlin.de> In-Reply-To: <4DC0F98D.3020601@FreeBSD.org> References: <4DBDB8D4.6050102@mail.zedat.fu-berlin.de> <BANLkTimAhmHh33FuwB6o%2BB5iSOORV-PmMQ@mail.gmail.com> <4DC04F29.2050401@mail.zedat.fu-berlin.de> <4DC0F98D.3020601@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 05/04/11 09:00, Dimitry Andric wrote:
> On 2011-05-03 20:53, O. Hartmann wrote:
> ...
>>>> ld -m elf_i386_fbsd -Y P,/usr/obj/usr/src/lib32/usr/lib32 �-o
>>>> gcrt1.o -r
>>>> crt1_s.o gcrt1_c.o
>>>> ld: Relocatable linking with relocations from format
>>>> elf64-x86-64-freebsd
>>>> (crt1_s.o) to format elf32-i386-freebsd (gcrt1.o) is not supported
> ...
>> Today, I tried again, after CLANG/LLVM has been updated to version 3.0.
>> Same error.
>>
>> This is the addendum I made to the /etc/make.conf:
>>
>> ##
>> ## CLANG
>> ##
>> .if defined(USE_CLANG)
>> .if !defined(CC) || ${CC} == "cc"
>> CC=clang
>> .endif
>> .if !defined(CXX) || ${CXX} == "c++"
>> CXX=clang++
>> .endif
>> # Don't die on warnings
>> NO_WERROR=
>> WERROR=
>> # Don't forget this when using Jails!
>> NO_FSCHG=
>> .endif
>
> Ok, that looks good, I use a similar construction. However, in my case
> it works fine, so there must be something special on your system that
> breaks the build.
>
> What happens here, is that the 32-bit stage on amd64 fails, because it
> tries to link together 64-bit and 32-bit object files, which is not
> allowed. This can occur if Makefile.inc1 cannot set CC to the correct
> value, but there might also be something else going on.
>
> To debug this further, can you please post:
> - Your full /etc/make.conf
> - Your full /etc/src.conf
> - Any modifications you made to your source tree
> - The specific procedure you use for buildworld
> - An url to a full build log (don't post it to the list, because it will
> be rather large)
>
When commenting out the wrapping
.if defined(USE_CLANG)
.endif
construct, as suffested by Olivier, it works. I gues I found my mistake:
From an earlier attempt of building FreeBSD with clang, I placed the
WIKI suggestions into /etc/src.conf and I never recalled this. I delete
it and try again ...
On my lab's box, same OS, same revision, nearly same hardware, building
world/kernel worked fine even with the 'switch' - but there wasn't
/etc/src.conf.
Thanks for the hints. I'll report again.
Regards,
Oliver
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DC0FC52.8070701>
