Re: [xslt] xsltlocale compilation issue

Rob Richards wrote:
Roumen Petrov wrote:
Rob Richards wrote:
I think that the typedef should be changed; otherwise already released source can not be used with an updated libxslt.


Nick Wellnhofer wrote:
Rob Richards wrote:
The libxslt library is building fine, but I ran into issues trying to build PHP with the lib. I don't think the tests for determining the type of xsltLocale are correct.
Note that this all does build and link correctly under windows.

It errors out when hitting line 24 in xsltlocale.h:
typedef locale_t xsltLocale;

In order to get that defined though in /usr/include/locale.h in order to get locale_t defined I need __USE_GNU defined, which it is not during the PHP compile.
It does compile fine though if I use typedef __locale_t xsltLocale

Due to the locale changes _GNU_SOURCE should be defined for source code that links against libxslt. If that's a problem we can also change the typedef like you did.


If I remember well we agree (check post in the list) that xsltlocale.h is only for private use. Why application that build against version from repository include xsltlocale.h ?

We aren't including it. It is being pulled by our inclusion of xsltutils.h. That include inlcudes xsltInternals.h, which in turn includes xsltlocale.h


May be I found why libxslt build fine. Library configure script contain macro AC_GNU_SOURCE. This macro define _GNU_SOURCE. Its definition cause __USE_GNU to be defined and as result we get locale_t without underscores :(.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]