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
libgdk-1.2.so.0
libgtk-1.2.so.0

But, the Caldera 2.2 system has

libgdk.so.1.0.5
libgtk.so.1.0.5

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

libgdk-1.2.so.0
libgtk-1.2.so.0

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

libc.so.6 (glibc2.1)
libc.so.6 (glibc2.0)

How can two versions of this library be required?

libm.so.6 (glibc2.1)

Caldera 2.2 has GLIBC 2.1-3 which provides

libc.so.6
libm.so.6

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, dollberg@worldnet.att.net

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, merlin@varesearch.com

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, useagraves@excite.com

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, chadr@brt.com

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, fbarousse@piensa.com

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, jeffery.f.blaha@us.arthurandersen.com

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, fbarousse@piensa.com

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
pcmcia

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

______________________

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState