Posts Tagged ‘dependency hell’

Quick solve package dependency with rpm –aid

Tuesday, January 22nd, 2008

This is relevant for Redhat EL 3 and 4, and any other compatible system not using “yum”. RHEL5 uses “yum”, and its RPM system does not include the “–aid” flag, which we require so much.

1. Place all the available RPMS (I assume these are the installation medias, combined) in a single directory – for example: /mnt

2. Install manually the “rpmdb” package

3. Edit /etc/rpm/macros.solve and change two lines:

%_solve_pkgsdir /mnt

%_solve_name_fmt /mnt/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm

-Notice: I have used /mnt. Replace it your preferred directory

Following these steps, any encounter with RedHat’s infamous “dependency hell” can be solved by using the flag “–aid” for the RPM command

Incorrect dependencies for installation of packages on AIX 5.3

Wednesday, December 5th, 2007

Following an upgrade of AIX 5.3 to level 07, with SP1 technology upgrade, I had encountered a problem installing a package required for Oracle 11g – rsct.basic.rte

This rsct.basic.rte package requires rsct.basic.rte version from AIX CD, however, to install it, I am required to install xlC.aix61 version, which should not be here, and following that, bos.rte version, which should be part of AIX 6.x.

Some elaboration on the bos family of packages – bos stands for Base Operating System. rte stands for RunTime Environment. It means that bos.rte version would be the base operating system runtime components of AIX version 6. This was far from my desire, as you cannot replace the system’s bos.rte package…

I have attempted to force installation of the baseline version of rsct.* from the cd, by running the command

installp -aF -d /dev/cd0 rsct.basic.rte

but for no avail. I have removed all rsct.* packages (this time I used smit), and still – I was unable to install the baseline package rsct.basic.rte, since it had dependencies from AIX 6…

I was able to solve it using the following method:

1. Installed all bos.adt baseline packages missing, using the following command

installp -aXg -d /dev/cd0 bos.adt

2. Extracted the combined package of SP1 technology update, and upgrade package to a specific directory

3. Copied the contents of baseline rsct packages from the cdrom to that same directory mentioned above:

mount /mnt/cdrom
cp /mnt/cdrom/installp/ppc/rsct.* ./

4. Created new .toc file

inutoc .

5. Installed (and succeeded this time) rsct.basic.rte. This time all dependencies were fulfilled

installp -aXg -d . rsct.basic.rte

6. Updated the entire level back to the latest os level

smit update_all

This worked fine, and I write it down for the next sucker who would be required to fulfill an impossible requirement in order to install one small package.