Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Nov 2020 16:40:01 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 250740] mail/mailsync 12.2-RELEASE breaks package build
Message-ID:  <bug-250740-7788-z1Wd3C7cSA@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-250740-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-250740-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D250740

--- Comment #7 from Dimitry Andric <dim@FreeBSD.org> ---
(In reply to Fernando Apestegu=C3=ADa 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 li=
bc++
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 eventual=
ly
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. :)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-250740-7788-z1Wd3C7cSA>