SOLVED: 2.2.1 Upgrade breaks sudo
-
(The common factor seems to be the PBI hardlinking clusterfuck, frankly…)
:-)
apart from the PBI :-), the common factor is also NanoBSD, i think. jimp can you tell me if I should have libintl.so.9 lib in my default image? I didn't think so.
-
I'm offended by the term "PBI"
-
The same binaries work on 2.2 but not 2.2.1 so there must be something that changed there.
So far I can only reproduce it on NanoBSD/i386 but I don't have an amd64 NanoBSD install handy to test.
On my full install I have a libintl.so.9 in /usr/local/lib/ dated Janurary (~2.2-RELEASE time) and it's not on i386.
On your NanoBSD install, check the old slice:
: mount -t ufs /dev/ufs/pfsense1 /mnt : ls -l /mnt/usr/local/lib/libintl*
or use pfsense0 if that was your previous slice.
The card I'm using started on 2.2.1 snapshots so I can't test that particular case quickly.
-
On my full install I have a libintl.so.9 in /usr/local/lib/ dated Janurary (~2.2-RELEASE time) and it's not on i386.
i386 full install:
$ ls -l /usr/local/lib/libintl.* -rw-r--r-- 1 root wheel 57216 Aug 26 2013 /usr/local/lib/libintl.a -rw-r--r-- 1 root wheel 972 Aug 26 2013 /usr/local/lib/libintl.la lrwxr-xr-x 1 root wheel 12 Sep 6 2013 /usr/local/lib/libintl.so -> libintl.so.9 -rw-r--r-- 1 root wheel 45501 Mar 13 14:49 /usr/local/lib/libintl.so.8 -rw-r--r-- 1 root wheel 45351 Feb 28 13:18 /usr/local/lib/libintl.so.9
libintl.so.9 would be the 2.2.1 snapshots, libintl.so.8 is the 2.2.1 release. The static junk, no idea.
i386 nano:
$ ls -l /usr/local/lib/libintl.* -rw-r--r-- 1 root wheel 45501 Mar 13 14:49 /usr/local/lib/libintl.so.8
and nothing else. Dunno guys what are you doing with gettext there.
-
Found it
2.2-RELEASE SLICE
/mnt/usr/local/lib: ls -l libintl* -rw-r--r-- 1 root wheel 97760 Jan 28 00:32 libintl.a lrwxr-xr-x 1 root wheel 16 Jan 28 00:32 libintl.so -> libintl.so.8.1.3 lrwxr-xr-x 1 root wheel 16 Jan 28 00:32 libintl.so.8 -> libintl.so.8.1.3 -rw-r--r-- 1 root wheel 50998 Jan 28 00:32 libintl.so.8.1.3 lrwxr-xr-x 1 root wheel 12 Jan 28 00:32 libintl.so.9 -> libintl.so.8
2.2.1-RELEASE SLICE
/usr/local/lib: ls -l libintl* -rw-r--r-- 1 root wheel 55319 Mar 13 09:38 libintl.so.8 lrwxr-xr-x 1 root wheel 36 Mar 18 09:47 libintl.so.9 -> /usr/pbi/sudo-amd64/lib/libintl.so.9
that last one is a symlink that I just created to get it to work.
-
just checked the upgrade log, looks like it was never in the file list for 2.2.1-RELEASE
... /tmp/pfSense1/usr/local/lib/libidn.so.11 /tmp/pfSense1/usr/local/lib/libintl.so.8 /tmp/pfSense1/usr/local/lib/libpdel.so.0 /tmp/pfSense1/usr/local/lib/libexpat.so.1 ...
ln -s libintl.so.8 libintl.so.9 ```f fixes things as well.
-
@jimp: When did you rebuild the gettext thing for the last time on nano?
https://forums.freebsd.org/threads/shared-object-libintl-so-9-not-found.49320/
-
Not sure, wasn't me so I couldn't say for certain.
-
After looking things over, it really shouldn't have been working on 2.2-REL and was only doing so by accident apparently.
The sudo PBI wrapper should be gathering its own libraries, but for some reason it is not.
If you nudge it with ldconfig it should work (until reboot):
ldconfig -m /usr/pbi/sudo-`uname -m`/local/lib/
I can add that command to the package sync for sudo as an interim fix, other affected packages would need a similar fix. We're looking into a better long-term solution.
-
yup that is the command I was looking for an suspected the ld cache was not upto date! Thanks that works.
will this survive a reboot in nanobsd? or does this need to happen on every reboot? no sure where the ld cache is stored.never mind re-read your post. -
Answered that in my previous post already. It will not stay across reboots, not until it gets added to the package.
-
I can add it by hand for now, which file does it go in? sudo.inc?
-
Are you planning to reboot many times in next couple of hours?
-
A new version of the package that contains the fix will be up in 15-45 mins or so, be patient and then update when it's available.
-
just tried out 0.2.5. sudo now works fine.
I did notice this in the serial console after the uninstall/reinstall
Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20121212/zmq.so' - Shared object "libpgm-5.2.so.0" not found, required by "libzmq.so.4" in Unknown on line 0
after which everytime php-fpm restarted it showed up in the logs.
i then did a
ldconfig -m /usr/local/lib
which seems to address it, again not sure if is a symptom of something else. but I suspect it is.
-
That's something different, worthy of its own thread if there isn't one already.
-
Okay let me try to reproduce it consistently and will start a thread. thanks for your help w/ this.
-
sudo 0.2.5 working for me on 2.2.1 64 and 32 bit nanoBSD.
Thanks JimP for a very useful little package. -
Good to hear it's working, now hopefully we can track down the original issue and fix that up. If other packages suffer the same fate, they deserve their own threads, hopefully their maintainers or others can work in a similar fix.