Getting error when instrumenting a C program with Purify

When I use this command:

purify gcc -g hello_world.c

to instrument a C program with Purify, I get this error :

Purify engine:Error: The /usr/lib/syscalls.imp file either does not exist or has incorrect permissions.You may need to install bos.adt.syscalls

I understand that I need to install that package but I don't know how to do it, I look for it on the net and I found out that I have to use 'suma' (Service Updates Management Assistant)
Can any one help me to work with it ?
I'm on AIX 5.3
Thanks in advance :slight_smile:

Do...

ls -l /usr/lib/syscalls.imp

and...

lslpp -l bos.adt.syscalls

post results

1 Like

You don't. SUMA will just help you download all the necessary dependencies, but you do not need it to install any software.

This is going to be a problem because it is out of support for ~2 years now. If you do not have a software repository yourself it might be impossible to download base-level filesets. (I haven't tried any 5.3 fileset for quite a while, not sure if they are still downloadable.)

Have you considered updating to 6.1 or 7.1 ?

I hope this helps.

bakunin

1 Like

Hi blackrageous :slight_smile: Thanks for your answer

when I try the first command I got this message :

/usr/lib/syscalls.imp not found

the second one displays this result:

lslpp : Fileset bos.adt.syscalls not installed

any idea ?

---------- Post updated at 03:45 AM ---------- Previous update was at 03:37 AM ----------

Thank you bakunin :slight_smile:

I didn't mention that I'm so new to this environement, I begin working on AIX last week :smiley:

Could you give me a link or something to help me to improve my level on it, and discovering how to update to 6.1 or 7.1 ? (the company I'm working for, use AIX 5.3 for years ago, updating to 6.1 or 7.1 will be a simple operation ? )

OK, I'll explain more detailed what i mean.

This probably explains it. If you have a NIM-Server (i have written a short introduction to this, have a look at the pinned threads here) in your company you might find this package there. If you do and if your system is configured to be a NIM-client to this server you can do a "smitty nim" and select "Install Software" from the menu, then select this package and there you go. Basically NIM is a software repository (-server) in the AIX environment.

In principle: yes, updating is a simple operation. But being completely new to the environment perhaps any simple operation is complicated, so you should stay away from this or let someone experienced do it. You might have to take into account some software or hardware-quirks your environment has, etc., etc.. Nobody can tell you all the necessary things to watch out for over the net, so i do not even try. (Sorry, but as much as I'd like to help i can't press the experience of 25 years AIX into a few lines here.)

My advice is to get professional support and - no offense - let that do someone who is qualified.

I hope this helps.

bakunin

1 Like

Hi Bakunin and thanks a lot for all these informations :slight_smile:

Seeing that we don't have a NIM-Server, I looked for the fileset bos.adt.syscalls and I tried to install bos.adt.syscalls.5.3.0.40 via this command:

/usr/lib/instl/sm_inst installp_cmd -a -Q -d '/home/andre/packages' -f '_all_latest'  '-c'  '-g' '-X' '-G' '-V 2' '-Y'

but it didn't work, it gives this result :

+-----------------------------------------------------------------------------+
                    Pre-installation Verification...
+-----------------------------------------------------------------------------+
Verifying selections...done
Verifying requisites...done
Results...

FAILURES
--------
  Filesets listed in this section failed pre-installation verification
  and will not be installed.
  
  Requisite Failures  
------------------
  SELECTED FILESETS:  The following is a list of filesets that you asked to
  install.  They cannot be installed until all of their requisite filesets
  are also installed.  See subsequent lists for details of requisites. 
.........   
.........
  MISSING REQUISITES:  The following filesets are required by one or more
  of the selected filesets listed above.  They are not currently installed
  and could not be found on the installation media.
  
    bos.adt.syscalls.5.3.0.0                      # Base Level Fileset

Is there any link where I can get: bos.adt.syscalls.5.3.0.0 ? because I already checked with FIX CENTRAL, It's having 5.3.0.10
Thanks in advance

That is a common error: you need the base-level fileset to be able to install any updates. This makes sure that you can't do anything with the freely available updates if you do not have the (licensed) original disk(s).

It is quite simple: get a licensed version of AIX 5.3 (chances are it is floating around somewhere in your company, because it is part of the delivery when you purchase a system) and install the base-level fileset (5.3.0.0), then update it with whatever you download from FIX CENTRAL.

If you have purchased support for your system it might suffice to simply talk to your IBM representative. He might give you an AIX install CD just like that (that is the case in big IBM shops, i don't know how important a customer your company is).

I hope this helps.

bakunin

1 Like

Hi Bakunin :slight_smile: still saying thanks for taking time to reply...
I'm working at a multinational company and AIX is installed on a server in other country, I'm accessing via telnet, so I have to ask them to install the base level fileset for me or there is other solution that I can do it myself ?

Yes, that seems to be the most feasible solution. Most probably the medium with the filesets lurks around somewhere near the physical location of the system anyways.

Hardly. First off, installing software requires to be "root". I haven't asked, but you might not be allowed to become root given the circumstances.

If you can become root they do not have to install the software, just mount the media so that you can access it. In this case you can install it yourself:

1) change into the directory the packages reside in. The directory has to be writeable, otherwise copy the packages somewhere else.

2) create a contents-file:

inutoc .

This creates a content-file in the current directory named ".toc". It is clear-text, but an somewhat awkward format. There is documentation about what means what on the net.

3) start SMIT to install the packages

smitty install_all

This brings up a screen with the question where to install from. Enter "." (current directory) and in the upcoming screen select the packages (use PF4 to create/select from a list).

After finishing your installation you can delete the package-files and the .toc-file.

I hope this helps.

bakunin

1 Like

Hi Bakunin and Sorry for being late to reply ...
Thanks a lot, you make things clear for me, but I wasn't able to contact them so the project manager gave me access to 6.1 version of AIX ... I'm trying to install the fileset: bos.adt.syscalls.5.3.0.40 there, by this command :

/usr/lib/instl/sm_inst installp_cmd -a -Q -d 'test' -f '_all_latest'  '-c'  '-g' '-X' '-G' '-V 2' '-Y'

test=the directory which contains the fileset
But I'm getting this error :

Input device or directory does not exist

Any suggestion? I can't pinpoint the error's source

As a wild guess, change -d 'test' to specify a full pathname for the directory; not just the final component of the directory.

I tried the full pathname but it didn't work , it gave the same error ..