Squid 2.7.9 install hangs at Perl?
-
@GX1:
Apr 26 10:15:13 saslpasswd2: unable to dlopen /usr/local/lib/sasl2/libgssapiv2.so.3: Shared object "libgssapi.so.10" not found, required by "libgssapiv2.so.3"
GX1, if you think this missing libs a breaking install, you can copy these libs from any 8.1 freebsd.
I have it on my personal repo, if you what to download from there, the link is
i386
http://e-sac.siteseguro.ws/pfsense/8/All/ldd/amd64
http://e-sac.siteseguro.ws/pfsense/8/amd64/All/ldd/save it on /usr/lib or /usr/local/lib
How long did you waited for perl extract?
-
Thanks for the reply, marcelloc. :)
I waited quite a while for perl to extract… I didn't see any way to abort or otherwise "stop" an install that was in-progress, but I left it open all the way up until right before my last post. So it ran for what, almost 5 1/2 hours? At the time when I did the uninstall, there had been no change in the installation output, and no change to the system log (which I reloaded to refresh). :-\
I downloaded libgssapi.so.10 from your website (thanks!) and placed it into /usr/lib. That was more complicated than I would have thought, as my other machines can't read the freebsd file system on the CF card, and pfsense apparently doesn't have wget installed as a baseline tool. So I had to SCP it in from my Linux box. (Is there a better way?)
After that, I retried the Squid install, and now have this in my system log:
Apr 26 22:00:31 syslogd: kernel boot file is /boot/kernel/kernel Apr 26 22:01:13 check_reload_status: Syncing firewall Apr 26 22:01:13 php: /pkg_mgr_install.php: Beginning package installation for squid. Apr 26 22:02:29 saslpasswd2: unable to dlopen /usr/local/lib/sasl2/libgssapiv2.so.3: Shared object "libheimntlm.so.10" not found, required by "libgssapiv2.so.3" Apr 26 22:02:29 saslpasswd2: unable to dlopen /usr/local/lib/sasl2/libgssapiv2.so.3: Shared object "libheimntlm.so.10" not found, required by "libgssapiv2.so.3" Apr 26 22:02:29 sshlockout[38858]: sshlockout/webConfigurator v3.0 starting up Apr 26 22:02:29 sasldblistusers2: unable to dlopen /usr/local/lib/sasl2/libgssapiv2.so.3: Shared object "libheimntlm.so.10" not found, required by "libgssapiv2.so.3" Apr 26 22:02:29 sasldblistusers2: unable to dlopen /usr/local/lib/sasl2/libgssapiv2.so.3: Shared object "libheimntlm.so.10" not found, required by "libgssapiv2.so.3" Apr 26 22:02:30 saslpasswd2: unable to dlopen /usr/local/lib/sasl2/libgssapiv2.so.3: Shared object "libheimntlm.so.10" not found, required by "libgssapiv2.so.3" Apr 26 22:02:30 saslpasswd2: unable to dlopen /usr/local/lib/sasl2/libgssapiv2.so.3: Share
It's a different file now, so I might have to go through a few rounds to get all of those shared objects copied over. In the mean time, 'bsdtar' is extracting perl again, so I suppose I will wait until that disappears again, do another uninstall, and then update the shared objects and try again….
I'm not sure if they are related to my Squid issue, but is there something wrong with my pfsense install that it doesn't already have these shared objects?
Thanks again for the help! 8)
-
Use fetch instead of wget and download all files from that link to get no lib depending issues.
-
Use fetch instead of wget and download all files from that link to get no lib depending issues.
Sounds good, thanks, I'll do that. :)
Two things I forgot to mention in my last post:
I had previously noticed the presence/absence of the 'bsdtar' command in top, but I see that 'pkg_add' is running too. 'pkg_add' is probably the one I should be watching.
Also, if anyone else has to do something similar in the future, I found that the root file system on the CF card was mounted read-only. So I had to run:
/etc/rc.conf_mount_rw ```before copying the file(s), and then run:
/etc/rc.conf_mount_ro
to set it back when I was done.
-
Ok, nope, that didn't fix it. :-\
I copied all of the shared object files from marcelloc's site, and did another installation attempt.
Here is the installation log:
Installing squid and its dependencies. Beginning package installation for squid... Downloading package configuration file... done. Saving updated package information... done. Downloading squid and its dependencies... Checking for package installation... Downloading http://files.pfsense.org/packages/8/All/squid-2.7.9_3.tbz ... (extracting) Downloading http://files.pfsense.org/packages/8/All/cyrus-sasl-2.1.26_2.tbz ... (extracting) Downloading http://files.pfsense.org/packages/8/All/openldap-client-2.4.33_1.tbz ... (extracting) Downloading http://files.pfsense.org/packages/8/All/perl-5.14.2_2.tbz ... (extracting)
… and here is the sytem log:
Apr 26 23:04:32 syslogd: kernel boot file is /boot/kernel/kernel Apr 26 23:06:07 check_reload_status: Syncing firewall Apr 26 23:06:08 php: /pkg_mgr_install.php: Beginning package installation for squid. Apr 26 23:31:29 apinger: ALARM: WAN(192.168.1.1) *** down *** Apr 26 23:31:29 apinger: alarm canceled: WAN(192.168.1.1) *** down *** Apr 26 23:31:39 check_reload_status: Reloading filter
All of the previous errors in the system log are gone this time, but the install still seems to have hung. I've been watching it, and it was working on the install/extraction for about 50 minutes, and then 'pkg_add' dropped out of the process list. :-\
Here is what the system indicates is running now:
last pid: 20348; load averages: 0.24, 0.30, 0.35 up 0+02:29:15 00:03:14 46 processes: 5 running, 41 sleeping CPU: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 0.0% idle Mem: 35M Active, 118M Inact, 51M Wired, 1012K Cache, 59M Buf, 277M Free Swap: PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 19591 root 1 45 0 46748K 21492K accept 2:16 0.00% php 261 root 1 64 20 3348K 1156K kqread 1:55 0.00% check_reload_status 2002 root 1 44 0 3652K 1996K RUN 0:23 0.00% top 48332 root 1 76 20 3596K 1412K piperd 0:21 0.00% sh 2144 root 1 44 0 7944K 3592K select 0:17 0.00% sshd 47484 root 1 64 20 3256K 1320K select 0:16 0.00% apinger 21832 root 1 45 0 46748K 18356K accept 0:11 0.00% php 29956 nobody 1 44 0 5504K 2644K select 0:08 0.00% dnsmasq 18977 root 1 44 0 6780K 3496K RUN 0:07 0.00% lighttpd 15285 root 1 64 20 6020K 6044K select 0:05 0.00% ntpd 29390 dhcpd 1 44 0 8376K 5180K select 0:04 0.00% dhcpd 25460 root 1 44 0 4636K 2580K pause 0:01 0.00% tcsh 19017 root 1 76 0 44700K 12316K wait 0:01 0.00% php 19436 root 1 70 0 44700K 12316K wait 0:01 0.00% php 10816 root 1 44 0 5860K 2140K bpf 0:01 0.00% tcpdump 59218 root 1 44 0 4908K 2572K select 0:00 0.00% syslogd 53353 root 1 71 0 3628K 1548K wait 0:00 0.00% login 54600 root 1 76 0 3628K 1552K wait 0:00 0.00% login 40203 root 1 44 0 3348K 1360K nanslp 0:00 0.00% cron 162 root 1 64 20 4536K 1868K piperd 0:00 0.00% rrdtool 10949 root 1 44 0 3256K 876K piperd 0:00 0.00% logger 53657 root 2 44 0 3472K 1164K nanslp 0:00 0.00% sshlockout_pf 38858 root 2 44 0 3472K 1132K nanslp 0:00 0.00% sshlockout_pf 7315 root 1 49 0 3596K 1392K wait 0:00 0.00% sh 11682 root 1 44 0 3376K 1292K select 0:00 0.00% inetd 42730 root 1 58 0 3256K 1032K nanslp 0:00 0.00% minicron 53764 root 1 76 0 3596K 1392K wait 0:00 0.00% sh 55495 root 1 76 0 3596K 1392K wait 0:00 0.00% sh 274 root 1 44 0 1888K 532K select 0:00 0.00% devd 8032 root 1 44 0 3596K 1396K wait 0:00 0.00% sh 54931 root 1 69 0 3596K 1392K ttyin 0:00 0.00% sh 59304 root 1 76 0 3596K 1392K ttyin 0:00 0.00% sh 22377 root 1 67 20 3256K 1312K select 0:00 0.00% dhclient 6461 root 1 44 0 5224K 2968K select 0:00 0.00% sshd 43184 root 1 76 0 3256K 988K wait 0:00 0.00% minicron 19972 root 1 116 20 3596K 1412K RUN 0:00 0.00% sh 20348 root 1 116 20 528K 392K RUN 0:00 0.00% awk 43134 root 1 44 0 3256K 1032K nanslp 0:00 0.00% minicron 20316 root 1 116 20 412K 288K RUN 0:00 0.00% cat 42780 root 1 76 0 3256K 988K wait 0:00 0.00% minicron 42189 root 1 76 0 3256K 988K wait 0:00 0.00% minicron 6648 _dhcp 1 64 20 3256K 1412K select 0:00 0.00% dhclient 263 root 1 76 20 3348K 1096K kqread 0:00 0.00% check_reload_status 43227 root 1 76 0 3256K 1032K nanslp 0:00 0.00% minicron
Any other thoughts on what to look for? Are there any other log files, or other ways to find more detail on the package installation as it progresses?
Thanks.
-
@GX1:
I'm not sure if they are related to my Squid issue, but is there something wrong with my pfsense install that it doesn't already have these shared objects?
In reply to myself, I wonder if it is this issue?
http://redmine.pfsense.org/issues/875
pfSense Bug #875: "Uninstalling packages can remove system libraries"Description
If you install a package (like squid) which replaces a base system library (like LDAP), it will install its own copy on install and then remove it on uninstall, leaving the system without said library.
Depending on the package it can be a major issue, especially if a package installs and subsequently removes XML libraries.
We may need to register the base system packages and/or somehow prevent a package from removing them. (Perhaps add dummy "pfSense" package entry that would list all of the packages we need as a dependency?)
-
I tried installing Squid3, and it had the same behavior… all was going fine until about an hour in, and then 'pkg_add' disappeared, with no updates to the log.
Install log:
Installing squid3 and its dependencies. Beginning package installation for squid3... Downloading package configuration file... done. Saving updated package information... done. Downloading squid3 and its dependencies... Checking for package installation... Downloading http://files.pfsense.org/packages/8/All/squid-3.1.20.tbz ... (extracting) Downloading http://files.pfsense.org/packages/8/All/cyrus-sasl-2.1.23_3.tbz ... (extracting) Downloading http://files.pfsense.org/packages/8/All/openldap-client-2.4.31_1.tbz ... (extracting) Downloading http://files.pfsense.org/packages/8/All/perl-threaded-5.12.4_4.tbz ... (extracting)
-
I don't have a nanobsd install to test it. On full install it's working fine, both packages.
try to install this perl version from oficial repo before trying a package reinstall.
Check if you are not going out of disk space on /var.
-
try to install this perl version from oficila repo before trying a package reinstall.
How do I do that?
I'll check the disk usage on /var…
-
So I tried again, using pfSense 2.0.2 this time, and got the same result with Squid 2.7.9.
The usage on /var never changed… It stayed at 14MB used / 40MB available the entire time of the install attempt.
-
Ok, so it turns out that /var was out of space!
I tried running:
/etc/rc.conf_mount_rw pkg_add http://files.pfsense.org/packages/8/All/perl-5.14.2_2.tbz
… and it gives me:
Fetching http://files.pfsense.org/packages/8/All/perl-5.14.2_2.tbz... /var: write failed, filesystem is full lib/perl5/5.14.2/unicore/lib/NChar/N.pl: Write failed lib/perl5/5.14.2/unicore/lib/NChar/Y.pl: Seek failed lib/perl5/5.14.2/unicore/lib/NFCQC/Y.pl: Seek failed lib/perl5/5.14.2/unicore/lib/NFDQC/N.pl: Seek failed lib/perl5/5.14.2/unicore/lib/NFDQC/Y.pl: Seek failed lib/perl5/5.14.2/unicore/lib/NFKCQC/M.pl: Seek failed lib/perl5/5.14.2/unicore/lib/NFKCQC/N.pl: Seek failed lib/perl5/5.14.2/unicore/lib/NFKCQC/Y.pl: Seek failed ... lib/perl5/5.14.2/warnings.pm: Seek failed lib/perl5/5.14.2/warnings/register.pm: Seek failed tar: (Empty error message) tar: Error exit delayed from previous errors. Done. pkg_add: package 'perl-5.14.2_2' or its older version already installed
var doesn't "seem" to be full, but pkg_add must be needing to write something larger than the available capacity… ???
df -h Filesystem Size Used Avail Capacity Mounted on /dev/ufs/pfsense0 443M 232M 175M 57% / devfs 1.0K 1.0K 0B 100% /dev /dev/md0 38M 274K 35M 1% /tmp /dev/md1 58M 14M 40M 26% /var /dev/ufs/cf 49M 166K 45M 0% /cf devfs 1.0K 1.0K 0B 100% /var/dhcpd/dev
I then found this other thread, where someone was having the same problem (var being full) when installing Python:
http://forum.pfsense.org/index.php/topic,44953.msg234429.htmlSo I tried their solution:
[2.0.3-RELEASE][root@bonfire.localdomain]/var/log(17): setenv PKG_TMPDIR /root/ [2.0.3-RELEASE][root@bonfire.localdomain]/var/log(18): pkg_add http://files.pfsense.org/packages/8/All/perl-5.14.2_2.tbz Fetching http://files.pfsense.org/packages/8/All/perl-5.14.2_2.tbz... Done. pkg_add: package 'perl-5.14.2_2' or its older version already installed
Perl is already installed, eh? ???
Let's try Squid…[2.0.3-RELEASE][root@bonfire.localdomain]/var/log(25): pkg_add http://files.pfsense.org/packages/8/All/squid-2.7.9_3.tbz Fetching http://files.pfsense.org/packages/8/All/squid-2.7.9_3.tbz... Done. pkg_add: package 'squid-2.7.9_3' or its older version already installed
Hmm! Both already installed!
So then I went back to the web interface, and selected "reinstall GUI components" (or something to that effect) for Squid…
Removing squid components... Tabs items... done. Menu items... done. Services... done. Loading package instructions... Include file squid.inc could not be found for inclusion. Deinstall commands... Not executing custom deinstall hook because an include is missing. Removing package instructions...done. Auxiliary files... done. Package XML... done. Configuration... done. Beginning package installation for squid... Downloading package configuration file... done. Saving updated package information... done. Downloading squid and its dependencies... Checking for package installation... Downloading http://files.pfsense.org/packages/8/All/libwww-5.4.0_4.tbz ... (extracting) Loading package configuration... done. Configuring package components... Additional files... done. Loading package instructions... Custom commands... Executing custom_php_install_command()...done. Executing custom_php_resync_config_command()...done. Custom commands... Executing custom_php_install_command()...done. Executing custom_php_resync_config_command()...done. Menu items... done. Integrated Tab items... done. Services... done. Writing configuration... done. Package reinstalled.
… and the next time I refreshed the web interface, it now shows "Proxy Server" under services!!! Hooray! :D
The system log seems to confirm this too:
Apr 27 22:45:24 php: /pkg_mgr_install.php: Beginning package installation for squid. Apr 27 22:47:43 check_reload_status: Syncing firewall Apr 27 22:47:43 php: /pkg_mgr_install.php: Stopping any running proxy monitors Apr 27 22:47:45 php: /pkg_mgr_install.php: Starting Squid Apr 27 22:47:45 php: /pkg_mgr_install.php: Starting a proxy monitor script Apr 27 22:47:45 squid[54449]: Bungled (null) line 182: http_reply_access allow all Apr 27 22:47:45 check_reload_status: Reloading filter Apr 27 22:47:47 php: /pkg_mgr_install.php: Starting Squid Apr 27 22:47:47 squid[57532]: Squid Parent: child process 57856 started Apr 27 22:47:48 php: /pkg_mgr_install.php: Reloading Squid for configuration sync
I'm still not sure where this leaves things in terms of the problem. I even tried 2.0.3 in a VirtualBox VM and got the same problem - I just couldn't install Squid on the nanobsd version of pfSense. It seems to be related to the size of /var… is this something that is "fixable", or should the potential problem (or the resulting failure) be detectable by the package installer? Should I file a bug report for it?
Thanks again to everyone for the help! 8)