(new) pcre package for consideration

Ronald Landheer-Cieslak ronald@landheer.com
Mon May 5 11:26:00 GMT 2003

On Fri, 2 May 2003, Charles Wilson wrote:
> Ronald Landheer-Cieslak wrote:
> > I've taken the changes by Gerrit and Chuck into account for these, so 
> > Cygwin uses Libtool for compiling & linking now. However, Chuck's patch 
> > seems to break the linking stage anyway: I just unpacked the tarball and 
> > ran cygcheck against cygpcreposix.dll and got:
> > $ cygcheck cygpcreposix-0.dll 
> > Found: .\cygpcreposix-0.dll
> > cygpcreposix-0.dll
> >   D:\cygwin\bin\cygwin1.dll
> >     C:\WINNT\System32\KERNEL32.dll
> >       C:\WINNT\System32\ntdll.dll
> >   D:\cygwin\bin\cygpcre.dll
> > 
> > Can someone tell me whether running libtool --finish /usr/lib will make 
> > this alright? (I don't want to break my installation if I know what I'm 
> > going to do will do that in any case). If that is the case (that libtool 
> > --finish will fix this) I'll write a post-install script, but that would 
> > mean making libtool a dependency of pcre.. (which I don't particularly 
> > like).
> What are you talking about?  I don't see any problem there: cygpcreposix 
> depends on cygpcre, and on the system runtime lib cygwin1.dll (which in 
> turn depends on the MS runtime libs kernel32 and ntdll).  That's all fine.
What I want to know is that it will find the cygcpre-0.dll when looking 
for cygpcre.dll, without fixing anything. If that will work, it's fine by 
me. (but it doesn't work for me and I doubt it'll work for you)

The way I read these dependencies, cygpcreposix-0.dll depends on 
cygpcre.dll and cygwin1.dll (which ...). cygpcre.dll will not exist after 
installation - cygpcre-0.dll will. I have no idea what libtool --finish is 
supposed to do but I want to be sure I don't have to use it after install 
(which would mean adding a dependency for pcre).

> So I don't see what "problem" you're trying to fix.
I'm not trying to fix anything, I'm trying to avoid having to: I want to 
be sure that the mere name of the cygpcre.dll file won't matter. It 
usually does, and I think it might in this case as cygpcre-0.dll is in the 
same dir as cygpcreposix-0.dll, and should thus be found when looking for 
the DLL before the installed cygcpre.dll is (that is, AFAIK, the way 
Windows resolves this).

Also, if I remove or rename cygpcre.dll (the installed one) 
cygpcreposix-0.dll has a broken dependency. I want to be sure that doesn't 
happen if the libraries are installed.

> libtool --finish simply fixes up some stuff in libpcre.la and possible
> relinks; on windows, it appears that it is almost never necessary.
That's great, but it seems that removing my old pcre installation from
Cygwin and replacing it with the one I made breaks anything that depends
on pcre - and it will stay broken when recompiled against pcreposix.

For example: I've uninstalled pcre - on which grep depends - and put 
pcre-4.2-1 in its place. grep is still broken (complains about not finding 
a DLL), which would mean that by installing pcre-4.2-1 grep will be broken 
if not relinked.

I don't know which packages use pcreposix, but compiling and linking a 
very simple program against pcreposix will result in an executable that 
can't run because cygcpre.dll isn't there.

If we don't want to make a copy of cygpcre-0.dll called cygcpre-0.dll 
(which would defeat the purpose of having the version in the name and 
add a file that should not be needed to the distribution) I don't see how 
to fix this.

So, what I'd like to know is if there are any more things I may have 
overlooked in the use of libtool, now that Gerrit's and your patches have 
been applied, or whether this is a "doesn't work for me but works for you" 
type of situation.


More information about the Cygwin-apps mailing list