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