Invalid perl5 version 5.32

Nearly ditched FreeBSD because of the issue. Thanks
You'll have a new reason tomorrow. Every 10 minute project takes 1/2 day because of some tiny version issue with one thing or another. BTW, you run this command on a 12.1 system and after 20 minutes it tells you that your version had ended and nothing is guaranteed to work.

So I can't upgrade a php extension because I can't upgrade gnu m4 without upgrading my entire system. It's the biggest pile of dung in human history.
 
FreeBSD 12.1 plus complaining about "upgrading the entire system" sounds more like not understanding the FreeBSD release cycle. You have 3 months for each minor upgrade and it doesn't introduce any ABI changes, so it's always smooth and simple – you just have to do it in time.
 
I'm now getting the same error, trying to run

sudo make makesum

As far as I know I upgraded from 13.1 to 13.2 correctly.

Any suggestions?
 
I'm now getting the same error, trying to run

sudo make makesum

As far as I know I upgraded from 13.1 to 13.2 correctly.

Any suggestions?

perl5.mk got this change

# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
-. if ${PERL5_DEFAULT} == 5.32
-.include "${PORTSDIR}/lang/perl5.32/version.mk"
-. elif ${PERL5_DEFAULT} == 5.34
+. if ${PERL5_DEFAULT} == 5.34

So that answer was

pkg ins perl5.34

then edit /etc/mk.conf and add

DEFAULT_VERSIONS+=perl5=5.34
 
So, 3 years ago, someone had a broken or outdated ports tree missing perl 5.32 ... and now that this version is finally gone for good, we see this thread again? :what:

JFTR, perl5 in DEFAULT_VERSIONS defaults to either whatever perl version is installed locally, or 5.34 now, so there's no need to add it to DEFAULT_VERSIONS yourself.

I actually wonder why this magic to check the installed version is there at all. IMHO smells like a POLA violation, as this "magically breaks" on updates when some old perl5 version is removed, but you still have it installed locally....
 
For portupgrade users:

Code:
# Tmp for Perl upgrade
#  migrating from 5.32 to 5.34, do:
# First, add to /etc/make.conf:
#  DEFAULT_VERSIONS+=perl5=5.34
# Execute:
#  portupgrade -o lang/perl5.34 -f lang/perl5.32
# You can now remove the DEFAULT_VERSIONS line
# Execute:
#  portupgrade -f `pkg shlib -qR libperl.so.5.32`
#DEFAULT_VERSIONS+=perl5=5.34

I keep this in my /etc/make.conf for the next time (updating the versions numbers).
 
So, 3 years ago, someone had a broken or outdated ports tree missing perl 5.32 ... and now that this version is finally gone for good, we see this thread again? :what:

It was the first hit in DuckDuckGo.

I don't know if this means that 13.2 has now been left behind wrt default ports Perl or whether the next quarterly pkg update will make perl5 == 5.34.
 
I don't know if this means that 13.2 has now been left behind wrt default ports Perl or whether the next quarterly pkg update will make perl5 == 5.34.
There's only one single ports tree, this has nothing to do with with your FreeBSD version. And again, 5.32 was removed recently. The default already is 5.34. You're only running into this issue because there's this additional "magic" to override the default with whatever version you already have installed. I'm questioning whether this kind of magic is a good idea at all. I don't see anything similar for other software versions that can be configured in DEFAULT_VERSIONS.
 
On 13.2-RELEASE-p4 quarterly the default is still 5.32.

paulf> pkg info | grep perl
perl5-5.32.1_3 Practical Extraction and Report Language
perl5.34-5.34.1_2 Practical Extraction and Report Language
 
On 13.2-RELEASE-p4 quarterly the default is still 5.32.
You mean "on quarterly". The FreeBSD version has nothing to do with it.

paulf> pkg info | grep perl
perl5-5.32.1_3 Practical Extraction and Report Language
perl5.34-5.34.1_2 Practical Extraction and Report Language
And it's also wrong. This just checks packages you have installed locally.

The latest quarterly branch is 2023Q4. perl5-5.32 is gone in that branch, see https://cgit.freebsd.org/ports/tree/Mk/bsd.default-versions.mk?h=2023Q4#n112
 
You mean "on quarterly". The FreeBSD version has nothing to do with it.
You mean that default versions are always the same across all currently supported versions?

And it's also wrong. This just checks packages you have installed locally.

The latest quarterly branch is 2023Q4. perl5-5.32 is gone in that branch, see https://cgit.freebsd.org/ports/tree/Mk/bsd.default-versions.mk?h=2023Q4#n112

Well I can't install packages until they are built and pkg can download and install them.

There was a gap between the ports git source tree being updated and the quarterly packages being built.

Yesterday I did a git pull of ports source but pkg wasn't yet on 2023Q4.

I just did a pkg update, 600 odd packages and 5.34 is now the default

paulf> pkg info | grep perl
perl5-5.34.1_3 Practical Extraction and Report Language
 
You mean that default versions are always the same across all currently supported versions?
There's just one ports tree, it isn't tied to any FreeBSD version. The defaults for DEFAULT_VERSIONS are set in Mk/bsd.default-versions.mk. So, yes.

It's technically possible to select some version based on the FreeBSD version (by checking OSVERSION), but this is done in different ways if needed. The only example I'm currently aware of is the meta-port graphics/drm-kmod.

Yesterday I did a git pull of ports source but pkg wasn't yet on 2023Q4.
This is a whole other story, mixing ports and packages. Of course this will fail when packages are built from a completely different state of the ports tree.

The cleanest way to mix ports and packages is to build your own package repository using ports-mgmt/poudriere-devel and enabling its package pre-fetching option, so it just puts official packages in your repository when they're a perfect match, instead of building them.
 
I'm experiencing the same problem when I try to upgrade ports with portmaster -a.


===>>> Currently installed version: curl-8.2.1
===>>> Port directory: /usr/ports/ftp/curl

===>>> This port is marked IGNORE
===>>> Invalid perl5 version 5.32


===>>> If you are sure you can build it, remove the
IGNORE line in the Makefile and try again.

I've only used the ports tree to install software and not pkg AFAIK.
 
lang/perl5.32 was removed some time ago

Code:
DEPRECATED: Support ends three years after .0 release. Please upgrade to a more recent version of Perl
Expired This port expired on: 2023-09-30

I've only used the ports tree to install software and not pkg AFAIK.
Check your /etc/make.conf. The default Perl version changed to 5.36 not too long ago.

 
Back
Top