When names collide

Strange results reported . . .

rule

space ship & asteroids
by Tom Parker


Contents

Search

Index

Home

Subscribe

ConsultWeb

SCD

Several users have reported some strange results when trying to run their executables on SCD Crays and other computers. This is often due to "name collisions" between the user's executable and system commands by the same name.

For example, on the Cray, one user did something like this:

  f90 -o cld cld.f
  cld

but got strange messages such as: "CRAY-YMP not supported."

It turns out there is a system routine called cld (Cray Loader). And because most users have the "." at the end of their execution path (a recommended practice, for security reasons), the system finds this other cld ahead of the user's cld.

One easy way around this is to point directly to the executable. For instance:

  ./cld

Similarly, on winterpark, a user had:

  program test
  print *,'hello world'
  end

and did:

  f90 -o test -mips4 -64 test.f
  test

but got no output. Here again the reason was a name collision, as there is a system routine called test (in /bin/test). The solution:

  ./test

How can you be sure there is not another command by the same name as yours? If you're a csh user, you can type which xxxx, where xxxx is the name you're looking for. If you're a ksh user, you can type whence xxxx.

If you always give the pathname of your executable, you will avoid this problem as well.

rule

Contents || Search || Index || Home || Subscribe || ConsultWeb || SCD