TagAIX

SAS Environment Manager Server Does Not Start on AIX

ISAS began installing SAS Enterprise Business Intelligence (EBI) 9.4 Maintenance Release 3 software on AIX 7.1 LPARs this summer. These were development environments which were single-machine deployments. The installation and configuration phases were straightforward, and when completed, the deployment was up and running and validated perfectly. I then shut down all of the SAS services using the sas.servers script which is created at the end of the configuration phase. I then used the script to start all of the services, and SAS reported everything was up and running, so I performed another round of validation. When I opened up a browser and supplied the URL of the Environment Manager, the browser reported that there was not an application running on that server and port. I stopped and started the SAS services many times with the sas.servers script to make sure the problem was consistently occurring, which it was.

I then opened up PuTTy and went straight to the <sasconfig>Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/bin/hq-server.sh script and executed a shutdown, only to be told that the Environment Manager server wasn’t running. So I then used the same script to start the server, and I went back to my browser and I was able to log into the application to validate.

Just out of curiosity, I contacted SAS Technical Support and asked them why this happened. The Tech Support Analyst told me that I was probably experiencing a known defect in the hq-server.sh script on AIX. The problem is that if you issue the hq-server.sh script from outside the <sasconfig>Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/bin directory, which is what is happening when we use the sas.servers script, then we will see a “../lib not found” error in the log.

To prevent this from happening, the hq-server.sh script needs to be modified in two places, replacing the relative path to an absolute path to the lib directory. So to fix the problem, edit the <sasconfig>Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/bin/hq-server.sh script and change the following:

From:

INPUT=`ls -m ../lib`
for i in $INPUT
do
   if [ -f "../lib/${i}" ]; then

To:

INPUT=`ls –m <sasconfig>/Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/lib`
for i in $INPUT
do
   if [ -f "<sasconfig>/Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/lib/${i}" ]; then

where <sasconfig> is the fully qualified path to configuration directory.

With the absolute path provided, SAS knows where the appropriate binaries are located to start up the Environment Manager!

Oddly, this seems to be an AIX thing, because I have a few Red Hat Linux environments running SAS Visual Analytics and the Environment Manager, and never saw this issue.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Required gtk Libraries for IBM Installation Manager 1.7.2 on AIX

IBMI was attempting to install the 1.7.2 version of the IBM Installation Manager last week on a newly-created LPAR running AIX 6.1 and ran into trouble. As usual. Here is what the error looked like:

# ./install
00:00.92 ERROR [main] org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory safeLogged
Could not load SWT library. Reasons:
/root/Desktop/InstallationManager/configuration/org.eclipse.osgi/
bundles/633/1/.cp/libswt-pi-gtk-4234.a (A file or directory in the path name does not exist.)
swt-pi-gtk (Not found in java.library.path)
/root/.swt/lib/aix/ppc/libswt-pi-gtk-4234.a (A file or directory in the path name does not exist.)
/root/.swt/lib/aix/ppc/libswt-pi-gtk.a (A file or directory in the path name does not exist.)
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
/root/Desktop/InstallationManager/configuration/org.eclipse.osgi/
bundles/633/1/.cp/libswt-pi-gtk-4234.a (A file or directory in the path name does not exist.)
swt-pi-gtk (Not found in java.library.path)
/root/.swt/lib/aix/ppc/libswt-pi-gtk-4234.a (A file or directory in the path name does not exist.)
/root/.swt/lib/aix/ppc/libswt-pi-gtk.a (A file or directory in the path name does not exist.)

A quick Google search of “Could not load SWT library” took me to the IBM web site  with a solution to resolve the problem. I have included the cause and resolution below, which got my Installation Manager installation successfully completed:

Cause

Installation Manager is an Eclipse Rich Client Program application based on the open source project found at http://www.eclipse.org. Eclipse changed the window system requirement from motif to gtk on UNIX operating systems. For AIX, this Eclipse window system change requires the gtk libraries to be installed to support the GUI. For Installation Manager, the GUI is the wizard mode of operation.

You can use Installation Manager without the gtk libraries. For information on console mode, command-line mode, or silent mode; see the Installation Manager Information Center. Silent mode uses a response file and command-line mode is supported by all packages. For console mode, check your product documentation to verify that the product supports console mode.

Resolving the problem

To use the GUI, the gtk+ RPM and dependencies must be available on AIX.

Install this set of RPMs on AIX:

atk-1.12.3-2.aix5.2.ppc.rpm
cairo-1.8.8-1.aix5.2.ppc.rpm
expat-2.0.1-1.aix5.2.ppc.rpm
fontconfig-2.4.2-1.aix5.2.ppc.rpm
freetype2-2.3.9-1.aix5.2.ppc.rpm
gettext-0.10.40-6.aix5.1.ppc.rpm
glib2-2.12.4-2.aix5.2.ppc.rpm
gtk2-2.10.6-4.aix5.2.ppc.rpm
libjpeg-6b-6.aix5.1.ppc.rpm
libpng-1.2.32-2.aix5.2.ppc.rpm
libtiff-3.8.2-1.aix5.2.ppc.rpm
pango-1.14.5-4.aix5.2.ppc.rpm
pixman-0.12.0-3.aix5.2.ppc.rpm
xcursor-1.1.7-3.aix5.2.ppc.rpm
xft-2.1.6-5.aix5.1.ppc.rpm
xrender-0.9.1-3.aix5.2.ppc.rpm
zlib-1.2.3-3.aix5.1.ppc.rpm

The installed RPMs must be of the minimum versions listed above.

To install the RPM versions specified above take the following steps:

  1. Download the latest version of the gtk2_bundle_<version>.tar package containing all the RPMs and the install script to a new directory.
  2. Decompress the tar file. You can use the command
    tar -xvf gtk2_bundle_<version>.tar to decompress the file.
  3. Open the decompressed directory gtk2_bundle_<version> and run the install.sh script.
    The script will check if the required RPMs are installed at the compatible level. If they are not, the script will prompt to install the compatible versions.
  4. Verify the environment variable LIBPATH contains a path to the installed libraries.
    For example LIBPATH=/opt/freeware/lib/
Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Remove a WebSphere Application Server Profile on AIX

WebSphere Application ServerThere may be times when you need to remove a WebSphere deployment manager, node, or application server profile. I have successfully used the following steps in versions 7 and 8 of WebSphere.

  • Stop the deployment managers, nodes, or application servers that are associated with the profile that you want to remove
  • List all profiles on a server:
    [was_install_dir]/bin/manageprofiles.sh –listProfiles
  • Remove a WebSphere Application Server profile:
    [was_install_dir]/bin/manageprofiles.sh –delete –profileName profile
  • Ensure that references to the deleted profile are removed from the profile registry:
    [was_install_dir]/bin/manageprofiles.sh –validateAndUpdateRegistry
  • Delete the profile directory tree (if it was not deleted by the previous action):
    [was_install_dir]/profiles/rm -r profile
Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

xauth: error in locking authority file

xauthI logged into an AIX LPAR this morning, and I was greeted with the following error:

$ssh server
fred@servers’s password:
Last login: Mon Feb 9 08:11:52 2015 from 0.0.0.100
/usr/bin/xauth: error in locking authority file /home/fred/.Xauthority

I had seen this error in the past, but never took the time to research how to fix the problem. Apparently what was happening is that the .Xauthority file could not be locked because there was an existing lock on the file. I used a ls -la command in my home directory, and sure enough there were two lock files present:

-rw------- 1  fred admin 0 Feb 9 08:11 /home/fred/.Xauthority-c
-rw------- 1  fred admin 0 Feb 9 08:11 /home/fred/.Xauthority-l

The simple solution was to delete these two files using the rm command and the error has not returned in subsequent logins.

More information about x-windows on AIX can be found at IBM developerWorks.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Apache Error – (13)Permission Denied: Make_sock

ApacheI ran into an error two years ago and I’m finally getting around to sharing the error and solution.  Another system administrator had installed an Apache web server on one of my AIX boxes and I wanted to fire it up and begin development.  Here is what happened:

$ ./apachectl start

(13)Permission denied: make_sock: could not bind to address [::]:80

(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

 A Bing search (trying to wean myself off of Google) quickly uncovered the issue. In Unix / Linux, only privileged users (primarily root) are allow to bind the ports between 1 to 1024.  My Apache web server was configured to run on the default http port of 80, so my user ID did not have permission to start the web server. I do have sudo privileges however, so it was easy enough to resolve this issue:

$ sudo ./apachectl start

Now I’m up and running!  But there is another way around this. I can edit the httpd.conf configuration file and edit the Listen attribute to specify a port above 1024:

# Listen: Allows you to bind the web server to specific IP addresses
# and/or ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent the web server from accepting connections on all interfaces
# (0.0.0.0)
#
# Change this to "Listen 0.0.0.0:port" to restrict the server to
# IPv4.
#
#Listen 12.34.56.78:80
Listen 80

If I were to change the configuration, I would probably assign 8080 because it typically is not used by any other processes and it is easy to remember like the default http port number.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Clearing a Print Queue Backlog in AIX

We have a z/OS application that streams data down to our AIX-based POWER7 server. On the server, we have a SAS application that turns the stream into a PDF document and sends the PDF to a printer which is specified by the user on the z/OS application. Many of the printers that are assigned to the z/OS application have been decommissioned, yet the end users continue to send print jobs to them. This dynamic requires us to do quarterly housekeeping on the z/OS and AIX environments to keep active printers current.

During the quarter, however, end users will inadvertently send print jobs to printers that don’t exist anymore, so the AIX server creates a backlog of orphaned print jobs over time. Below are the steps to clean up the backlog. I originally found these steps on IBM’s web site.

You must be logged in as root or as a user with sudo access.

  1. If possible, let all current print jobs finish printing or cancel them. To cancel a print job, issue the lpstat command to get the print job number, then use the enq command to cancel the print job.

    enq -x JobNumber

    The lpstat command displays information about the current status of the line printer. The enq command enqueues a file.

  2. Issue the following command to stop qdaemon:

    stopsrc -s qdaemon

  3. Issue the following commands to verify that qdaemon did not fork other processes:

    ps -ef | grep qdaemon
    ps -ef | grep pio

    The ps command shows the current status of processes. The grep command searches a file for a pattern. If you get one line back from each of the above grep commands, skip step 4 and go to step 5. If you get more than one line, go to step 5.

  4. If other qdaemons or pios were returned by the ps -ef command, kill these processes by issuing the following command with each process ID:

    kill -9 pid

    The following example shows a qdaemon returned by ps -ef. The process ID is 3357.

    root 3357 2288 0 13:32:21 - 0:04 dtterm

    To kill this process ID, enter kill -9 3357 at the command line.

  5. Change the directory as follows:

    cd /var/spool/lpd/qdir

  6. Issue a pwd command to verify that you are in the proper directory. Then, remove all files in this directory using the rm command:

    rm *

    The pwd command writes to standard output the full path name of your current directory (from the root directory). The rm command removes the entries for the specified file or files from a directory.

  7. Change the directory again:

    cd /var/spool/lpd/stat

  8. Issue a pwd command to verify that you are in the proper directory. Then, remove all files in this directory:

    rm *

  9. Change the directory again:

    cd /var/spool/qdaemon

  10. Issue a pwd command to verify that you are in the proper directory. Then, remove all files in this directory:

    rm *

  11. Follow this step if you are having trouble with the remote queue or lpd. Change the directory:

    cd /var/spool/lpd

  12. Issue a pwd to verify that you are in the proper directory. Then, remove all files in this directory using the rm command:

    rm *

    Note: The rm command will not remove the subdirectories.

  13. Start qdaemon:

    startsrc -s qdaemon

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

© 2017 Technoleros

Theme by Anders NorénUp ↑