pfBlockerNG-devel install - PHP Startup Errors - failed to load readline.so
-
In prep for the pfsense 2.4.5 update, I took everyone's advise and uninstalled pfBlockerNG & installed pfBlockerNG-devel.
During the pfBlockerNG-devel package install while still (currently) on 2.4.4-RELEASE-p3, there are now some issues with readline.so... and the error seems important enough that it appears there is a crash log and an alert in the dashboard header:
"pfSense has detected a crash report or programming bug. Click here for more information."
Crash log:
Crash report begins. Anonymous machine information: amd64 11.2-RELEASE-p10 FreeBSD 11.2-RELEASE-p10 #9 4a2bfdce133(RELENG_2_4_4): Wed May 15 18:54:42 EDT 2019 root@buildbot1-nyi.netgate.com:/build/ce-crossbuild-244/obj/amd64/ZfGpH5cd/build/ce-crossbuild-244/pfSense/tmp/FreeBSD-src/sys/pfSense Crash report details: PHP Errors: [28-Mar-2020 15:30:31 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'readline.so' (tried: /usr/local/lib/php/20170718/readline.so (Shared object "libreadline.so.7" not found, required by "readline.so"), /usr/local/lib/php/20170718/readline.so.so (Cannot open "/usr/local/lib/php/20170718/readline.so.so")) in Unknown on line 0 No FreeBSD crash data found.
during pfblockerng-devel install:
Warning: PHP Startup: Unable to load dynamic library 'readline.so' (tried: /usr/local/lib/php/20170718/readline.so (Shared object "libreadline.so.7" not found, required by "readline.so"), /usr/local/lib/php/20170718/readline.so.so (Cannot open "/usr/local/lib/php/20170718/readline.so.so")) in Unknown on line 0
Here's the full install log:
>>> Installing pfSense-pkg-pfBlockerNG-devel... Updating pfSense-core repository catalogue... pfSense-core repository is up to date. Updating pfSense repository catalogue... pfSense repository is up to date. All repositories are up to date. The following 19 package(s) will be affected (of 0 checked): New packages to be INSTALLED: pfSense-pkg-pfBlockerNG-devel: 2.2.5_29 [pfSense] python37: 3.7.6 [pfSense] py37-setuptools: 41.4.0_1 [pfSense] php72-intl: 7.2.29 [pfSense] icu: 65.1,1 [pfSense] jq: 1.6 [pfSense] whois: 5.2.17 [pfSense] py37-maxminddb: 1.4.1_1 [pfSense] iprange: 1.0.4 [pfSense] grepcidr: 2.0 [pfSense] py37-sqlite3: 3.7.6_7 [pfSense] Installed packages to be UPGRADED: python27: 2.7.16 -> 2.7.17_1 [pfSense] readline: 7.0.3_1 -> 8.0.1 [pfSense] gdbm: 1.13_1 -> 1.18.1_1 [pfSense] krb5: 1.16.1_5 -> 1.17.1 [pfSense] sqlite3: 3.28.0 -> 3.30.1 [pfSense] php72-readline: 7.2.10 -> 7.2.29 [pfSense] wpa_supplicant: 2.8 -> 2.9 [pfSense] ipmitool: 1.8.18_1 -> 1.8.18_2 [pfSense] Number of packages to be installed: 11 Number of packages to be upgraded: 8 The process will require 169 MiB more space. 43 MiB to be downloaded. [1/19] Fetching pfSense-pkg-pfBlockerNG-devel-2.2.5_29.txz: .......... done [2/19] Fetching python27-2.7.17_1.txz: .......... done [3/19] Fetching readline-8.0.1.txz: .......... done [4/19] Fetching gdbm-1.18.1_1.txz: .......... done [5/19] Fetching krb5-1.17.1.txz: .......... done [6/19] Fetching python37-3.7.6.txz: .......... done [7/19] Fetching sqlite3-3.30.1.txz: .......... done [8/19] Fetching php72-readline-7.2.29.txz: .. done [9/19] Fetching wpa_supplicant-2.9.txz: .......... done [10/19] Fetching ipmitool-1.8.18_2.txz: .......... done [11/19] Fetching py37-setuptools-41.4.0_1.txz: .......... done [12/19] Fetching php72-intl-7.2.29.txz: .......... done [13/19] Fetching icu-65.1,1.txz: .......... done [14/19] Fetching jq-1.6.txz: .......... done [15/19] Fetching whois-5.2.17.txz: ........ done [16/19] Fetching py37-maxminddb-1.4.1_1.txz: .... done [17/19] Fetching iprange-1.0.4.txz: ... done [18/19] Fetching grepcidr-2.0.txz: ... done [19/19] Fetching py37-sqlite3-3.7.6_7.txz: .... done Checking integrity... done (1 conflicting) - py37-setuptools-41.4.0_1 [pfSense] conflicts with py27-setuptools-39.2.0 [installed] on /usr/local/bin/easy_install Checking integrity... done (1 conflicting) - mysql57-client-5.7.29 [pfSense] conflicts with mysql56-client-5.6.41 [installed] on /usr/local/bin/mysql Checking integrity... done (0 conflicting) Conflicts with the existing packages have been found. One more solver iteration is needed to resolve them. The following 32 package(s) will be affected (of 0 checked): Installed packages to be REMOVED: py27-ply-3.11 py27-setuptools-39.2.0 mysql56-client-5.6.41 New packages to be INSTALLED: python37: 3.7.6 [pfSense] protobuf: 3.9.2,1 [pfSense] py37-setuptools: 41.4.0_1 [pfSense] icu: 65.1,1 [pfSense] mysql57-client: 5.7.29 [pfSense] py37-ply: 3.11 [pfSense] php72-intl: 7.2.29 [pfSense] jq: 1.6 [pfSense] whois: 5.2.17 [pfSense] py37-maxminddb: 1.4.1_1 [pfSense] iprange: 1.0.4 [pfSense] grepcidr: 2.0 [pfSense] py37-sqlite3: 3.7.6_7 [pfSense] pfSense-pkg-pfBlockerNG-devel: 2.2.5_29 [pfSense] Installed packages to be UPGRADED: readline: 7.0.3_1 -> 8.0.1 [pfSense] python27: 2.7.16 -> 2.7.17_1 [pfSense] json-c: 0.13 -> 0.13.1_1 [pfSense] sqlite3: 3.28.0 -> 3.30.1 [pfSense] ndpi: 2.4.d20180830,1 -> 3.0.d20191021,1 [pfSense] clamav: 0.101.2,1 -> 0.102.2,1 [pfSense] ntopng: 3.6.d201800910,1 -> 3.8.d20191111,1 [pfSense] bind-tools: 9.12.2P1 -> 9.14.9 [pfSense] gdbm: 1.13_1 -> 1.18.1_1 [pfSense] krb5: 1.16.1_5 -> 1.17.1 [pfSense] barnyard2: 1.13_1 -> 1.13_5 [pfSense] php72-readline: 7.2.10 -> 7.2.29 [pfSense] wpa_supplicant: 2.8 -> 2.9 [pfSense] ipmitool: 1.8.18_1 -> 1.8.18_2 [pfSense] Installed packages to be REINSTALLED: pkg-1.12.0_1 [pfSense] Number of packages to be removed: 3 Number of packages to be installed: 14 Number of packages to be upgraded: 14 Number of packages to be reinstalled: 1 The process will require 195 MiB more space. 9 MiB to be downloaded. [1/7] Fetching json-c-0.13.1_1.txz: ........ done [2/7] Fetching ndpi-3.0.d20191021,1.txz: .......... done [3/7] Fetching py37-ply-3.11.txz: .......... done [4/7] Fetching clamav-0.102.2,1.txz: .......... done [5/7] Fetching ntopng-3.8.d20191111,1.txz: .......... done [6/7] Fetching bind-tools-9.14.9.txz: .......... done [7/7] Fetching barnyard2-1.13_5.txz: .......... done [1/32] Upgrading readline from 7.0.3_1 to 8.0.1... [1/32] Extracting readline-8.0.1: .......... done readline-7.0.3_1: missing file /usr/local/info/history.info readline-7.0.3_1: missing file /usr/local/info/readline.info readline-7.0.3_1: missing file /usr/local/info/rluserman.info [2/32] Upgrading json-c from 0.13 to 0.13.1_1... [2/32] Extracting json-c-0.13.1_1: .......... done [3/32] Upgrading sqlite3 from 3.28.0 to 3.30.1... [3/32] Extracting sqlite3-3.30.1: .......... done [4/32] Upgrading ndpi from 2.4.d20180830,1 to 3.0.d20191021,1... [4/32] Extracting ndpi-3.0.d20191021,1: .......... done [5/32] Deinstalling mysql56-client-5.6.41... [5/32] Deleting files for mysql56-client-5.6.41: ........ mysql56-client-5.6.41: missing file /usr/local/man/man1/comp_err.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/msql2mysql.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysql.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysql_config.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysql_config_editor.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysql_find_rows.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysql_waitpid.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqlaccess.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqladmin.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqlbinlog.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqlcheck.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqldump.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqlimport.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqlshow.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/man/man1/mysqlslap.1.gz [5/32] Deleting files for mysql56-client-5.6.41... mysql56-client-5.6.41: missing file /usr/local/share/aclocal/mysql.m4 [5/32] Deleting files for mysql56-client-5.6.41..... done [6/32] Deinstalling py27-setuptools-39.2.0... [6/32] Deleting files for py27-setuptools-39.2.0: .......... done [7/32] Installing python37-3.7.6... [7/32] Extracting python37-3.7.6: .......... done [8/32] Deinstalling py27-ply-3.11... [8/32] Deleting files for py27-ply-3.11: .......... done [9/32] Installing protobuf-3.9.2,1... [9/32] Extracting protobuf-3.9.2,1: .......... done [10/32] Installing py37-setuptools-41.4.0_1... [10/32] Extracting py37-setuptools-41.4.0_1: .......... done [11/32] Installing icu-65.1,1... [11/32] Extracting icu-65.1,1: .......... done [12/32] Installing mysql57-client-5.7.29... [12/32] Extracting mysql57-client-5.7.29: .......... done [13/32] Installing py37-ply-3.11... [13/32] Extracting py37-ply-3.11: .......... done [14/32] Installing php72-intl-7.2.29... [14/32] Extracting php72-intl-7.2.29: .......... done [15/32] Installing jq-1.6... [15/32] Extracting jq-1.6: .......... done [16/32] Installing whois-5.2.17... [16/32] Extracting whois-5.2.17: .......... done [17/32] Installing py37-maxminddb-1.4.1_1... [17/32] Extracting py37-maxminddb-1.4.1_1: .......... done [18/32] Installing iprange-1.0.4... [18/32] Extracting iprange-1.0.4: ..... done [19/32] Installing grepcidr-2.0... [19/32] Extracting grepcidr-2.0: ..... done [20/32] Installing py37-sqlite3-3.7.6_7... [20/32] Extracting py37-sqlite3-3.7.6_7: ........ done [21/32] Upgrading python27 from 2.7.16 to 2.7.17_1... [21/32] Extracting python27-2.7.17_1: .......... done [22/32] Reinstalling pkg-1.12.0_1... [22/32] Extracting pkg-1.12.0_1: .......... done You may need to manually remove /usr/local/etc/pkg.conf if it is no longer needed. [23/32] Installing pfSense-pkg-pfBlockerNG-devel-2.2.5_29... [23/32] Extracting pfSense-pkg-pfBlockerNG-devel-2.2.5_29: .......... done Warning: PHP Startup: Unable to load dynamic library 'readline.so' (tried: /usr/local/lib/php/20170718/readline.so (Shared object "libreadline.so.7" not found, required by "readline.so"), /usr/local/lib/php/20170718/readline.so.so (Cannot open "/usr/local/lib/php/20170718/readline.so.so")) in Unknown on line 0 Saving updated package information... done. Loading package configuration... done. Configuring package components... Loading package instructions... Custom commands... Executing custom_php_install_command()... MaxMind GeoIP databases are not pre-installed during installation. To utilize the MaxMind GeoIP functionalities, you will be required to register for a free MaxMind user account and access key. Review the IP tab: MaxMind Settings for more details. Adding pfBlockerNG Widget to the Dashboard... done. Creating Firewall filter service... done. Renew Firewall filter executables... done. Starting Firewall filter Service... done. Creating DNSBL service... done. Renew DNSBL lighttpd executable... done. Creating DNSBL web server config ... done. Starting DNSBL Service... done. Upgrading previous settings: Adv. Inbound firewall rule settings... no changes required ... done. OpenVPN/IPSec interface selections... no changes required ... done. Proofpoint/ET IQRisk settings... no changes required ... done. General Tab -> IP Tab settings... saving new changes ... done. pfBlockerNGSuppress Alias -> IPv4 Suppression Customlist... no changes required ... done. Upgrading previous EasyLists to new format... saving new changes ... done. Upgrading... done Custom commands completed ... done. Executing custom_php_resync_config_command()...done. Menu items... done. Services... done. Writing configuration... done. [24/32] Upgrading clamav from 0.101.2,1 to 0.102.2,1... ===> Creating groups. Using existing group 'clamav'. Using existing group 'mail'. ===> Creating users Using existing user 'clamav'. [24/32] Extracting clamav-0.102.2,1: .......... done You may need to manually remove /usr/local/etc/clamd.conf if it is no longer needed. You may need to manually remove /usr/local/etc/freshclam.conf if it is no longer needed. [25/32] Upgrading ntopng from 3.6.d201800910,1 to 3.8.d20191111,1... ===> Creating groups. Using existing group 'ntopng'. ===> Creating users Using existing user 'ntopng'. [25/32] Extracting ntopng-3.8.d20191111,1: .......... done [26/32] Upgrading bind-tools from 9.12.2P1 to 9.14.9... [26/32] Extracting bind-tools-9.14.9: .......... done bind-tools-9.12.2P1: missing file /usr/local/man/man8/genrandom.8.gz [27/32] Upgrading gdbm from 1.13_1 to 1.18.1_1... [27/32] Extracting gdbm-1.18.1_1: .......... done gdbm-1.13_1: missing file /usr/local/info/gdbm.info [28/32] Upgrading krb5 from 1.16.1_5 to 1.17.1... [28/32] Extracting krb5-1.17.1: .......... done [29/32] Upgrading barnyard2 from 1.13_1 to 1.13_5... [29/32] Extracting barnyard2-1.13_5: ...... done [30/32] Upgrading php72-readline from 7.2.10 to 7.2.29... [30/32] Extracting php72-readline-7.2.29: ........ done [31/32] Upgrading wpa_supplicant from 2.8 to 2.9... [31/32] Extracting wpa_supplicant-2.9: ....... done [32/32] Upgrading ipmitool from 1.8.18_1 to 1.8.18_2... [32/32] Extracting ipmitool-1.8.18_2: ......... done ===== Message from python37-3.7.6: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py37-gdbm databases/py-gdbm@py37 py37-sqlite3 databases/py-sqlite3@py37 py37-tkinter x11-toolkits/py-tkinter@py37 ===== Message from mysql57-client-5.7.29: -- This is the mysql CLIENT without the server. for complete server and client, please install databases/mysql57-server ===== Message from php72-intl-7.2.29: -- This file has been added to automatically load the installed extension: /usr/local/etc/php/ext-20-intl.ini ===== Message from grepcidr-2.0: -- ===> NOTICE: The grepcidr port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port ===== Message from python27-2.7.17_1: -- ===> NOTICE: This port is deprecated; you may wish to reconsider installing it: EOLed upstream. It is scheduled to be removed on or after 2020-12-31. >>> Cleaning up cache... done. Success
-
try to reinstall readline
pkg install -f php72-readline-7.2.29 pkg install -f readline-8.0.1
check if you have it under /usr/local/lib/php/20170718
check under /usr/local/lib if link are correct, there isn't any libreadline.so.7
-rw-r--r-- 1 root wheel 674058 Jan 2 15:05 libreadline.a lrwxr-xr-x 1 root wheel 16 Jan 2 15:05 libreadline.so -> libreadline.so.8 lrwxr-xr-x 1 root wheel 18 Jan 2 15:05 libreadline.so.8 -> libreadline.so.8.0
-
@kiokoman Thank you.
Ok, I have followed your instructions.
Beyond not getting any errors/warnings during these commands, is there something else I can/need to do to validate that PHP is happy again?[2.4.4-RELEASE][admin@pfSense]/root: pkg install -f php72-readline-7.2.29 Updating pfSense-core repository catalogue... pfSense-core repository is up to date. Updating pfSense repository catalogue... Fetching meta.txz: 100% 944 B 0.9kB/s 00:01 Fetching packagesite.txz: 100% 141 KiB 144.4kB/s 00:01 Processing entries: 0% Newer FreeBSD version for package xe-guest-utilities: To ignore this error set IGNORE_OSVERSION=yes - package: 1103504 - running kernel: 1102000 Ignore the mismatch and continue? [Y/n]: y Processing entries: 100% pfSense repository update completed. 522 packages processed. All repositories are up to date. Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): Installed packages to be REINSTALLED: php72-readline-7.2.29 [pfSense] Number of packages to be reinstalled: 1 Proceed with this action? [y/N]: y [1/1] Reinstalling php72-readline-7.2.29... [1/1] Extracting php72-readline-7.2.29: 100% [2.4.4-RELEASE][admin@pfSense]/root: pkg install -f readline-8.0.1 Updating pfSense-core repository catalogue... pfSense-core repository is up to date. Updating pfSense repository catalogue... pfSense repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): Installed packages to be REINSTALLED: readline-8.0.1 [pfSense] Number of packages to be reinstalled: 1 Proceed with this action? [y/N]: y [1/1] Reinstalling readline-8.0.1... [1/1] Extracting readline-8.0.1: 100% [2.4.4-RELEASE][admin@pfSense.fabriziorizzo.com]/root: ls -al /usr/local/lib/php/20170718/readline* -rw-r--r-- 1 root wheel 30080 Mar 23 08:21 /usr/local/lib/php/20170718/readline.so [2.4.4-RELEASE][admin@pfSense.fabriziorizzo.com]/root: ls -al /usr/local/lib/libreadline* -rw-r--r-- 1 root wheel 674058 Jan 13 12:27 /usr/local/lib/libreadline.a lrwxr-xr-x 1 root wheel 16 Jan 13 12:27 /usr/local/lib/libreadline.so -> libreadline.so.8 lrwxr-xr-x 1 root wheel 18 Jan 13 12:27 /usr/local/lib/libreadline.so.8 -> libreadline.so.8.0 -rw-r--r-- 1 root wheel 345512 Jan 13 12:27 /usr/local/lib/libreadline.so.8.0
-
2.4.5 is new to me too, check if everything work as it should
report back if you have any other crash report -
@kiokoman not on 2.4.5 yet. this was just uninstalling pfblockerng and installing pfblockerng-devel from the webGUI on 2.4.4r3.
Given the errors and now manual pkg adds, want to make sure I didn’t break anything before doing the 2.4.5 upgrade.
-
ah,right,
i think the best way to upgrade is remove any additional package and when you upgrade to 2.4.5 they will be reinstalled automatically
https://www.netgate.com/blog/pfsense-2-4-5-release-now-available.html
there is a note that say:
Do not update packages before upgrading pfSense! Either remove all packages or do not update packages before running the upgrade. -
@kiokoman BTW, with just the devel pkg change, memory consumption has jumped from 19% to 34%
-
it does't surprise me, pfblockerng is outdated , pfblockerng-devel have more features
-
I found the solution:
- downlaad freebsd 11.2 lib package with missing files
- winscp to pfsense and copy the missing files each time it ask.. mine needed only 2 files
- restart pfsense and start doing your upgrades :D