DOCUMENT ID: 0912-02 SYNOPSIS: Library problems on Solaris x86 OS RELEASE: 2.x PRODUCT: Solaris x86 KEYWORDS: library wabi Libm DESCRIPTION: Library problems on Solaris x86. SOLUTION: Q: What does the message "Can't find libm.so.1" mean? A: Libm is the name of the Unix "math" library, which is an extension to Unix's "stdC" library. The Wabi 1.0 font server process "wabifs" expects to be able to find a dynamically loadable version of library, probably in /usr/lib/libm.so.1. The Solaris x86 "end user" cluster may not include this library. The Wabi 1.0 main process "wabiprog" includes a satirically linked version of this library and so doesn't require that a dynamically loadable version of the library exist on the system. In other words, you'll only experience this problem if i) you're running Wabi on an x86 machine, and ii) only the "end user" Solaris cluster was installed on the x86 machine, and iii) you're displaying Wabi windows on a machine running Solaris 2.3 (or any other Xserver that supports the font service protocol). To fix the problem, simply load the required library down onto the system. You can copy /usr/lib/libm.so.1 from a Solaris x86 system that has it installed. Or you can load the Solaris "developer" cluster onto the machine. Or you can attempt to copy just that one file from the Solaris distribution CD onto your machine (you'll probably prefer to use one of the other options). Q: How can I know that I've got the right library available to Wabi? A: When the right libm.so.1 is available to Wabi, you should be able to run from the same environment Wabi will be started from ldd /opt/SUNWwabi/bin/wabifs and get a list of library references and locations that doesn't include the words "(not found)". Q: What does the message "Can't find libXext.so.0" mean? A: With both Wabi 1.0 and Wabi 1.1 for Solaris x86, environment variable LD_LIBRARY_PATH should include the path to the X11 libraries (probably $OPENWINHOME/lib). The environment variable will usually be set automatically if you run OpenWindows on a Solaris 2.1 x86 system. That version of $OPENWINHOME/bin/openwin will set LD_LIBRARY_PATH when it starts up the window system. This will not happen automatically on a Solaris 2.4 x86 system, not even if you run OpenWindows. The new version of $OPENWINHOME/bin/openwin no longer sets the environment variable by default. The intention is that the great majority of applications should run without requiring any setting of LD_LIBRARY_PATH. If you run a window system other than OpenWindows under either Solaris 2.1 x86 or Solaris 2.4 x86, you may see this problem. You can work around it by setting the environment variable as required by Wabi. Almost all the time the same setting that works for Wabi will also work for (or at least not do any harm to) other applications. So you may want to set the environment variable system-wide. Q: Where should I set this environment variable? A: This environment variable needs to be set in the parent process that will launch Wabi. If you're launching Wabi from your root window, one place to set it is in your openwin startup script. If you're launching Wabi from a cmdtool, one place to set it is in your ~/.cshrc. Q: How do I set this environment variable? A: If the environment variable isn't yet defined, define it. C-shell example: setenv LD_LIBRARY_PATH $OPENWINHOME/lib Bourne/Korn shell example: LD_LIBRARY_PATH=$OPENWINHOME/lib; export LD_LIBRARY_PATH If the environment variable is already defined, and doesn't yet include $OPENWINHOME/lib, redefine it to include both its existing value and the new value. C-shell example: setenv LD_LIBRARY_PATH $OPENWINHOME/lib:$LD_LIBRARY_PATH Bourne/Korn shell example: LD_LIBRARY_PATH=$OPENWINHOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH Q: Is there a way I can set this environment variable just for Wabi in my OpenWindows root menu? A: Yes. Use Bourne shell syntax to add commands to your ~/.openwin-menu. Change Wabi's line to look something like this: "Wabi..." LD_LIBRARY_PATH=$OPENWINHOME/lib; export LD_LIBRARY_PATH; exec wabi Q: How can I know that I've got LD_LIBRARY_PATH set correctly for Wabi? A: When LD_LIBRARY_PATH is set correctly for Wabi, you should be able to run from the same environment Wabi will be started from ldd /opt/SUNWwabi/bin/wabiprog and get a list of library references and locations that doesn't include the words "(not found)". Q: Isn't some of this due to a "dlopen()" problem in Solaris 2.4 EA1? A: No, we no longer think so. If you find that Wabi won't run yet ldd` says all libraries needed by "wabiprog" can be found, please let us know. DATE APPROVED: 09/28/95