On Nov 5, 2024, at 03:23, Maxim Abalenkov  wrote:
> I recently ran into trouble with a command-line tool called ‘help2man’:
> 
> HELP2MAN starpu_env.1
> Encode.c: loadable library and perl binaries are mismatched (got handshake 
> key 0x10200080, needed 0xfb80080)
> 
> I assume, this happens because I have multiple Perl installations on my 
> system: Apple’s, MacPorts’ and my own compiled from source.

It should not be a problem to have as many different perls installed as you 
like; they are designed not to interfere with one another. 

You should file a bug report for the help2man problem you encountered, assuming 
a ticket does not already exist for this. Since it has variants for different 
perls, it should be using the perl you chose; if it doesn't, that's a bug. 


> When I look at all possible port variants for help2man I see:
> 
> sudo port variants help2man
> Password:
> help2man has the variants:
>    perl5_28: Use MacPorts perl5.28
>      * conflicts with perl5_30 perl5_32 perl5_34 perl5_36 perl5_38
>    perl5_30: Use MacPorts perl5.30
>      * conflicts with perl5_28 perl5_32 perl5_34 perl5_36 perl5_38
>    perl5_32: Use MacPorts perl5.32
>      * conflicts with perl5_28 perl5_30 perl5_34 perl5_36 perl5_38
> [+]perl5_34: Use MacPorts perl5.34
>      * conflicts with perl5_28 perl5_30 perl5_32 perl5_36 perl5_38
>    perl5_36: Use MacPorts perl5.36
>      * conflicts with perl5_28 perl5_30 perl5_32 perl5_34 perl5_38
>    perl5_38: Use MacPorts perl5.38
>      * conflicts with perl5_28 perl5_30 perl5_32 perl5_34 perl5_36
>    universal: Build for multiple architectures
> 
> Would it be possible to provide another help2man variant that would use 
> perl5_40?
> 
> This brings me to a more general question. Is one version of perl5_XY enough 
> to power all other MacPorts that depend on a Perl port or do we really need 
> perl5_34 for one port A and perl5_36 for another port B? Is it possible to 
> bring ‘law and order’ into a MacPorts installation and say: “Dear ports, 
> please use the one and only Perl port v5.40?”

Ports that use perl should either depend on the perl5 port (if they don't care 
about the perl version and don't use any modules) or the perl5.34 port (if they 
require a more recent perl or they require any perl modules). 

We cannot move MacPorts to a newer default version of perl than 5.34 until 
someone contributes module ports for the newer perls. See 
https://trac.macports.org/ticket/67830

It looks like help2man depends on p5-locale-gettext and someone has already 
contributed perl 5.36 and 5.38 versions of just that module so variants for 
those versions of perl could be added to the help2man port. 

Reply via email to