On 14/03/11 01:19, Charles Wilson wrote:
> I did the following command, using 'mingw-get-0.2-alpha-1'
> mingw-get install msys-dvlpr
> and got the following warnings...
> Load catalogue: msys-system-builder.xml
> mingw-get.exe: *** ERROR *** gettext-0.17-2-msys-1.0.13-bin.tar.lzma:
> mingw-get.exe: *** ERROR *** msys-libintl-%-msys-%-dll-8.tar: unresolved
> dependency (type 'eq')
> mingw-get.exe: *** ERROR *** msys-libintl-%-msys-%-dll-8.tar: cannot
> identify any providing package
> mingw-get.exe: *** ERROR *** please report this to the package maintainer
And similarly, for...
> mingw-get.exe: *** ERROR *** msys-libgettextpo-%-msys-%-dll-0.tar:
Ouch! Strange that this is only now coming to light...
> But, the msys-gettext.xml manifest hasn't been changed in months, and
> it used to work fine.
I suspect that it never did work fine. The code to generate those
diagnostics is in src/pkgdeps.cpp, it was added by:
> 2010-08-19 Keith Marshall
> Some dependency resolver enhancements and bug fixes.
> * src/pkgdeps.cpp ...snip...
> (pkgXmlDocument::ResolveDependencies): Fix a block nesting error;
> catch and diagnose unresolved dependencies;
This has been in place since r0.1-alpha-3, and has not been changed
since; prior to that, IIRC, there would have been some other fairly
incomprehensible error message emitted.
> Plus, on visual inspection I can't see anything wrong with it.
> Help? I;m the package maintainer, so I'm supposed to fix this - but
> I don't understand what is wrong...
Note that both dependencies are specified for:
and are specified as:
<requires eq="msys-libintl-%-msys-%-dll-8.tar" />
<requires eq="msys-libgettextpo-%-msys-%-dll-0.tar" />
Now, in resolving those, the "%" wildcards are expanded to match the
REQUIRING package versions, i.e.:
<requires eq="msys-libintl-0.17-2-msys-1.0.13-dll-8.tar" />
<requires eq="msys-libgettextpo-0.17-2-msys-1.0.13-dll-0.tar" />
but the actual corresponding releases are specified as:
which, lacking any msys version qualifier, do not match the specified
> DID get installed -- presumably during the original msys-base
Presumably because it was pulled in by another package, with a less
specific requirement, e.g.:
<requires eq="msys-libintl-*-msys-*-dll-8.tar" />
which CAN match the actual release specification.