[arch-general] upgrading postfix - newaliases: error while loading libdb-5.1.so -- ignore?
Guys, This may just be on i686, but I'm trying to figure out what happened. During update this morning, postfix refused to start. The upgrade error was: (41/46) upgrading postfix [#######################################] 100% newaliases: error while loading shared libraries: libdb-5.1.so: cannot open shared object file: No such file or directory Attempting to start postfix without the &>/dev/null gave the same error (duh..) [09:27 providence:/var/cache/pacman/pkg] # /usr/sbin/postfix start /usr/sbin/postfix: error while loading shared libraries: libdb-5.1.so: cannot open shared object file: No such file or directory Looking for the file, I find it here: [09:27 providence:/var/cache/pacman/pkg] # locate libdb-5.1.so <snip archroot dirs> /usr/lib/libdb-5.1.so Looking for ownership -- it looks like the file is just gone: [09:28 providence:/var/cache/pacman/pkg] # pacman -Qo /usr/lib/libdb-5.1.so error: failed to read file '/usr/lib/libdb-5.1.so': No such file or directory [09:28 providence:/var/cache/pacman/pkg] # l /usr/lib/libdb* -rw-r--r-- 1 root root 2277786 Jun 14 19:30 /usr/lib/libdb-5.2.a -rwxr-xr-x 1 root root 1789876 Jun 14 19:30 /usr/lib/libdb-5.2.so lrwxrwxrwx 1 root root 12 Jun 14 19:30 /usr/lib/libdb-5.so -> libdb-5.2.so -rw-r--r-- 1 root root 2277786 Jun 14 19:30 /usr/lib/libdb.a <snip> OK, it looks like a missing link from db 5.2.28-1. On x86_64, I have the same thing, but postfix restarts just fine. What do we need to do to get postfix to look for libdb-5.2.so instead of libdb-5.1.so on x86? -- David C. Rankin, J.D.,P.E.
On 07/06/2011 05:36 PM, David C. Rankin wrote:
Guys,
This may just be on i686, but I'm trying to figure out what happened. During update this morning, postfix refused to start. The upgrade error was:
(41/46) upgrading postfix [#######################################] 100% newaliases: error while loading shared libraries: libdb-5.1.so: cannot open shared object file: No such file or directory
Attempting to start postfix without the &>/dev/null gave the same error (duh..)
[09:27 providence:/var/cache/pacman/pkg] # /usr/sbin/postfix start /usr/sbin/postfix: error while loading shared libraries: libdb-5.1.so: cannot open shared object file: No such file or directory
Looking for the file, I find it here:
[09:27 providence:/var/cache/pacman/pkg] # locate libdb-5.1.so <snip archroot dirs> /usr/lib/libdb-5.1.so
Looking for ownership -- it looks like the file is just gone:
[09:28 providence:/var/cache/pacman/pkg] # pacman -Qo /usr/lib/libdb-5.1.so error: failed to read file '/usr/lib/libdb-5.1.so': No such file or directory
[09:28 providence:/var/cache/pacman/pkg] # l /usr/lib/libdb* -rw-r--r-- 1 root root 2277786 Jun 14 19:30 /usr/lib/libdb-5.2.a -rwxr-xr-x 1 root root 1789876 Jun 14 19:30 /usr/lib/libdb-5.2.so lrwxrwxrwx 1 root root 12 Jun 14 19:30 /usr/lib/libdb-5.so -> libdb-5.2.so -rw-r--r-- 1 root root 2277786 Jun 14 19:30 /usr/lib/libdb.a <snip>
OK, it looks like a missing link from db 5.2.28-1. On x86_64, I have the same thing, but postfix restarts just fine. What do we need to do to get postfix to look for libdb-5.2.so instead of libdb-5.1.so on x86?
all this output is useless without pacman -Q postfix if you don't have postfix-2.8.3-4 then is your problem. -- Ionuț
On 07/06/2011 05:43 PM, Ionut Biru wrote:
OK, it looks like a missing link from db 5.2.28-1. On x86_64, I have the same thing, but postfix restarts just fine. What do we need to do to get postfix to look for libdb-5.2.so instead of libdb-5.1.so on x86?
all this output is useless without pacman -Q postfix
if you don't have postfix-2.8.3-4 then is your problem.
scratch that. it seems that i686 is busted -- Ionuț
On 07/06/2011 11:19 AM, Ionut Biru wrote:
On 07/06/2011 05:43 PM, Ionut Biru wrote:
OK, it looks like a missing link from db 5.2.28-1. On x86_64, I have the same thing, but postfix restarts just fine. What do we need to do to get postfix to look for libdb-5.2.so instead of libdb-5.1.so on x86?
all this output is useless without pacman -Q postfix
if you don't have postfix-2.8.3-4 then is your problem.
scratch that. it seems that i686 is busted
See - every once in a while I get one right :) -- David C. Rankin, J.D.,P.E.
On Wed, Jul 06, 2011 at 12:08:13PM -0500, David C. Rankin wrote:
On 07/06/2011 11:19 AM, Ionut Biru wrote:
On 07/06/2011 05:43 PM, Ionut Biru wrote:
OK, it looks like a missing link from db 5.2.28-1. On x86_64, I have the same thing, but postfix restarts just fine. What do we need to do to get postfix to look for libdb-5.2.so instead of libdb-5.1.so on x86?
all this output is useless without pacman -Q postfix
if you don't have postfix-2.8.3-4 then is your problem.
scratch that. it seems that i686 is busted
See - every once in a while I get one right :)
I'm running my own compiled version of sendmail here and had to recompile it after this update. T.
On 07/06/2011 01:06 PM, Thaddeus Nielsen wrote:
On Wed, Jul 06, 2011 at 12:08:13PM -0500, David C. Rankin wrote:
On 07/06/2011 11:19 AM, Ionut Biru wrote:
On 07/06/2011 05:43 PM, Ionut Biru wrote:
OK, it looks like a missing link from db 5.2.28-1. On x86_64, I have the same thing, but postfix restarts just fine. What do we need to do to get postfix to look for libdb-5.2.so instead of libdb-5.1.so on x86?
all this output is useless without pacman -Q postfix
if you don't have postfix-2.8.3-4 then is your problem.
scratch that. it seems that i686 is busted
See - every once in a while I get one right :)
I'm running my own compiled version of sendmail here and had to recompile it after this update.
As a temporary work around, just add a link in /usr/lib from /usr/lib/libdb-5.1.so -> libdb-5.2.so: 13:14 providence:~> sudo ln -sf /usr/lib/libdb-5.2.so /usr/lib/libdb-5.1.so 13:14 providence:~> sudo /etc/rc.d/postfix restart That will bring postfix back up until the package is updated. Then don't forget to remove the link later... -- David C. Rankin, J.D.,P.E.
Same here. On x86_64, postfix-2.8.3-4 is linked to the new db version, whereas on i686, it is (accidentally?) still linked to the old. I've recompiled my own as a workaround on i686. Geert
On 07/06/2011 10:03 PM, Geert Hendrickx wrote:
Same here.
On x86_64, postfix-2.8.3-4 is linked to the new db version, whereas on i686, it is (accidentally?) still linked to the old.
I've recompiled my own as a workaround on i686.
Geert
it was fixed couples of hours ago in postfix-2.8.3-4.1 -- Ionuț
On Wed, Jul 06, 2011 at 22:12:54 +0300, Ionut Biru wrote:
it was fixed couples of hours ago in postfix-2.8.3-4.1
Confirmed, thanks! Geert -- geert.hendrickx.be :: geert@hendrickx.be :: PGP: 0xC4BB9E9F This e-mail was composed using 100% recycled spam messages!
As a temporary work around, just add a link in /usr/lib from /usr/lib/libdb-5.1.so -> libdb-5.2.so:
13:14 providence:~> sudo ln -sf /usr/lib/libdb-5.2.so /usr/lib/libdb-5.1.so 13:14 providence:~> sudo /etc/rc.d/postfix restart
That will bring postfix back up until the package is updated. Then don't forget to remove the link later...
Please don't do that, this is a bad workaround ! You should rebuild the package instead, it is very easy with ABS. Paul
On Wednesday, July 06, 2011 05:59:33 PM Paul Ezvan wrote:
As a temporary work around, just add a link in /usr/lib from /usr/lib/libdb-5.1.so -> libdb-5.2.so:
13:14 providence:~> sudo ln -sf /usr/lib/libdb-5.2.so /usr/lib/libdb-5.1.so 13:14 providence:~> sudo /etc/rc.d/postfix restart
That will bring postfix back up until the package is updated. Then don't forget to remove the link later...
Please don't do that, this is a bad workaround ! You should rebuild the package instead, it is very easy with ABS.
Paul
Why? The worst you could do is have pacman complain that the file(s) already exists in the file system. You then only have to remove it and you're good. Still the best way is to build/repackage but the link works as weel.
On 7 July 2011 03:02, Baho Utot <baho-utot@columbus.rr.com> wrote:
On Wednesday, July 06, 2011 05:59:33 PM Paul Ezvan wrote:
As a temporary work around, just add a link in /usr/lib from /usr/lib/libdb-5.1.so -> libdb-5.2.so:
13:14 providence:~> sudo ln -sf /usr/lib/libdb-5.2.so /usr/lib/libdb-5.1.so 13:14 providence:~> sudo /etc/rc.d/postfix restart
That will bring postfix back up until the package is updated. Then don't forget to remove the link later...
Please don't do that, this is a bad workaround ! You should rebuild the package instead, it is very easy with ABS.
Paul
Why?
The worst you could do is have pacman complain that the file(s) already exists in the file system. You then only have to remove it and you're good.
Still the best way is to build/repackage but the link works as weel.
A soname bump generally indicates a change in the ABI. Enjoy your random crashes. :p
On 07/07/11 10:02, Baho Utot wrote:
On Wednesday, July 06, 2011 05:59:33 PM Paul Ezvan wrote:
As a temporary work around, just add a link in /usr/lib from /usr/lib/libdb-5.1.so -> libdb-5.2.so:
13:14 providence:~> sudo ln -sf /usr/lib/libdb-5.2.so /usr/lib/libdb-5.1.so 13:14 providence:~> sudo /etc/rc.d/postfix restart
That will bring postfix back up until the package is updated. Then don't forget to remove the link later...
Please don't do that, this is a bad workaround ! You should rebuild the package instead, it is very easy with ABS.
Paul
Why?
The worst you could do is have pacman complain that the file(s) already exists in the file system. You then only have to remove it and you're good.
Still the best way is to build/repackage but the link works as weel.
The worst you can do while symlinking libraries is entirely screw your system... just ask the people who could not use pacman to extract .xz packages anymore after symlinking liblzma... Library sonames change for a reason. Allan
On Thursday, July 07, 2011 02:36:10 AM Allan McRae wrote:
On 07/07/11 10:02, Baho Utot wrote:
On Wednesday, July 06, 2011 05:59:33 PM Paul Ezvan wrote:
As a temporary work around, just add a link in /usr/lib from /usr/lib/libdb-5.1.so -> libdb-5.2.so:
13:14 providence:~> sudo ln -sf /usr/lib/libdb-5.2.so /usr/lib/libdb-5.1.so 13:14 providence:~> sudo /etc/rc.d/postfix restart
That will bring postfix back up until the package is updated. Then don't forget to remove the link later...
Please don't do that, this is a bad workaround ! You should rebuild the package instead, it is very easy with ABS.
Paul
Why?
The worst you could do is have pacman complain that the file(s) already exists in the file system. You then only have to remove it and you're good.
Still the best way is to build/repackage but the link works as weel.
The worst you can do while symlinking libraries is entirely screw your system... just ask the people who could not use pacman to extract .xz packages anymore after symlinking liblzma...
Library sonames change for a reason.
Allan
In this case it would only screwup postfix. I am not talking of whole sale symlinking libs only to temporay fix issues like this while the package is being fixed.
On Thu, Jul 7, 2011 at 4:34 AM, Baho Utot <baho-utot@columbus.rr.com> wrote:
On Thursday, July 07, 2011 02:36:10 AM Allan McRae wrote:
On 07/07/11 10:02, Baho Utot wrote:
Still the best way is to build/repackage but the link works as weel.
The worst you can do while symlinking libraries is entirely screw your system... just ask the people who could not use pacman to extract .xz packages anymore after symlinking liblzma...
Library sonames change for a reason.
In this case it would only screwup postfix. I am not talking of whole sale symlinking libs only to temporay fix issues like this while the package is being fixed.
... but ... why? when it takes a whole 5-10 minutes to rebuild? you have *no idea* why they bumped the soname -- the fact that it works is pure chance/luck -- whatever changed just hasn't been given the opportunity to crash 'n burn you yet, because (IIRC) said function(s) havn't been called, or said data structure(s) haven't been used/manipulated/read ... *yet*. if it does work, you could be clobbering random areas of heap/stack depending on how everything lines up in the end. ... this is bad idea, bad recommendation, pre-now, now, always, post-always ... don't do it. ever ... ever. http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN135 ... if you care *at all* about you mail or <insert important data> that is ;-) C Anthony
On Wed, Jul 6, 2011 at 7:02 PM, Baho Utot <baho-utot@columbus.rr.com> wrote:
On Wednesday, July 06, 2011 05:59:33 PM Paul Ezvan wrote:
sudo ln -sf /usr/lib/libdb-5.2.so /usr/lib/libdb-5.1.so
Please don't do that, this is a bad workaround !
Why?
... segfaults, leaks?, corruption, security ++ an unending list of random/periodic/hidden/visible/dramatic/subtle/obscure/obvious/minor/major problems, crashes, and/or lockups. soname bumps denote backwards incompatible changes at rather low levels (ABI), ie. an *intentional* break in the interface agreement between the library and any consuming binaries. it causes work downstream and is mostly avoided if possible -- developers usually have good reasons when it happens. [willful] ignorance subjects *any* binary loading the library directly, or by proxy, to a wide list of unknowns -- resultant behavior is roughly 300% unpredictable, and varies heavily by context, circumstance, whim, weather, date, mood, not to mention cosmic alignments ... ... a Bad Idea i daresay :-) C Anthony
participants (9)
-
Allan McRae
-
Baho Utot
-
C Anthony Risinger
-
David C. Rankin
-
Evangelos Foutras
-
Geert Hendrickx
-
Ionut Biru
-
Paul Ezvan
-
Thaddeus Nielsen