Installation problem: "xairy.out: command not found"


bill
04-22-2006, 11:45 PM
Hi,

I'm trying to install C++ recipes on a Linux machine. The only change I've made to the makefile is to change "CC" to "g++". When I run make, I get:

/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/dates1.dat dates1.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/fncval.dat fncval.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/matrx1.dat matrx1.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/matrx2.dat matrx2.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/matrx3.dat matrx3.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/spctrl.dat spctrl.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/table1.dat table1.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/table2.dat table2.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/tarray.dat tarray.dat/bin/cp /usr/local/numerical-recipes/recipes_cpp/demo/data/text.dat text.dat
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/demo/src/xairy.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/airy.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/bessik.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/bessjy.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/beschb.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/chebev.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -o xairy.out xairy.o airy.o bessik.o bessjy.o beschb.o chebev.o -lm
xairy.out > xairy.reslt && \
/usr/local/numerical-recipes/recipes_cpp/utils/nrdiff.pl xairy.reslt /usr/local/numerical-recipes/recipes_cpp/demo/answers
/bin/sh: line 1: xairy.out: command not found
make: *** [xairy.reslt] Error 127

These files are created:

airy.o chebev.o matrx1.dat table1.dat xairy.o
beschb.o dates1.dat matrx2.dat table2.dat xairy.out
bessik.o fncval.dat matrx3.dat tarray.dat xairy.reslt
bessjy.o spctrl.dat text.dat

Then if I run make again, it goes a little further:

g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/demo/src/xamebsa.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/amebsa.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/amotsa.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -c /usr/local/numerical-recipes/recipes_cpp/recipes/ran1.cpp
g++ -I/usr/local/numerical-recipes/recipes_cpp/utils -I. -o xamebsa.out xamebsa.o amebsa.o amotsa.o ran1.o -lm
xamebsa.out < /usr/local/numerical-recipes/recipes_cpp/demo/responses/xamebsa.resp > xamebsa.reslt && \
/usr/local/numerical-recipes/recipes_cpp/utils/nrdiff.pl xamebsa.reslt /usr/local/numerical-recipes/recipes_cpp/demo/answers
/bin/sh: line 1: xamebsa.out: command not found
make: *** [xamebsa.reslt] Error 127

Do you have any idea what's going on?

Many thanks,
Bill

Saul Teukolsky
04-23-2006, 02:07 PM
Dear Bill,

The makefile is correctly creating the executable test program, xairy.out (which is the first one). However, it looks like your system won't execute a program simply by giving its name. Test this by typing
xairy.out
in the directory where the file is.

If the command
./xairy.out
works, you can either change the settings on your system to allow the first form of command to execute, or you can edit the makefile. You will have to change every line that looks like
xairy.out > xairy.reslt && \
to
./xairy.out > xairy.reslt && \

Best wishes,
Saul Teukolsky

bill
04-23-2006, 03:54 PM
Yep, that was the problem.
Many thanks,
Bill