Building db5 with clang 3.3
Matthias Andree
mandree at FreeBSD.org
Wed Jul 24 21:39:29 UTC 2013
Am 23.07.2013 23:39, schrieb Michael Gmelin:
> On Tue, 23 Jul 2013 21:48:14 +0200
> Matthias Andree <mandree at FreeBSD.org> wrote:
>
>> Am 22.07.2013 00:32, schrieb Michael Gmelin:
>>
>>> I just tested building databases/db5 on 9.2-BETA1 (which ships with
>>> clang 3.3) using c++11 and libc++ and ran into the same problem.
>>> Dimitry's patch applied cleanly and resolved the issue. Do you think
>>> you could commit his patch to db5?
>>
>> Generally speaking yes,
>> but what do I need to do to reproduce the problem on
>> 9.1-RELEASE-mumble?
>>
>
> That's a good question. Since the problem is caused by db5's
> redefinition of atomic_init, which is used in current versions of
> libc++ you'll need clang++ 3.3 and a matching libc++
> (/usr/ports/devel/libc++ uses SVN Rev 185324 right now).
>
> Unfortunately libc++ won't build on 9.1-RELEASE by default, since it
> requires at least OS version 901502 (which means 9.1-STABLE as of Nov
> 28 2012 or later) due to the lack of aligned_alloc in earlier versions
> of the OS. Fortunately a patch for the sake of demonstrating the
> problem is not too hard.
Regarding db5 (and db6, too):
Thanks for the detailed instructions. I have reproduced the problem and
confirmed that the fix works, and have forward-ported the fix to db6
(SVN r323621). If older db4* versions fail to compile, that's finally
some incentive to rid ourselves of them, so I have not even bothered to
check. :-)
The committed version only patches src/dbinc/atomic.h, the other
references are dealt with by REINPLACE_CMD.
Regarding libc++ and 9.1-RELEASE, should not the libc++ port be fixed so
that it works on 9.1-RELEASE, too? Maybe 8.X is out of reach, but
aligned_alloc does not seem too intrusive, or is it?
Best regards,
Matthias
More information about the freebsd-ports
mailing list