Solved

Bash problem on AIX 6.1

Posted on 2010-08-18
4
4,383 Views
Last Modified: 2013-12-21
I installed bash 4.0 on an updated to the latest SP & TL new AIX 6.1 machine.
but when a local user try to run bash he get this:
exec(): 0509-036 Cannot load program bash because of the following errors:
        0509-022 Cannot load module /opt/pware/lib/libintl.a(libintl.so.8).
        0509-150   Dependent module /usr/lib/libiconv.a(libiconv.so.2) could not be loaded.
        0509-152   Member libiconv.so.2 is not found in archive
        0509-022 Cannot load module bash.
        0509-150   Dependent module /opt/pware/lib/libintl.a(libintl.so.8) could not be loaded.
        0509-022 Cannot load module .


The initial shell for the user is ksh, and it is imperative that it will stay this way.
I created another user for test with the same shell (ksh) and the same group membership, but this new user can run bash without any problems.
Any idea?

Thanks,

Tal
0
Comment
Question by:questil
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 2

Accepted Solution

by:
uscshaggy earned 500 total points
ID: 33472311
Check if those libraries exist in those paths and check that the user has permission to read those files.  If not in the path, you just need to update the search path, which I believe is the LD_LIBRARY_PATH env variable.  For permissions, be sure to check for ACLs, not just base permissions, using aclget command.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 33472606
Hi,
the standard iconv library which comes with AIX (bos.rte.iconv) is an "IBM style" shared library and doesn't contain members such as "libiconv.so.2", but only "shr4_o" and "shr4_64.o".
To get a "GNU-style" library you should install the rpm found e.g. here - http://www.perzl.org/aix/index.php?n=Main.Libiconv.
Take care to have /opt/freeware/lib in your LIBPATH. Maybe you have the above library already and it's only the LIBPATH which is missing/incomplete?
wmp
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 33472673
... another possibility - use /usr/lib/libintl.a (actually a link to /opt/freeware/lib/libintl.a) instead of /opt/pware/lib/libintl.a which means that you should not have /opt/pware/lib in your LIBPATH.
If you don't have /usr/lib/libintl.a or if it's the wrong version (re)install gettext (which libintl.a is part of) e.g. from here - http://www.perzl.org/aix/index.php?n=Main.Gettext
Finally, one more thing - use bash from http://www.perzl.org/aix/index.php?n=Main.Bash instead of the Pware version. It works with the "AIX-style"  /usr/lib/libiconv.a without a problem.
0
 

Author Comment

by:questil
ID: 33472699
Thanks uscshaggy, the was only the path, so I added to ~.profile this line:
export LIBPATH=/opt/pware/lib:${LIBPATH}

Thanks!
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Let's say you need to move the data of a file system from one partition to another. This generally involves dismounting the file system, backing it up to tapes, and restoring it to a new partition. You may also copy the file system from one place to…
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question