Help needed: fix build issue with xdxf_makedict in older platforms
ken.cunningham.webuse at gmail.com
Tue Nov 7 18:46:23 UTC 2017
On 2017-11-07, at 2:13 AM, Joshua Root wrote:
> There is an indirect dependency via glib2. The issue really is the macro
> in the gettext header causing unintended changes to the C++ headers.
> - Josh
totally get it now. It builds easily with libc++, but fails with libstdc++ or macports-libstdc++ with the same errors noted on the buildbots.
This is another example of how this libc++/clang-3.9 setup I have on 10.6 is consistent with newer systems -- if we standardized on that somehow we'd see fewer errors like this. I would have never seen this error.
Leonardo, I find you can reproduce this build error on any system (I just did it on high sierra) if you do this:
install clang-5.0 and libgcc as normally from the prebuilt packages
sudo port install libgcc clang-5.0
sudo port -v -s destroot xdxf_makedict configure.cxx_stdlib=macports-libstdc++ configure.compiler=macports-clang-5.0
and you duplicate the errors promptly.
It's totally a gcc vs libc++ header thing, as our knowledgable Joshua saw right away.
that definition is guarded by a flag
#ifndef GNULIB_defined_setlocale /* don't override gnulib */
#define setlocale libintl_setlocale
extern char *setlocale (int, const char *);
and sure enough, adding this to the portfile fixes the build:
I presume this workaround was made for this very error.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the macports-dev