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."
>