I can't run Purify. Either when I compile or when I run my program, I get all sorts of unfriendly messages about not being able to write into a read-only file system. What's the problem?

Answer Posted / chaitanya

Purify has to instrument all of the libraries that are linked with your program as well as the program itself (so it can catch errors that occur in the library code that might have been caused by the application). Normally, these instrumented libraries are cached in the Purify installation directory. The problem is that if you use a library that isn't already instrumented, Purify tries to instrument it for you. Since you can't write to that directory, Purify fails.

To get around this, you can change where Purify caches the libraries. Add the option -cache-dir=/tmp to your Purify command line in the Makefile; for example:

ftpcopy.purify: ftpcopy.o

purify -cache-dir=/tmp gcc -o ftpcopy.purify ftpcopy.o

This will cause your compilation to be a little slower the first time around since it has to re-instrument all of the libraries you link again. However, it will solve the problem.

Also, please copy the error messages you originally got into an e-mail message to your TA. This allows us to let the Leland maintainers know what libraries need to be in the system cache directory.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

DEVOPS comes under which categories?

722