Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 2 Apr 2012 19:54:14 -1000
From: cpb@....log2.net
To: owl-users@...ts.openwall.com
Subject: Re: Upgrading to current gives dependency problem after kernel upgrade and boot

Hi Zenny,

On Tue, Apr 03, 2012 at 04:27:12AM +0000, Zenny wrote:
> ...
> But when I tried to upgrade to the userland, I got dependency errors:
> # rpm -Fvh ~build/RPMS/*.rpm
> ...[more stuff attempted but no success]
> But no change. Any pointer? Thanks!

You didn't include complete details of your starting point or the source of
your RPMs in ~build/RPMS, but I will mention a couple of things that might
help you. I am not an expert, but I have had problems like yours before. The
scripts in native/Owl/build are very clever, but I am sometimes able to trick
them into failing anyway!

0. "rpm -Fvh *" cannot always do the job. Sometimes "rpm -Uvh *" will work
   better, but what you really are supposed to do "by the book" is described
   a little more down below in item #4. As I was writing that down, I realized
   how important it was, so I came back up here and made item #0 a forward
   reference (kind of like your GCC 4.6.2 and John compile problem! :)
   But don't jump ahead, read items #1 through #3 first!

1. If you are trying to go from Owl-Stable to Owl-Current, you will have
   difficulties like this (the main reason being GCC 4.6.x, but that's not
   the only reason).

2. Even Owl-current-X to Owl-current-Y upgrades are not always smooth.
   When Owl devs create a new Owl-Current which can rebuild itself, they
   do not always insure that you can easily follow the exact build path they
   took from the previous Owl-current. (Again, GCC 4.6 is the biggest recent
   example). Sometimes an iterative approach is needed, and these are not
   detailed in the upgrade notes. They sometimes just want you to "go binary"
   from the ISO images or from the distributed RPMs.

3. Check your logs/buildworld log file - any failures? Do you actually have
   those other GCC-related RPMs like libgomp4, libmpc, mpfr available? If
   they could not be built, it will not stop the whole buildworld process--
   you will just have missing RPMs.

4. (Important, should be first) the Makefile targets buildworld + installworld
   are made to step around problems like there where rpm -Uvh * cannot do the
   right thing. The way to upgrade in-place "by the book" is to replace the
   symlink installworld.conf with an actual copy, then edit the top of the
   copy to set "ROOT=/", then execute "make installworld" as root, which will
   issue many separate rpm -Uvh --force commands to perform the upgrade (this
   does not always go smoothly either, so take steps so you can recover from
   a damaged system). This is mentioned in http://openwall.com/Owl/BUILD.shtml
   but there's not much detail there...I think there's more in the wiki
   somewhere. Some packages will not install simultaneously with their deps.

Good luck, hopefully a real expert can help if you still cannot make progress.
You almost certainly want "make installworld" after changing the "ROOT=" line
in installworld.conf, and if that fails, look carefully at logs/installworld
and study the script native/Owl/build/installworld.sh. Hope this helps.

(Zenny's full message follows, as there might be some relevant clues in there
which I cannot recognize). I'm not trying to top-post!

Chris Bopp, Honolulu, Hawaii

On Tue, Apr 03, 2012 at 04:27:12AM +0000, Zenny wrote:
> Hi:
> 
> I tried to upgrade to the latest kernel and userland. The kernel
> upgrade went well:
> 
> # uname -a
> Linux owltst 2.6.18-274.18.1.el5.028stab098.1.owl1 #1 SMP Sat Feb 25
> 12:53:41 MSK 2012 x86_64 GNU/Linux
> 
> But when I tried to upgrade to the userland, I got dependency errors:
> # rpm -Fvh ~build/RPMS/*.rpm
> error: Failed dependencies:
> 	libmpc.so.2()(64bit) is needed by gcc-4.6.2-owl4
> 	libmpfr.so.4()(64bit) is needed by gcc-4.6.2-owl4
> 	libmpc.so.2()(64bit) is needed by gcc-c++-4.6.2-owl4
> 	libmpfr.so.4()(64bit) is needed by gcc-c++-4.6.2-owl4
> 	libgomp.so.1()(64bit) is needed by john-1.7.9.4-owl1
> 	libgomp.so.1(GOMP_1.0)(64bit) is needed by john-1.7.9.4-owl1
> 	libgomp.so.1(OMP_1.0)(64bit) is needed by john-1.7.9.4-owl1
> 
> 
> To solve, I tried to force install john,
> # rpm -Fvh ~build/RPMS/john-1.7.9.4-owl1.x86_64.rpm
> error: Failed dependencies:
> 	libgomp.so.1()(64bit) is needed by john-1.7.9.4-owl1
> 	libgomp.so.1(GOMP_1.0)(64bit) is needed by john-1.7.9.4-owl1
> 	libgomp.so.1(OMP_1.0)(64bit) is needed by john-1.7.9.4-owl1
> 
> # rpm -Fvh ~build/RPMS/gcc-4.6.2-owl4.x86_64.rpm
> error: Failed dependencies:
> 	cpp = 1:4.6.2-owl4 is needed by gcc-4.6.2-owl4
> 	libgcc >= 1:4.6.2-owl4 is needed by gcc-4.6.2-owl4
> 	libgmp.so.10()(64bit) is needed by gcc-4.6.2-owl4
> 	libmpc.so.2()(64bit) is needed by gcc-4.6.2-owl4
> 	libmpfr.so.4()(64bit) is needed by gcc-4.6.2-owl4
> 	gcc = 1:3.4.5-owl5 is needed by (installed) gcc-c++-3.4.5-owl5
> 
> # rpm -Fvh ~build/RPMS/gcc-c++-4.6.2-owl4.x86_64.rpm
> error: Failed dependencies:
> 	gcc = 1:4.6.2-owl4 is needed by gcc-c++-4.6.2-owl4
> 	cpp = 1:4.6.2-owl4 is needed by gcc-c++-4.6.2-owl4
> 	libgmp.so.10()(64bit) is needed by gcc-c++-4.6.2-owl4
> 	libmpc.so.2()(64bit) is needed by gcc-c++-4.6.2-owl4
> 	libmpfr.so.4()(64bit) is needed by gcc-c++-4.6.2-owl4
> 
> But no change. Any pointer? Thanks!
> 
> /z

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.