On 11/17/05, David J Berube <[EMAIL PROTECTED]> wrote: > Anybody got an answer? > > ---------- Forwarded message ---------- > From: "Fletcher Lokey at Exacom" <[EMAIL PROTECTED]> > Date: Thu, 17 Nov 2005 09:03:59 -0500 > Subject: Can I bother you with another Linux question? > > /root/pcADeploy/thinhost: error while loading shared libraries: libXm.so.3: > cannot open shared object file: No such file or directory
Under Linux, a "shared object" is the equivalent of a DLL file under MS-Windows. It appears the PCAnywhere product depends on some dynamic libraries which are not present on the system in question. > ... I poked around on the Linux box here that is working, and found the file > libXm.so.3 in usr/X11R6/lib ... I loaded the file over the wire to the system > down there, in the same directory. You generally don't want to do that. There are often "additional steps" associated with installing program files. It is also rare to find a single file as a stand-alone unit; most often, groups of related files need to be installed together. This is true on Linux as well as MS-Windows. Unlike MS-Windows, however, there are standard tools used on Linux systems which manage program files, dependencies, installation, and so on. These tools are called "package managers". Software components are called "packages". The package manager used on Red Hat is RPM (Red Hat Package Manager). Obviously, PCAnywhere isn't using these package management tools, or it would have warned you that it did not have the needed files. :-( Anyway, the first thing you need to do is figure out what package the file you need came from. To do that, execute this command on a system that has the file: rpm --query --file /usr/X11R6/lib/libXm.so.3 RPM should give you the name and version of the package (.rpm file) which "owns" that file. You can then install the proper package from your Red Hat CDs and/or the network. To install from CD, find the CD that has the file, mount it, and do something like this: rpm --install /mnt/cdrom/RedHat/RPMS/XFree86-libs-x.y.z.i386.rpm (The path and name of the file will likely be different.) To install via network, do something like this: up2date XFree86-libs (Again, the name of the package may be different for you.) > On a Google search I found a forum where someone asked the guy with the > problem - is usr/X11R6/lib in your etc/ld.so.conf file? From what I can > gather > that is a file that is like a PATH thing - telling you where you can find .so > files? That's a fair analogy. "ld.so" is the "loader for shared objects" -- that is, the component that handles dynamic linking of shared libraries. The "ld.so.conf" is the config file for same, and exists mainly to tell "ld.so" where to look for shared object (.so) files. One of the things RPM does for you is manage all that As Ken D'Ambrosio mentioned, running the "ldd" (ld dependencies) command with the PCAnywhere file as an argument will tell you what libraries a program depends on. You could do this: ldd /root/pcADeploy/thinhost: ... to see the full list. Hope this helps! -- Ben _______________________________________________ gnhlug-discuss mailing list gnhlug-discuss@mail.gnhlug.org http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss