Re: [pcre-dev] A test for the memory mismatch problem

Page principale
Supprimer ce message
Auteur: Sheri
Date:  
À: Bob Rossi, pcre-dev
Sujet: Re: [pcre-dev] A test for the memory mismatch problem
Bob Rossi wrote:
> On Mon, Apr 02, 2007 at 09:43:06PM -0400, Sheri wrote:
>
>> Bob Rossi wrote:
>> [...snip...]
>>
>>> Now does that build all of pcre successfully as a shared library? When I
>>> run 'make check' with the a shared version of the pcre build, it just
>>> hangs. I didn't ever take the time to figure out why. Is this the issue
>>> that you are having?
>>>
>>> The output of msysinfo,
>>>
>>> $ msysinfo                                                       
>>> msysinfo-1.3: Send this to the MSYS support list:                

>>>
>>>   MSYS 1.0.11(0.46/3/2) 2004-04-30 18:55 i686 unknown; targ=MINGW32
>>>   GNU bash, version 2.04.0(1)-release (i686-pc-msys); ENV=.profile
>>>   GNU Make version 3.79.1,Built for i686-pc-msys; MAKE_MODE=unix   
>>>   gcc.exe (GCC) 3.4.2 (mingw-special); targ=MINGW32
>>>   GNU ld version 2.15.91 20040904
>>>     5927498 Fri Apr 30 23:15:08 2004 /bin/msys-1.0.dll
>>>       52064 Thu Jan 02 08:05:27 2003 /bin/msysltdl-3.dll
>>>      135680 Fri Apr 30 23:15:05 2004 /bin/make.exe
>>>       88064 Tue Sep 21 05:15:22 2004 /mingw/bin/gcc.exe            
>>>      642048 Sat Sep 04 20:45:43 2004 /mingw/bin/ld.exe
>>>   HOME=/home/bobbybrasko                 
>>>   Sysname=MINGW32_NT-5.1  OSTYPE=msys  TERM=vt100
>>>   PATH=.:/usr/local/bin:/mingw/bin:/bin:/c/windows/system32:/c/win 
>>>   dows:/bin:/c/Program Files/Subversion/bin:/c/python25

>>>
>>>
>>>
>>>
>>>
>> Hi Bob,
>>
>> Here's my msysinfo:
>>
>> $ msysinfo
>> msysinfo-1.3: Send this to the MSYS support list:
>>
>> MSYS 1.0.11(0.46/3/2) 2004-04-30 18:55 i686 unknown; targ=MINGW32
>> GNU bash, version 2.04.0(1)-release (i686-pc-msys); ENV=.profile
>> GNU Make version 3.79.1,Built for i686-pc-msys; MAKE_MODE=unix
>> gcc.exe (GCC) 3.4.2 (mingw-special); targ=MINGW32
>> GNU ld version 2.16.91 20060119
>>   5927498 Fri Apr 30 23:15:08 2004 /bin/msys-1.0.dll
>>    135680 Fri Apr 30 23:15:05 2004 /bin/make.exe
>>     88064 Tue Sep 21 05:15:22 2004 /mingw/bin/gcc.exe
>>    685568 Fri Jan 20 01:41:43 2006 /mingw/bin/ld.exe
>> HOME=/home/Sheri
>> Sysname=MINGW32_NT-5.1  OSTYPE=msys  TERM=msys
>> PATH=.:/usr/local/bin:/mingw/bin:/bin:/c/WINDOWS/system32:/c/WIN
>> DOWS:/c/WINDOWS/System32/Wbem:

>>
>> I've truncated my path.
>>
>> I don't have a problem during the build. The problem is in using the
>> shared library (which Phillip says seems improperly linked). Both static
>> and shared libraries build fine using the command sequence you gave.
>>
>> Do this. Using a Windows Command Prompt aka DOS window, switch into your
>> prefix-shared\bin dir
>>
>> At the command prompt type in pcretest <enter>
>>
>> When prompted for a regular expression, type in /(a)b|/I <enter>
>>
>> If this is returned:
>>
>> Size disagreement: pcre_fullinfo=62 call to malloc for 0
>>
>> You have the same problem as I do.
>>
>> Doesn't happen on the statically linked pcretest. Only the one linked to
>> the dlls.
>>
>
> OK, I've reproduced this problem. I will look into this more tomorrow. I
> really don't think this should be hard to solve.
>

Hi Bob,

In case you missed it in one of my previous notes to Phillip, I did
finally make a functional dll following these steps:

1. Ran my configure command with all my usual options in pcre-7.0.

2. Ran same configure command in pcre-7.1-RC3

3. copied makefile and makefile.in from pcre-7.0 to pcre-7.1-RC3

4. edited both of the above to change ucptable.c to ucptable.h

5. ran make in pcre-7.1-RC3. There were numerous warnings about various
things that were already defined. But nothing fatal happened before the
dll was produced. In fact, I think I got all the shared and static
libraries (despite having asked only for shared, and no cpp.)

I'm going to put together a zip with a coff file you can try as well.

Regards,
Sheri