[Bug 250740] mail/mailsync 12.2-RELEASE breaks package build

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Nov 11 16:40:02 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250740

--- Comment #7 from Dimitry Andric <dim at FreeBSD.org> ---
(In reply to Fernando Apesteguía from comment #4)

First of all, the c-client software was clearly written before C++ existed,
since it uses C++ keywords as struct member names, so that is why they have to
hack around it with #defining those keywords to something non-conflicting.

However, those defines should *not* be active when including any system
headers, and that is clearly violated by the c-client.h file. It is simply
totally broken, and you were lucky that it worked at all.

In any case, it is likely not about clang or clang++, but about the used libc++
headers. If you use C++, libc++ overrides certain standard C headers such as
stdio.h, string.h, etc. Since the c-client headers are including multiple
system headers with 'private' redefined, this wreaks havoc when it eventually
goes into libc++'s own headers. I guess g++ doesn't work that way, but I
haven't investigated.

In my opinion, c-client is obsolete software which is clearly incompatible with
C++, and should either be patched up to relatively non-ancient standards, or
ditched altogether.

Note that mailsync itself does not look much better. :)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-toolchain mailing list