AMPAC 8 with Graphical User Interface Release Notes - Linux Version ----------------------------- Copyright (c) 1996-2005 Semichem, Inc. All Rights Reserved. Currently, there are 2 different distributions of Ampac for Linux systems: x86 (both x86_32 and x86_64) Linux Version (e.g., Ampac-8_16_7-Linux-x86.tar) ----------------------------------------------------------------------------- This distribution is configurable for both 32-bit systems (x86_32) and 64-bit Linux systems (x86_64) running a properly configured XFree86-based X server. For the 32-bit configuration, it will run on most Intel x86_32-compatible systems (IA32, AMD, etc) AND x86_64-compatible systems (AMD Opteron, etc) running the 2.6 (or later) Linux kernel. For the 64-bit configuration, it will run on most x86_64-compatible systems (AMD Opteron, etc) running a 64 bit Linux OS. The AMPAC GUI (Agui) is 32-bit only and also requires OpenGL. When installed, Ampac is automatically configured for 32 or 64 bit based on your current system configuration. This can be overridden by explicitly configuring Ampac. To configure for 32-bit: cd $AMPAC_DIR ./config_ampac.csh -32 To configure for 64-bit (requires 64 bit system configuration): cd $AMPAC_DIR ./config_ampac.csh -64 IA64 (Itanium) Linux Version (e.g., Ampac-8_16_7-Linux-ia64.tar) ---------------------------------------------------------------- This distribution will run on most Intel IA64-compatible Linux systems running a properly configured XFree86-based X server. The AMPAC GUI (Agui) also requires OpenGL. System Information ------------------ To determine your system information, use the following command: uname -a The output should look something like: Linux jonah.chem.umkc.edu 2.4.19-gentoo-r5 #2 Thu Jun 27 12:26:26 CDT 2002 i686 GenuineIntel Math Libraries -------------- AMPAC's computational module uses Intel's MKL math libraries or Portland Group's math libraries, which have been optimized for performance on your computer. Using Mesa 3-D graphics library ------------------------------- The AMPAC GUI (Agui) requires OpenGL. Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL*. If you do not have OpenGL, then you can install Mesa and use it instead. For more information, see http://www.mesa3d.org. * OpenGL(R) is a registered trademark of Silicon Graphics, Inc. Xft Font Libraries ------------------ The AGUI depends (indirectly through the Qt library) on the Xft library (version 2) that comes with most Linux distrubitions. Some distributions do not come with this library and so will not run. To handle this, AMPAC contains a second version of the Qt library that doesn't depend on Xft (or Xinerama). A configuration script, config_ampac.csh, has been provided to switch between the Xft and non-Xft dependent Qt libraries (see troubleshooting section). Xinerama Libraries ------------------ The AGUI depends (indirectly through the Qt library) on the Xinerama library that comes with most Linux distrubitions. Some distributions do not come with this library and so AGUI will not run. To handle this, AMPAC contains a second version of the Qt library that doesn't depend on Xinerama (or Xft). A configuration script, config_ampac.csh, has been provided to switch between the Xft/Xinerama and non-Xft/non-Xinerama dependent Qt libraries (see troubleshooting section). NVIDIA binary graphics drivers ------------------------------ Agui can utilize the Full Screen Antialiasing features of contemporary NVIDIA graphics hardware if using the binary drivers provided by NVIDIA. This requires setting the __GL_FSAA_MODE environment variable in the shell from which Agui is launched. AMPAC 8 includes a wrapper script, {$AGUI_DIR}/Linux/agui8.sh, that can be used to set the necessary environment variables. The script must first be edited to point to the location of the AMPAC initialization file (init_ampac.sh), and to enter the desired environment variables. See the README file that was included with your driver to determine the settings for your particular hardware installation. Linux Desktop Integration -------------------------- Please see the file README-Desktops.txt =============== Troubleshooting =============== Missing Xft (or Xinerama)library -------------------------------- By default, the AGUI requires the Xft (version 2) system library and the Xinerama library in order to run. By default, AGUI is configured to use the Xft library and Xinerama library that comes with most Linux distributions. For systems that don't have Xft or Xinerama, AGUI will not run but there are two solutions to this problem. One can either (1) install Xft and / or Xinerama on their system or (2) re-configure AGUI to avoid using Xft and Xinerama. Option 1: Install Xft and Xinerama The most common cause for not having Xft or Xinerama as part of the operating system is having a very old Linux distribution. It is strongly recommended in this case to simply upgrade to a newer version of Linux. Newer releases of Linux should have Xft and Xinerama built in and so no further installation would be required. Alternatively, the Xft or Xinerama libraries can be obtained on the internet and installed. Consult your Linux distributor for information on where to obtain this library. Option 2: Use non-Xft / non-Xinerama dependent libraries AMPAC provides a different version of its libraries that do not depend on this system library. Using these libraries avoids the need to have Xft installed on the computer allowing AGUI to run. A simple configure script is provided to switch library versions. To do this: cd $AMPAC_DIR ./config_ampac.csh -noxft Note: this may require administrator privileges. (To switch back to the Xft version, call the same script but with the "-xft" flag.) To determine which library is currently enabled: ls -l $AMPAC_DIR/agui/lib/libqt-mt_sc.so.3 If the soft link points to "libqt-mt_sc_noxft.so.3" then it is set to the non-Xft dependent version. Missing Libraries ----------------- AMPAC (and AGUI) relies on libraries that must be loaded at run time. In the event that AMPAC or AGUI is unable to find all of its required libraries, then it will print out an error message and exit. A diagnostic script, "check_env.csh", has been provided to identify and resolve the most common problems. Instructions on how to use this diagnostic can be found in README.txt. If that fails to resolve the problem, follow the procedure given here. 1) The user must be in or switch to either a csh or tcsh shell. If the user is already running in csh or tcsh, then nothing needs to be done. For users running sh, ksh, or bash shells, issue the following command: /usr/bin/csh (or /usr/bin/tcsh) (If you are unsure of which shell you are using, issue the command "echo $0" to identify it.) AMPAC and AGUI can run in any of the common shell environments, however, the scripts that run AMPAC are csh based and so this diagnostic procedure requires a csh environment. 2) Initialize AMPAC information. To do this: cd {main AMPAC directory} source init_ampac.csh If AMPAC_DIR has already been properly set, then this step may be skipped. 3) Manually initialize AMPAC's run time environment. This must been done first to insure that the proper environmental variables are being tested. source $(AMPAC_DIR)/bin/ld_env.csh Normally, this is done automatically by the scripts that run AMPAC. It is done this way, so that only the processes that are actually used to run AMPAC will have their environmental variables altered and so these changes disappear once the job is finished. This prevents AMPAC's changes to environmental variables from interfering with other processes. For this diagnostic procedure, we need set the same environment used by the AMPAC scripts. (Note, "ld_env.sh" also exists but is not used by AMPAC, even if AMPAC is being used from a sh-based shell. That script is provided only for completeness.) 4) Check the library dependencies. Use: cd $(AMPAC_DIR)/program ldd ampac.exe The output from "ldd" lists each of the libraries required to run AMPAC. Note any libraries that have not been found by the system. If the required library has been found, the exact location of the library that will be loaded in at run time is given. Since more than one version of a given library may exist on the system, verify that the correct library is being used. 5) Verify that the missing library exists on your system. Use: find / -name "missing library" -print If the library is not found, then it must be installed before AMPAC can be used. Consult your system administrator or the system documentation. If the library is found, note the directory in which it is located. 6) Edit the script "$(AMPAC_DIR)/bin/ld_env.csh" and insert library directory into each of the link library search path variables. Run AMPAC to verify that the problem has been resolved. If there are additional missing libraries, go back to step 3. 7) If a shell was started for this diagnostic test (step 1), then exit it. This can be done by typing ctrl-D or "exit". Specific Cases of Missing Libraries ----------------------------------- If after installing AMPAC 8, you receive the following error message (or something similar) when trying to launch Agui: : relocation error: /usr/local/Ampac-8.16/agui/libqt-mt.so.3: symbol _res, version GLIBC_2.0 not defined in file libc.so.6 with link time reference ...then enter the following commands (or something similar) ... cd $AGUI_DIR/lib ln -s /lib/libm.so.6 libm.so.6 ln -s /lib/libc.so.6 libc.so.6 ln -s /lib/libpthread.so.0 libpthread.so.0 If you receive this error message (or something similar) ... : error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory ...then enter the following commands (or something similar) ... cd $AGUI_DIR/lib ln -s /usr/lib/libstdc++.so.6 libstdc++.so.6 ...if this doesn't work, you can try the following (or something similar) ... cd $AGUI_DIR/lib cp -p /usr/lib/libstdc++.so.6 libstdc++.so.6 Lastly, check the directory $AGUI_DIR/lib/compatibility_libs to see if you the libraries you need are in there. But be sure to read the README.txt file in that directory first!