Solved Segmentation fault error after python 3.6 to 3.7 update

I have been getting this error for months now. My jails are officially broken. I have tried updating python and many other things. I am not a programmer. Any help would be appreciated. I am running freeBSD 12.1-RELEASE-P9 on AMD64.

Code:
* ob
object  : <refcnt 0 at 0x802d13b30>
type    : str
refcount: 0
address : 0x802d13b30
* op->_ob_prev->_ob_next
object  : <refcnt 0 at 0x802d13b2f>Segmentation fault

Thanks so much.

Sandra
 
I'd just Backup the jail's relevant configs/Websites and setup a new jail to be honest.

The error you're seeing can't be from a simple python script like certbot anyway.
 
the full command and entire output:


Code:
sandra@mail:~ % sudo certbot renew -q
Password:
* ob
object  : <refcnt 0 at 0x802d14660>
type    : str
refcount: 0
address : 0x802d14660
* op->_ob_prev->_ob_next
object  : <refcnt 0 at 0x802d1465f>Segmentation fault
sandra@mail:~ %
sandra@mail:~ %

This is the error to #sudo portmaster security/py-certbot-nginx@py37 security/py-certbot@py37

Code:
Exception occurred:
  File "/usr/local/lib/python3.7/site-packages/sphinx/util/stemmer/__init__.py", line 14, in <module>
    from Stemmer import Stemmer as _PyStemmer
SystemError: init function of Stemmer returned uninitialized object
The full traceback has been saved in /tmp/sphinx-err-fcs_my60.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
*** Error code 2

Stop.
make[1]: stopped in /usr/ports/security/py-certbot
*** Error code 1

Stop.
make: stopped in /usr/ports/security/py-certbot

===>>> make build failed for security/py-certbot@py37
===>>> Aborting update

===>>> Update for py37-certbot-1.6.0,1 failed
===>>> Aborting update


===>>> You can restart from the point of failure with this command line:
       portmaster <flags> security/py-certbot-nginx@py37 security/py-certbot@py37

This command has been saved to ~/portmasterfail.txt

I have posted an error here too: https://github.com/sphinx-doc/sphinx/issues


Yes, I normally install from ports (actually I only use ports)
with above command, except I am using sudo.
I am having issues also with cmake. Elsewhere I attempted to install cmake with root from my box, that did not work. I have tried adding the following to my make.conf file:

Code:
LD=/usr/local/bin/ld.lld80
CXXFLAG+S=-I/usr/local/lib/gcc9/gcc/x86_64-portbld-freebsd12.1/9.3.0/include
LDFLAGS+=-nodefaultlibs -lc++ -lcxxrt -lthr -lm -lc -lgcc_s

Following this thread:

Regarding my jails, I set up jails with iocage, but for several months, this is what I get when I invoke iocage list:
Code:
# iocage list
* ob
object  : <refcnt 0 at 0x802fb4d60>
type    : str
refcount: 0
address : 0x802fb4d60
* op->_ob_prev->_ob_next
object  : <refcnt 0 at 0x802fb4d5f>Segmentation fault (core dumped)


My server is nginx
Up until yesterday it was working as it has been in the main host, however, now it is down because the certificate has expired as of yesterday.

This is the link to my cmake problem:

 
Your ports seem to be in a bit of a state.

Have you got another machine (even a VM under VirtualBox) that you can try and build things from scratch?

Get a list of the ports you currently have installed (e.g. use pkg info) on the messy machine.

Start a new machine (with same OS), and use ports to build what you think you need but don't obsess too much with specific Python versions - just try any defaults to start with.

Can you get cmake to build without Python errors? Likewise Sphinx. Can you get certbot to run - not "in anger" but print a version string or something minor like that - so all this on the test box. Document any steps you take and choices made.

If that all works, you could then clean out the ports on the problematic machine and build from scratch (as you just did on the dev/test machine.) At this point you know it works on another machine, so it's "just" a question of following the same steps.

It might be easier than trying to untangle what you've got now. Unless someone else comes up with a specific list of steps to fix each issue you are encountering.
 
And I'd recommend using packages instead of ports, unless you need some specific options set for particular applications.
Good point, yes. I assumed the OP needed to use ports - but if not - a lot quicker/cleaner/easier to install the corresponding packages instead. Again, something you can try for yourself on a test machine/environment to be comfortable it's going to work.
 
Good point, yes. I assumed the OP needed to use ports - but if not - a lot quicker/cleaner/easier to install the corresponding packages instead. Again, something you can try for yourself on a test machine/environment to be comfortable it's going to work.
I've read in so many places that ports are better. That is why I have always used them.

Ok, I have another server. I will start from scratch. The first problem, was the iocage problem. I believe it is python related. I believe it occurred after updating python.
 
I've read in so many places that ports are better.
Better for what? :-/

I think using ports gives you at lot more control, a lot more options - all "better" - and a lot more ways to shoot yourself in both feet. Not so good.

So unless you have to use them I think pkg is the way to go.

I use ports because I think that's the only way I can make sure I am using the latest OpenSSL across the board.

You may find as you go through this process you do need to use ports, but if you don't - it should make your life simpler. And if you discover you do need to use ports, trying pkg has proved the point that you do need ports, so not time wasted.

But keep the dev/test environment around as well. Then you can test any upgrades on there first.

Good luck! 🍀

Oh, and as anoymous9 said - keep it simple - remove anything from /etc/make.conf, try the defaults first (e.g. Python versions), before any tweaking, if you are using ports.
 
great thanks, I will
question, what is the significance of
object : <refcnt 0 at 0x802fb4d5f>Segmentation fault (core dumped)

Here is another error

Code:
Done configuring
===>  Building for py37-libxml2-2.9.10_1
setup.py:1: ResourceWarning: unclosed file <_io.BufferedReader name='setup.py'>
  #!/usr/bin/python -u
ResourceWarning: Enable tracemalloc to get the object allocation traceback
libxslt stub generator not found, libxslt not built
/usr/local/lib/python3.7/distutils/dist.py:259: UserWarning: 'licence' distribution option is deprecated; use 'license'
  warnings.warn(msg)
running build
running build_py
creating build
creating build/lib.freebsd-12.1-RELEASE-p9-amd64-3.7-pydebug
copying libxml2.py -> build/lib.freebsd-12.1-RELEASE-p9-amd64-3.7-pydebug
copying drv_libxml2.py -> build/lib.freebsd-12.1-RELEASE-p9-amd64-3.7-pydebug
running build_ext
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 238, in <module>
    data_files=data_files,
  File "/usr/local/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/local/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.7/distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/usr/local/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.7/distutils/dist.py", line 983, in run_command
    cmd_obj = self.get_command_obj(command)
  File "/usr/local/lib/python3.7/distutils/dist.py", line 857, in get_command_obj
    klass = self.get_command_class(command)
  File "/usr/local/lib/python3.7/site-packages/setuptools/dist.py", line 834, in get_command_class
    self.cmdclass[command] = cmdclass = ep.load()
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2443, in load
    return self.resolve()
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2449, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 26, in <module>
    __import__('Cython.Compiler.Main')
  File "/usr/local/lib/python3.7/site-packages/Cython/Compiler/Main.py", line 28, in <module>
    from .Scanning import PyrexScanner, FileSourceDescriptor
SystemError: init function of Scanning returned uninitialized object
*** Error code 1

Stop.
make: stopped in /usr/ports/textproc/py-libxml2

===>>> make build failed for textproc/py-libxml2@py37
===>>> Aborting update

===>>> Upgrade of libxml2-2.9.10 to libxml2-2.9.10_1 complete


===>>> You can restart from the point of failure with this command line:
       portmaster <flags> textproc/py-libxml2@py37

This command has been saved to ~/portmasterfail.txt
 
Thank you all for such good information. Now, where can I see the core which was dumped?

"Segmentation fault (core dumped)"
 
It should end up in the current directory as [binaryname].core (certbot.core? if that's actually the binary that's segfaulting). You can load it using lldb -c filename and get a backtrace of the failing code by typing bt. It's likely not going to be overly helpful on it's own though.
 
That must be when everything went to hell when I updated from python 3.6 to 3.7
Should I go back to 3.6, if so how ?
 
Sorry for my English it's not my primary language so i hope you understand me.

Should I go back to 3.6, if so how ?

NO, python3.6 is no longer default version and you should upgrade to next supported version.

I've read in so many places that ports are better. That is why I have always used them.

Yes they are better for Administrators who wants to use later versions of the programs or are using different configuration of the ports than the default which is used in the pkg.
Always update all ports as most of them have same dependencies.

When you are using ports and you want to upgrade an installed port your first task is to read /usr/ports/UPDATING it contain the information of any MAJOR changes which WILL BREAK your ports if you do not follow the instructions in it about how to update your port.
If the port version change is MINOR and doesn't require any configuration change it will be not listed in /usr/ports/UPDATING
After each port update it's useful to take a note of the last date in /usr/ports/UPDATING so the next time when you updating your ports you can read only the last new notes in UPDATING file.

Regarding your issue:
When you are installing a port which has a flavors you do not specify which flavor you want to install of that port. In this case when certbot is build it will detect which version of python you have and will pick the flavor depending of what it will find. For example if you have python3.6 the certbot will detect that and it will install py36-certbot. If you build py37-certbot and you have the old version of python OR some old modules which are for py36 then you will start see those errors because of the version mismatch.

Hot to fix:
In short uninstall py* and install again python37 and py-certbot

Before every Update you have to make a full backup. Then if you have time i advice you to restore this backup on test virtual machine and perform a test update in this virtual machine while performing this update to take notes about every step(command) that you use to update the software there. After the update you verify if everything is working and then perform actual update on production server following all your notes that you have taken during a test update in virtual machine.
Note: you can't perform all test of the software as some of it depend of FQDN, valid certificates, having specific public IP address and so on but you can actually test that the software is complied and running. In the test virtual machine you can't install the new certificates for example.

When you are upgrading to major version of the program in this case python3.6 to python3.7 you need to first check which programs are depending of python3.6 and verify if those program support the new version of python. It's valid for every upgrade for example upgrading php72 to php74 you have to verify all installed programs that depend of it.
To do this you can use pkg-info(8) and take a note for the programs that you want to update.
In your case python36
pkg info -r python36

From the output you take a note for the programs that you need to update (keep after reinstall). You can write down only the programs that you want. For example

To see all programs that are installed and required python37
pkg info -r python37
python37-3.7.9:
py37-certbot-1.7.0,1
py37-repoze.sphinx.autointerface-0.8
py37-sphinx-3.2.1,1
py37-acme-1.7.0,1
py37-josepy-1.4.0
py37-urllib3-1.25.10,1
py37-certifi-2020.6.20
py37-cffi-1.14.2
py37-six-1.15.0
meson-0.54.3
glib-2.56.3_9,1
ninja-1.10.1,2
py37-parsedatetime-2.6
py37-sqlite3-3.7.9_7
py37-mock-3.0.5
py37-requests-toolbelt-0.9.1
py37-sphinx_rtd_theme-0.4.3
py37-packaging-20.4
py37-pyparsing-2.4.7
py37-imagesize-1.1.0
py37-alabaster-0.7.6
py37-snowballstemmer-1.2.1
py37-pystemmer-2.0.0.1
py37-cython-0.29.15
py37-pytz-2020.1,1
py37-asn1crypto-1.3.0
py37-pycparser-2.20
py37-fail2ban-0.11.1_1
py37-configargparse-1.2.3
py37-docutils-0.15.2
py37-pygments-2.5.2
py37-Jinja2-2.10.1
py37-Babel-2.8.0
py37-MarkupSafe-1.1.1
py37-sphinxcontrib-qthelp-1.0.3
py37-sphinxcontrib-serializinghtml-1.1.4
py37-sphinxcontrib-htmlhelp-1.0.3
py37-sphinxcontrib-jsmath-1.0.1
py37-sphinxcontrib-devhelp-1.0.2
py37-sphinxcontrib-applehelp-1.0.2
mc-nox11-4.8.24
py37-setuptools-44.0.0
py37-zope.component-4.2.2
py37-zope.interface-4.6.0
py37-zope.event-4.1.0
py37-distro-1.4.0_1
py37-configobj-5.0.6_1
py37-requests-2.22.0
py37-pysocks-1.7.1
py37-idna-2.8
py37-chardet-3.0.4_3
py37-pyrfc3339-1.1
py37-openssl-19.0.0
py37-cryptography-2.6.1
py37-pyinotify-0.9.6

From this list i need only
py37-certbot-1.7.0,1 and mc-nox11-4.8.24
All other modules will be installed as dependencies during the installation of above two programs so you do not need to write all of them down.

Then read the UPDATING file regarding how to proceed with the update of python3.7
less /usr/ports/UPDATING
20200107:
...skipping...
Default version of python3 and python was switched to 3.7.

For ports users wanting to keep version 3.6 as default,
add DEFAULT_VERSIONS+= python=3.6 python3=3.6 to make.conf

This may ease the upgrade for users of pre-build packages:
# sh
# for i in $(pkg query -g %n 'py36-*'); do pkg set -yn ${i}:py37-${i#py36-}; done
# pkg upgrade

For portmaster users:
# sh
# portmaster -o lang/python37 python36
# REINSTALL="$(pkg info -o py36-\* | awk '{printf "%s ", $2}')"
# pkg delete -f py36-\*
# portmaster $REINSTALL
# REBUILD=$(pkg query -g "%n:%dn" '*' | grep py3 | grep -v py37 | cut -d : -f 1 | sort -u)
# portmaster $REBUILD
# REBUILD2=$(pkg list | grep python-36 | xargs pkg which | awk '{print $6}' | sort -u)
# portmaster $REBUILD2

Uninstall python36 and all py36 modules (this will break all programs that depend on it and they need to be rebuild after the new version of py37 is installed that's why we take a note with pkg info)
You can use pkg autoremove here to Uninstall those program OR leave them in non working condition until you rebuild them again. I personally leave them so i can rebuild them later usually with " pkg shlib -qR {name of the old .so lib}" which is not in this case with python upgrade instead of removing them with pkg autoremove
Uninstall py*-certbot
Install lang/python37
Install security/py-certbot (it will detect that python37 is installed and it will install all required py37-* modules as well)
 
Thank you, and your English is perfect.
I see!

this is what I get for:

pkg info -r python36
pkg: No package(s) matching python36

pkg info -r python37
Code:
python37-3.7.9:
        py37-Jinja2-2.11.2
        py37-setuptools_scm-3.4.3_1
        py37-toml-0.10.1
        sudo-1.9.3p1
        py37-josepy-1.4.0
        ninja-1.10.1,2
        samba411-4.11.11
        webmin-1.954
        py37-sphinx-3.2.1,1
        py37-sphinxcontrib-websupport-1.2.4
        py37-six-1.15.0
        py37-acme-1.7.0,1
        git-2.28.0
        py37-iocage-devel-1.0.0.20190810_3,1
        py37-setuptools-44.0.0
        py37-tqdm-4.48.0
        llvm90-9.0.1_2
        llvm80-8.0.1_4
        gobject-introspection-1.56.1_1,1
        asciidoc-9.0.2
        gstreamer1-plugins-gl-1.16.2
        graphene-1.10.0
        py37-gobject3-3.28.3_2
        py37-cairo-1.18.1_1
        tevent-0.10.2
        talloc-2.3.1
        tdb-1.4.3,1
        py37-parsedatetime-2.6
        libinput-1.15.6
        py37-sqlite3-3.7.8_7
        py37-coloredlogs-14.0
        py37-cffi-1.14.0_1
        py37-certifi-2020.6.20
        py37-certbot-1.6.0,1
        py37-repoze.sphinx.autointerface-0.8
        glib-2.56.3_9,1
        py37-tkinter-3.7.8_6
        py37-gdbm-3.7.8_6
        py37-numpy-1.16.6,1
        doxygen-1.8.15_3,2
        texlive-texmf-20150523_4
        texlive-base-20150521_53
        py37-fail2ban-0.11.1_1
        py37-psycopg2-2.8.5
        meson-0.54.3
        py37-cython-0.29.15
        py37-pystemmer-2.0.0.1
        py37-zope.interface-4.6.0
        py37-libzfs-1.0.20191113
        py37-netifaces-0.10.9
        py37-libxml2-2.9.10
        py37-evdev-0.8.1_1
        py37-MarkupSafe-1.1.1
        py37-cryptography-2.6.1
        py37-mako-1.0.14
        py37-beaker-1.11.0
        itstool-2.0.6
        gstreamer1-plugins-vorbis-1.16.2
        gstreamer1-plugins-theora-1.16.2
        gstreamer1-plugins-resindvd-1.16.2_1
        gstreamer1-plugins-png-1.16.2
        gstreamer1-plugins-pango-1.16.2
        gstreamer1-plugins-ogg-1.16.2
        gstreamer1-plugins-mpg123-1.16.2
        gstreamer1-plugins-good-1.16.2
        gstreamer1-plugins-dvdread-1.16.2_1
        gstreamer1-plugins-dts-1.16.2
        gstreamer1-plugins-bad-1.16.2
        gstreamer1-plugins-a52dec-1.16.2
        gstreamer1-plugins-ugly-1.16.2
        gstreamer1-plugins-1.16.2
        gstreamer1-1.16.2
        gtk2-2.24.32
        py37-pyudev-0.22.0
        py37-iso8601-0.1.12
        py37-recommonmark-0.5.0_2
        py37-requests-toolbelt-0.9.1
        py37-pycparser-2.20
        py37-packaging-20.4
        py37-sphinxcontrib-serializinghtml-1.1.4
        py37-sphinxcontrib-qthelp-1.0.3
        py37-sphinxcontrib-jsmath-1.0.1
        py37-sphinxcontrib-htmlhelp-1.0.3
        py37-sphinxcontrib-devhelp-1.0.2
        py37-sphinxcontrib-applehelp-1.0.2
        py37-pytz-2020.1,1
        py37-configargparse-1.2.3
        py37-pyinotify-0.9.6
        py37-texttable-1.6.2
        py37-pytest-runner-2.11.1
        py37-pyparsing-2.4.7
        py37-mock-3.0.5
        py37-dnspython-1.16.0
        py37-humanfriendly-7.1.1
        py37-click-7.0
        py37-distro-1.4.0_1
        py37-zope.event-4.1.0
        py37-zope.component-4.2.2
        py37-configobj-5.0.6_1
        py37-pyrfc3339-1.1
        py37-smmap2-2.0.5
        py37-gitdb2-2.0.6
        py37-ddt-1.2.1
        py37-GitPython-2.1.11
        py37-CommonMark-0.9.1
        py37-future-0.18.2
        py37-requests-2.22.0
        py37-chardet-3.0.4_3
        py37-urllib3-1.25.7,1
        py37-openssl-19.0.0
        py37-asn1crypto-1.3.0
        py37-pysocks-1.7.1
        py37-idna-2.8
        py37-sphinx_rtd_theme-0.4.3
        py37-snowballstemmer-1.2.1
        py37-alabaster-0.7.6
        py37-imagesize-1.1.0
        py37-docutils-0.15.2
        py37-pygments-2.5.2
        py37-Babel-2.8.0
        gtk-doc-1.29_1
        xcb-proto-1.13_1

I have reinstalled python 3.7 in the recent past.

I will continue your recommendations and continue to post. Thanks
 
Oh, not python37 also?

Python37 installs fine, but then cerbot does not. This is the error I get for this command:

/usr/ports/security/py-certbot % sudo make install

Code:
===>  Building for py37-certbot-1.7.0,1
setup.py:1: ResourceWarning: unclosed file <_io.BufferedReader name='setup.py'>
  import codecs
ResourceWarning: Enable tracemalloc to get the object allocation traceback
running build
running build_py
running egg_info
writing certbot.egg-info/PKG-INFO
writing dependency_links to certbot.egg-info/dependency_links.txt
writing entry points to certbot.egg-info/entry_points.txt
writing requirements to certbot.egg-info/requires.txt
writing top-level names to certbot.egg-info/top_level.txt
reading manifest file 'certbot.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '__pycache__' found anywhere in distribution
warning: no previously-included files matching '*.py[cod]' found anywhere in distribution
writing manifest file 'certbot.egg-info/SOURCES.txt'
(cd /usr/ports/security/py-certbot/work-py37/certbot-1.7.0/docs &&  sphinx-build-3.7 -N -b man . _build/man)
Running Sphinx v3.2.1

Exception occurred:
  File "/usr/local/lib/python3.7/site-packages/sphinx/util/stemmer/__init__.py", line 14, in <module>
    from Stemmer import Stemmer as _PyStemmer
SystemError: init function of Stemmer returned uninitialized object
The full traceback has been saved in /tmp/sphinx-err-39ha02g8.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
*** Error code 2

Stop.
make[1]: stopped in /usr/ports/security/py-certbot
*** Error code 1

Stop.
make: stopped in /usr/ports/security/py-certbot
sandra@mail:/usr/ports/security/py-certbot %
 
You already have python37 so it will be faster first to try only with rebuilding certbot.
Also after making portsnap auto check which other ports need updating with pkg ver | grep "<"
 
Oh boy!
If I try to install as a pkg:

sudo pkg install py37-certbot

this is what I get:

Code:
Installed packages to be REMOVED:
        docproj: 2.0_14
        itstool: 2.0.6
        kf5-attica: 5.72.0
        kf5-kauth: 5.72.0
        kf5-kbookmarks: 5.72.0
        kf5-kcompletion: 5.72.0
        kf5-kconfig: 5.72.0
        kf5-kconfigwidgets: 5.72.0
        kf5-kcrash: 5.72.0
        kf5-kdbusaddons: 5.72.0
        kf5-kded: 5.72.0_1
        kf5-kdesu: 5.72.0
        kf5-kdoctools: 5.72.0
        kf5-kemoticons: 5.72.0
        kf5-kfilemetadata: 5.72.0
        kf5-kglobalaccel: 5.72.0
        kf5-kguiaddons: 5.72.0
        kf5-ki18n: 5.72.0
        kf5-kiconthemes: 5.72.0
        kf5-kidletime: 5.72.0
        kf5-kitemmodels: 5.72.0
        kf5-kitemviews: 5.72.0
        kf5-kjobwidgets: 5.72.0
        kf5-kjs: 5.72.0
        kf5-kjsembed: 5.72.0
        kf5-knotifications: 5.72.0
        kf5-kpackage: 5.72.0
        kf5-kpeople: 5.72.0
        kf5-kplotting: 5.72.0
        kf5-kpty: 5.72.0
        kf5-kservice: 5.72.0
        kf5-ktextwidgets: 5.72.0
        kf5-kunitconversion: 5.72.0
        kf5-kwayland: 5.72.0
        kf5-kwidgetsaddons: 5.72.0
        kf5-kwindowsystem: 5.72.0
        kf5-kxmlgui: 5.72.0
        kf5-prison: 5.72.0
        kf5-solid: 5.72.0
        kf5-sonnet: 5.72.0
        kf5-threadweaver: 5.72.0
        libdbusmenu-qt5: 0.9.3.160420160218_10
        libinput: 1.15.6
        phonon-qt5: 4.11.1
        pinentry-qt5: 1.1.0_1
        plasma5-kdecoration: 5.19.4
        plasma5-kwayland-server: 5.19.4
        plasma5-libkscreen: 5.19.4
        polkit-qt-1: 0.113.0_8
        poppler-qt5: 20.08.0_1
        py37-Jinja2: 2.11.2
        py37-MarkupSafe: 1.1.1
        py37-acme: 1.7.0,1
        py37-certbot-nginx: 1.7.0
        py37-cryptography: 2.6.1
        py37-cython: 0.29.15
        py37-evdev: 0.8.1_1
        py37-iocage-devel: 1.0.0.20190810_3,1
        py37-josepy: 1.4.0
        py37-libxml2: 2.9.10
        py37-libzfs: 1.0.20191113
        py37-mako: 1.0.14
        py37-netifaces: 0.10.9
        py37-numpy: 1.16.6,1
        py37-openssl: 19.0.0
        py37-psycopg2: 2.8.5
        py37-pystemmer: 2.0.0.1
        py37-recommonmark: 0.5.0_2
        py37-requests: 2.22.0
        py37-requests-toolbelt: 0.9.1
        py37-snowballstemmer: 1.2.1
        py37-sphinx: 3.2.1,1
        py37-urllib3: 1.25.7,1
        py37-zope.component: 4.2.2
        py37-zope.interface: 4.6.0
        qt5-assistant: 5.15.0
        qt5-declarative: 5.15.0_1
        qt5-designer: 5.15.0
        qt5-graphicaleffects: 5.15.0
        qt5-gui: 5.15.0
        qt5-help: 5.15.0
        qt5-location: 5.15.0
        qt5-multimedia: 5.15.0
        qt5-opengl: 5.15.0
        qt5-printsupport: 5.15.0
        qt5-quickcontrols2: 5.15.0
        qt5-sensors: 5.15.0
        qt5-speech: 5.15.0
        qt5-svg: 5.15.0
        qt5-uiplugin: 5.15.0
        qt5-uitools: 5.15.0
        qt5-virtualkeyboard: 5.15.0
        qt5-wayland: 5.15.0
        qt5-webchannel: 5.15.0
        qt5-webkit: 5.212.0.a4_3
        qt5-widgets: 5.15.0
        qt5-x11extras: 5.15.0
        qt5-xmlpatterns: 5.15.0_1
        xpdf: 4.02,1
        xwayland: 1.20.8_3,1

New packages to be INSTALLED:
        spidermonkey60: 60.9.0_3

Installed packages to be UPGRADED:
        libsndfile: 1.0.29.p.20200620 -> 1.0.29

Installed packages to be DOWNGRADED:
        protobuf: 3.13.0,1 -> 3.12.3,1

Number of packages to be removed: 100
Number of packages to be installed: 1
Number of packages to be upgraded: 1
Number of packages to be downgraded: 1

The operation will free 292 MiB.
9 MiB to be downloaded.

Proceed with this action? [y/N]:
 
You can't use pkg as you will install old version of certbot and it will need to remove all other ports which depend of the same libs. This is the reason never to mix ports with pkg. If you have even a single app installed from ports you have to build all other programs from the ports too.
So it's working as expected.
 
this many need updating.

Code:
cairo-1.16.0,2                     <
check-0.15.1_1                     <
clamav-0.102.4,1                   <
cmake-3.17.3_1                     <
desktop-file-utils-0.24            <
ffmpeg-4.3.1_1,1                   <
freetype2-2.10.2                   <
fribidi-0.19.7                     <
ghostscript9-agpl-base-9.52_8      <
glib-2.56.3_9,1                    <
go-1.15.1,1                        <
graphene-1.10.0                    <
graphviz-2.44.1_1                  <
gtk3-3.24.20                       <
harfbuzz-2.7.2                     <
jasper-2.0.16_1                    <
jbig2dec-0.18                      <
json-c-0.14                        <
json-glib-1.4.4                    <
kf5-attica-5.72.0                  <
kf5-breeze-icons-5.72.0            <
kf5-extra-cmake-modules-5.72.0     <
kf5-karchive-5.72.0                <
kf5-kauth-5.72.0                   <
kf5-kbookmarks-5.72.0              <
kf5-kcodecs-5.72.0                 <
kf5-kcompletion-5.72.0             <
kf5-kconfig-5.72.0                 <
kf5-kconfigwidgets-5.72.0          <
kf5-kcoreaddons-5.72.0             <
kf5-kcrash-5.72.0                  <
kf5-kdbusaddons-5.72.0             <
kf5-kded-5.72.0_1                  <
kf5-kdesu-5.72.0                   <
kf5-kdoctools-5.72.0               <
kf5-kemoticons-5.72.0              <
kf5-kfilemetadata-5.72.0           <
kf5-kglobalaccel-5.72.0            <
kf5-kguiaddons-5.72.0              <
kf5-ki18n-5.72.0                   <
kf5-kiconthemes-5.72.0             <
kf5-kidletime-5.72.0               <
kf5-kitemmodels-5.72.0             <
kf5-kitemviews-5.72.0              <
kf5-kjobwidgets-5.72.0             <
kf5-kjs-5.72.0                     <
kf5-kjsembed-5.72.0                <
kf5-knotifications-5.72.0          <
kf5-kpackage-5.72.0                <
kf5-kpeople-5.72.0                 <
kf5-kplotting-5.72.0               <
kf5-kpty-5.72.0                    <
kf5-kservice-5.72.0                <
kf5-ktextwidgets-5.72.0            <
kf5-kunitconversion-5.72.0         <
kf5-kwayland-5.72.0                <
kf5-kwidgetsaddons-5.72.0          <
kf5-kwindowsystem-5.72.0           <
kf5-kxmlgui-5.72.0                 <
kf5-prison-5.72.0                  <
kf5-solid-5.72.0                   <
kf5-sonnet-5.72.0                  <
kf5-threadweaver-5.72.0            <
libX11-1.6.11,1                    <
libmtdev-1.1.5_2                   <
libnotify-0.7.8                    <
libsndfile-1.0.29.p.20200620       <
libva-2.8.0                        <
libxcb-1.13.1                      <
libxkbcommon-0.10.0_2              <
lmdb-0.9.24_2,1                    <
mesa-libs-19.0.8_2                 <
meson-0.54.3                       <
mysql57-server-5.7.31              <
nano-5.0                           <
nasm-2.15.03,1                     <
nginx-1.18.0_22,2                  <
noto-basic-2.0                     <
nspr-4.28                          <
nss-3.56                           <
opendnssec2-2.1.6                  <
p5-HTTP-Message-6.25               <
p5-Log-Log4perl-1.50               <
p5-Module-CoreList-5.20200717      <
p5-Net-DNS-1.26,1                  <
p5-Net-Domain-TLD-1.74             <
p5-PostgreSQL-PLPerl-Call-1.006_1  <
p5-libwww-6.47                     <
pango-1.42.4_4                     <
perl5-5.30.3                       <
php74-bz2-7.4.9                    <
php74-calendar-7.4.9               <
php74-curl-7.4.9                   <
php74-dom-7.4.9                    <
php74-exif-7.4.9                   <
php74-fileinfo-7.4.9               <
php74-ftp-7.4.9                    <
php74-gd-7.4.9                     <
php74-gmp-7.4.9                    <
php74-iconv-7.4.9                  <
php74-imap-7.4.9                   <
php74-ldap-7.4.9                   <
php74-mysqli-7.4.9                 <
php74-odbc-7.4.9                   <
php74-opcache-7.4.9                <
php74-pdo-7.4.9                    <
php74-pdo_mysql-7.4.9              <
php74-pdo_pgsql-7.4.8              <
php74-pdo_sqlite-7.4.9             <
php74-pgsql-7.4.9                  <
php74-posix-7.4.9                  <
php74-pspell-7.4.9                 <
php74-session-7.4.9                <
php74-simplexml-7.4.9              <
php74-soap-7.4.9                   <
php74-sockets-7.4.9                <
php74-sqlite3-7.4.9                <
php74-tokenizer-7.4.9              <
php74-xml-7.4.9                    <
php74-xmlreader-7.4.9              <
php74-xmlrpc-7.4.9                 <
php74-xmlwriter-7.4.9              <
php74-xsl-7.4.8                    <
php74-zip-7.4.9                    <
php74-zlib-7.4.9                   <
plasma5-kdecoration-5.19.4         <
plasma5-kwayland-server-5.19.4     <
plasma5-libkscreen-5.19.4          <
polkit-0.116                       <
poppler-20.08.0_1                  <
poppler-qt5-20.08.0_1              <
postfix-sasl-3.5.6,1               <
postgresql12-server-12.3           <
py37-cffi-1.14.0_1                 <
py37-gdbm-3.7.8_6                  <
py37-libxml2-2.9.10                <
py37-libzfs-1.0.20191113           <
py37-psycopg2-2.8.5                <
py37-pygments-2.5.2                <
py37-sqlite3-3.7.8_7               <
py37-texttable-1.6.2               <
py37-tkinter-3.7.8_6               <
py37-tqdm-4.48.0                   <
py37-urllib3-1.25.7,1              <
qtchooser-66_3                     <
roundcube-php74-1.4.7,1            <
rsync-3.2.2_1                      <
samba411-4.11.11                   <
shared-mime-info-1.10_2            <
texlive-base-20150521_53           <
unbound-1.10.1                     <
vala-0.40.15,1                     <
w3m-0.5.3.20200507                 <
x265-3.2.1_4                       <
xcb-proto-1.13_1                   <
xwayland-1.20.8_3,1                <
zstd-1.4.5

My problem is that automatic update will stall at cmake with the error above. Also many others require cmake.
 
To check what depend of perl5.30 use
pkg shlib -qR libperl.so.5.30

Edit your /etc/make.conf
DEFAULT_VERSIONS+= PERL5=5.32

portmaster -o lang/perl5.32 lang/perl5.30
portmaster -f `pkg shlib -qR libperl.so.5.30`

This will install perl5.32 then force rebuild all ports that depend of the old libperl.so.5.30

For more info read 20161103 in /usr/ports/UPDATING
 
result of

pkg shlib -qR libperl.so.5.30
Code:
p5-Authen-PAM-0.16_2
p5-IO-Tty-1.14
p5-Net-SSLeay-1.88
p5-HTML-Parser-3.72
p5-GSSAPI-0.28_1
p5-Socket6-0.29
p5-Term-ReadKey-2.38_1
p5-XML-Parser-2.44
p5-Text-Soundex-3.05
p5-Locale-libintl-1.31
p5-Locale-gettext-1.07
p5-Crypt-SSLeay-0.72_3
p5-DBD-mysql-4.050
p5-DBI-1.643
p5-List-MoreUtils-XS-0.428
p5-Params-Util-1.07_2
p5-Variable-Magic-0.62
p5-Sub-Identify-0.14
p5-Package-Stash-XS-0.29
p5-Clone-0.45
p5-Authen-Libwrap-0.23
p5-Class-Load-XS-0.10
p5-Sub-Name-0.26,1
p5-Scalar-List-Utils-1.55,1
p5-subversion-1.14.0
p5-Class-XSAccessor-1.19_2,1
p5-Pg-2.1.1_6,1
p5-Digest-SHA1-2.13_1
ImageMagick7-7.0.10.24
p5-Moose-2.2013,1
nginx-1.18.0_22,2
p5-Cpanel-JSON-XS-4.23
p5-DBD-Pg-3.14.2

I use perl because of my use of openemr which is an EHR (electronic health record) system written in PHP. But it has some perl in it.

What is the command to make the system rebuild? I thought it was with portmaster.
 
Back
Top