(new) pcre package for consideration
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