On Thu, 3 Nov 2011, xgl001 wrote:
> A minor issue is that pcretest.c does not build without SUPPORT_JIT
> having been defined.
It does for me. Several of my standard tests that I run before release
do builds without JIT. I have just tried manually, and it happily builds
like this:
$ ./pcretest -C
PCRE version 8.20 2011-10-21
Compiled with
UTF-8 support
Unicode properties support
No just-in-time compiler support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
> It gets unresolved externals in linkage for the new JIT methods that
> were not included when the base library was built.
What environment are you running in? What were your other configuration
options? Perhaps there's some odd interaction that is causing this.
> Pcretest.c has one #ifdef condition for indicating SUPPORT_JIT but more may be needed.
> Perhaps something like this DIFF would suffice:
> ============================
> 588a589
> > #ifdef SUPPORT_JIT
> 592a594
> > #endif
> 2503a2506
> > #ifdef SUPPORT_JIT
> 2511a2515
> > #endif
> 3093a3098
> > #ifdef SUPPORT_JIT
> 3094a3100
> > #endif
> ============================
The design of the JIT interface is supposed to be such that a program
does not need to know whether JIT is available or not; dummy functions
are provided that do nothing when JIT support is not compiled. Something
has clearly gone wrong with this in your environment. It would be good
to figure out what it is.
Did you have a previous version of PCRE installed? If you try to compile
the 8.20 pcretest.c with a previous version of PCRE, it might behave
like that.
Philip
--
Philip Hazel