I'll be honest your best bet is

     rm -rf /usr/local/*

And I wish I was joking.

It seems somehow perl has become accustomed to prefering whatever it finds
in /usr/local, rather than it's own components installed as part of base.

Another way of looking at this, is that the /usr/ports tree parts of
"perl extensions" are unaware that in OpenBSD perl is a first-class citizen,
and the people involved have become unaware that that the ABI changes they
land there will break 'base' perl use.

Jon Fineman <[email protected]> wrote:

> For cpan/cpanm I had gotten the same base64 error.
> 
> After moving those two directories and rebooting I was able to run pkg_add 
> and now cpanm. However cpan now gets the below error:
> desktop(~)$: cpan
> Encode.c: loadable library and perl binaries are mismatched (got handshake 
> key 0xb600000, needed 0xec00000)
> desktop(~)$: 
> 
> And one of my programs gets the below error:
> Discount.c: loadable library and perl binaries are mismatched (got handshake 
> key 0xb600000, needed 0xec00000)
> 
> 
> Outside of X11 the only libraries on the sysclean list are:
> 
> /usr/lib/libc++.so.4.0                                                        
>                                   
> /usr/lib/libc++abi.so.2.1                                                     
>                                   
> /usr/lib/libcbor.so.0.6                                                       
>                                   
> /usr/lib/libcrypto.so.46.1                                                    
>                                   
> /usr/lib/libfido2.so.2.0                                                      
>                                   
> /usr/lib/libpcap.so.8.4                                                       
>                                   
> /usr/lib/libssl.so.48.1                                                       
>                                   
> /usr/lib/libtls.so.20.1                                                       
>                                   
> /usr/lib/libperl.a                                                            
>                                   
> /usr/lib/libagentx.so.0.0                                                     
>                                   
> /usr/lib/libc++.so.5.0                                                        
>                                   
> /usr/lib/libc++abi.so.3.0                                                     
>                                   
> /usr/bin/podselect                                                            
>                                   
> 
> 
> 
> ----- Original message -----
> From: Andrew Hewus Fresh <[email protected]>
> To: Jon Fineman <[email protected]>
> Cc: [email protected]
> Subject: Re: pkg_add -u Base64.c: loadable library and perl binaries are 
> mismatched
> Date: Monday, May 03, 2021 8:57 PM
> 
> On Mon, May 03, 2021 at 08:47:15PM -0400, Jon Fineman wrote:
> > Any detailed instructions on how to remove the newer module? Both cpan and 
> > cpanm also get the binary mismatch error, so I can't uninstall base64 via 
> > cpan.
> > 
> > Is there a list of files/directories I can remove? I tried moving Base64.so 
> > in local but still got the error. So there seems to be a few more steps 
> > needed.
> 
> Based on this:
> https://metacpan.org/source/CAPOEIRAB/MIME-Base64-3.16/MANIFEST
> 
> I would expect removing these two directories to clean that up.
> 
> /usr/local/libdata/perl5/site_perl/amd64-openbsd/MIME
> /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/MIME
> 
> Once pkg_add works again, sysutils/sysclean should help find anything
> other cruft in there.
> 
> 
> Or, specifically the files covering these three:
> 
> $ find /usr/libdata/perl5/*/{,auto/}MIME -type f 
> /usr/libdata/perl5/amd64-openbsd/MIME/Base64.pm
> /usr/libdata/perl5/amd64-openbsd/MIME/QuotedPrint.pm
> /usr/libdata/perl5/amd64-openbsd/auto/MIME/Base64/Base64.so
> 
> 
> Is it still the same Base64.c error, or did some other module get
> installed as well?
> 
> 
> l8rZ,
> -- 
> andrew - http://afresh1.com
> 
> Computer analyst to programmer:
>                "You start coding. I'll go find out what they want."
> 

Reply via email to