Re: [pcre-dev] how to get pcre-7.0 dll on windows

Startseite
Nachricht löschen
Autor: Sheri
Datum:  
To: Bob Rossi, pcre-dev
Betreff: Re: [pcre-dev] how to get pcre-7.0 dll on windows
Bob Rossi wrote:
> On Thu, Apr 12, 2007 at 10:41:01AM -0400, Sheri wrote:
>
>> Bob Rossi wrote:
>>
>>> Hi,
>>>
>>> I'm attempting to understand how the old dll's were created and how the
>>> new ones are. That way, I can see the difference and explain the
>>> situation clearly to a 3rd party.
>>>
>>> However, if I download pcre-7.0 and do
>>> $ ../pcre-7.0/configure --prefix=$PWD/../prefix --disable-static
>>> --enable-shared
>>> it only generates static libraries. Libtool complains that it has to.
>>> The output of the make is attached.
>>>
>>> How did anyone ever build a shared library on windows in the first
>>> place?
>>>
>>> Thanks,
>>> Bob Rossi
>>>
>>>
>> Hi Bob,
>>
>> Here is my configure and make console (Msys) for 7.0. My configure
>> command has some differences from yours, esp. it does not have
>> --enable-shared on it. Let me know if you want me to try it specifically
>> with your configure options.
>>
>> FWIW, as I recall when I previously ran those few commands that created
>> pcre.dll for 7.1-RC4 after using the new configure and make, it didn't
>> work unless I had configured without excluding static. But with 7.0's
>> make, it created everything it needed for making pcre.dll and
>> pcreposix.dll despite having --disable-static on the configure command.
>> I'm sure it has much to do with 7.0's Makefile.in.
>>
>
> This is rather ironic. The entire reason I suggested updated the build
> system to use the autotools is because I believed it that pcre-7.0 was
> not properly compiling on mingw/cygwin. O well, I suppose it was for
> the better anyways. :)
>
> Well, I tried your exact commands with both cygwin and mingw.
> With cygwin I get, no .dll's. With mingw I get this build error,
>    g++ -c -g -O2 -I. -I../pcre-7.0 -DNEWLINE=-1 -DNO_RECURSE -DSUPPORT_UTF8 
>    -DSUPPORT_UCP -DPOSIX_MALLOC_T
>   HRESHOLD=10 ../pcre-7.0/pcrecpp.cc  -DDLL_EXPORT -DPIC -o .libs/pcrecpp.o                               
>   In file included from ../pcre-7.0/pcrecpp.cc:45:                                                        
>   ./pcre_stringpiece.h:45:5: #if with no expression                                                       
>   ./pcre_stringpiece.h:48:7: #if with no expression                                                       
>   make: *** [pcrecpp.o] Error 1                                                                           
> which is consistent with what I expected from previous attempts at this.

>
> I got my pcre-7.0 from here,
> http://www.pcre.org/
> specifically,
> ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.0.tar.gz
>
> Is that what you are using?
>


Yes. If you look at my output, you'll see I get the same thing. I don't
get that however if I don't have --disable-cpp on the configure. Then it
goes further and bombs making pcretest.exe. But regardless, I still
always got pcre.dll and pcreposix.dll in my .libs directory. I admit
that when I first started trying to build the libraries I was thrown by
the fact that make didn't run to completion. In fact, I was so new to
Msys/mingw and knew nothing of Unix that I didn't know what was wrong.
But once I linked pcretest by hand and ran the the RunTest.bat file
(after relocating the test data so the bat file would work) I could see
that the libraries in .libs were fine (at least after I disabled stack
for recursion, before that some of tests would crash). To finish
sucessfully with only errors on fr_FR locale, pcre needs at least 8mb of
stack on Windows when not disabling stack for recursion. At one point I
knew how to do that using configure/make, but since that left us open to
crashes in our application, I started disabling use of the stack altogether.

Regards,
Sheri