Best of Technical Support

Our experts answer your technical questions.
RPMs, Downloading

I am an end user with a Caldera 2.2 Linux system. My question regards the installation of new software in the RPM format and the dreaded failed dependences with respect to a missing or wrong version of a library. I generally use the KDE kpackage program but have had the same problem with the command line rpm. Let me give a real example:

Download program.rpm
Run kpackage—reports: Unsatisfied dependencies

But, the Caldera 2.2 system has

Obviously, I need to install an update to GTK+ library. So, I downloaded gtk+1.2.3 which provides:

Next, I download the package and use kpackage to install. Guess what: Unsatisfied dependencies appears for this package: (glibc2.1) (glibc2.0)

How can two versions of this library be required? (glibc2.1)

Caldera 2.2 has GLIBC 2.1-3 which provides

How do you resolve this issue which is general and not specific to this one program? More importantly, is there a HOWTO or FAQ or whatever that details working with these libraries—lic5, libc6 (2.0 and 2.1), lisbstdc++ and egcs? Unless this information is readily available to newbies so that new software can be added to their Linux system, they will be dependent on the software provided by their distribution. I would appreciate your solution to this problem. —Don,

It seems that you have the libraries you need, but that Caldera and the package you're trying to install (probably built on Red Hat) don't agree on dependency names. You can try to force the install with

rpm -i --nodeps package.rpm

Another option is to download package.src.rpm and rebuild it:

rpm --rebuild package.src.rpm

This will generate an rpm that will install on your system. —Marc Merlin,

Ejecting a CD-ROM

I have Red Hat 5.1, 5.2 and 6 and I can't get my CD-ROM to eject. I have tried umount, then eject on the CD-ROM. I've tried umount, then eject on the cdplayer window. I've also tried it mounted; nothing works. My system is a Compaq Deskpro 4000 pII CPU, 3.2GB hard drive, 32MB RAM, IDE CD-ROM. —Uriah Seagraves,

When the CD-ROM is mounted, the operating system will issue a lock command that prevents the eject function from operating. I suspect your CD-ROM is not actually being unmounted. Execute the command

cat /proc/mounts

to view what the kernel thinks is actually mounted to be sure the drive isn't in the list. —Chad Robinson,

The eject command uses the cdrom argument as default, check on your /dev directory if you have a symbolic link from “cdrom” to the actual device that handles your CD-ROM drive. In my case, also on a Red Hat 6.0 system, it is:

$ ls -l cdrom
lrwxrwxrwx   1 root     root   3 Aug  9 13:47 cdrom -> hdd

If there is no such link, create it by typing

$ ln -s hdd cdrom

It should work then. Actually, you can give any name to the CD-ROM unit by creating links on the /dev directory such as

ln -s hdd compactdisc

and later on use eject compactdisc. Since you do not mention the specific brand of your CD-ROM unit and it seems you have tested it under several Linux versions, bear in mind that the physical CD-ROM unit must support the eject command. Also, type man eject on your system and read more about the options of the eject command. —Felipe E. Barousse,

Boot Process Question

How do I change the order of items in the boot process? I am running Red Hat on a laptop and I want to load the PCMCIA services before the initialization of the network interfaces. Right now, the interfaces are initialized and eth0 fails because the PCMCIA services don't load until later in the boot process. —Jeff Blaha,

If you look at the /etc/rc.d/rc2.d directory and type ls -la, you will see a list of files (possibly among others) starting with a capital S exactly in the order they are executed by the boot process, and a list of files starting with capital K in the order they are executed by the shutdown or system going down processes. The order is alphanumeric and determined by the numbers that follow the Ss or the Ks. If you rename, say, S45pcmcia to S07pcmcia (i.e., to some number lower than the one belonging to the network startup), the PCMCIA services will start before the network services. This applies to all startup and shutdown script files on the rc1.d, rc2.d and rc3.d directories under /etc/rc.d/. Modifying startup and shutdown order of these files may damage your system behavior and/or some of its services, so be careful. —Felipe E. Barousse,

This is how it's supposed to work: the Ethernet interface gets configured when pcmcia gets loaded, so there is nothing wrong with the message you see. However, should you need to start PCMCIA sooner, you can edit /etc/rc.d/init.d/pcmcia and lower the second digit on the chkconfig line. For instance, change chkconfig: 2345 45 96 into chkconfig: 2345 9 96. Then type:

chkconfig  --del pcmcia;  chkconfig --add

The links in /etc/rc.d/rc?.d/ will be regenerated. This will change the order in which PCMCIA is started. —Marc Merlin,