Le 17 mai 2005 à 09:42, Daniel Macks a écrit :

Taking this to -devel because it's a symtom of a general problem.
Consider *not* replying to -gnome-core...

On fink-gnome-core, Mich?le Garoche wrote:

Compiling gimp2 after using buildfink makes it failed because of an
apparently missing dependency on xml-parser-pm586:

checking for perl... /usr/bin/perl
configure: error: XML::Parser perl module is required for intltool
### execution of F77=no failed, exit code 1
Failed: phase compiling: libgnomeprint2.2-2.6.2-9 failed


intltool is pretty annoying because of this. The current best-practice is for any package that needs intltool to BuildDepends:intltool, even though it doesn't actually need that package, since the intltool package in each dist has Depends on the xml-parser-pmXXX matching the perlXXX that is /usr/bin/perl in that dist.

OTOH, the AC_PROG_INTLTOOL macro really uses "first 'perl' in
PATH".
So that is always Fink's one, is not it (at least when compiling via fink)? Or is it always /usr/bin in this case?

As a result, if the user has a /sw/bin/perl from a perlXXY
package, the intltool placeholder pkg is bogus: the dep it gives is
not needed
I don't understand here, it would have thought the other way around.

and the dep that *is* needed is not specified.
?


One can set INTLTOOL_PERL to a specific path in order to over-ride the PATH search, so perhaps a cleaner solution is to set that to /usr/bin/perl and then XXX in BuildDepends:xml-parser-pmXXX is not affected by perlXXY packages. Does endowing the intltool package with a RuntimeVars:INTLTOOL_PERL:/usr/bin/perl work as an improvement on our current best-practice?
I don't know if I understood correctly. Do you say that intltool should always search its related xml-parser-whatever in /usr/bin/ perl, no matter if the user has or not installed a Fink version or any other version of perl?

Or, if I understand now better, say you have set this variable, then you install a newer version of Perl (via Fink for example). What happens next? intltool points always to /usr/bin/perl; but maybe you need /sw/bin/perl in this case? Or any installation of Perl (via Fink) reset this to /sw/bin/perl, but what happens when the user installs locally a newer version thereafter? (yes, I know I'm a bit paranoiac, nevertheless it's quite possible).

Or are we better off scrapping that
approach and just setting it in each package directly and adding the
BDep for the now-more-certain xml-parser-pmXXX?
That would be better, this way it ensures that every package which needs it has it.

I thought about hacking the AC_PROG_INTLTOOL macro with something like `which perl` result, would it work?

Cheers,
Michèle
<http://micmacfr.homeunix.org>




------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_idt12&alloc_id344&op=click _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to