next up previous
Next: Avoiding errors Up: Results Previous: Results

Observed problems

It was remarkable to us just how many things were wrong with our repositories. Using sowhat we detected the following kinds of problems:

1.
Binary program invalid.
(a)
Wrong subarchitecture.
(b)
Wrong exec format.
2.
Missing library.
(a)
Nonexistent library.
i.
Due to absolute library pathname.
ii.
In all library path members.
(b)
Incompatible library version.
i.
Due to absolute library pathname.
ii.
In all library path members.
(c)
Incompatible library subarchitecture.
i.
Due to absolute library pathname.
ii.
In all library path members.

Rarely, the program we analyzed was not a Solaris program at all. Unbelievably, we found several Linux x86 programs installed in our Solaris repository! A more subtle and serious error was that several programs in the correct exec format were compiled for a different hardware subarchitecture, e.g., 64-bit code on a 32-bit machine. These crept into our repository due to addition of 64-bit servers, while no one noticed that they could not be used on most of the workstations. The remaining errors we found are the ones we were looking for. Several programs had outlasted their libraries by several years; we deleted libraries because we were completely unaware of the program's need for them. Other programs were compiled to hard-coded library locations, and these locations had been moved by operating system updates. Still others needed an older or newer version of the library than was available. Finally, some programs were made available on a machine having an inappropriate subarchitecture, which showed up in sowhat as an incompatible library subarchitecture.


next up previous
Next: Avoiding errors Up: Results Previous: Results
Alva L. Couch
2001-11-05