Results 1 to 10 of 18
Hello everyone
I'm trying to run a software that is installed on a server and everyone runs it from there just by typing its name (which is shake, a 2D ...
- 02-01-2010 #1Linux User
- Join Date
- Jul 2007
- Location
- Greece
- Posts
- 277
remote program execution
Hello everyone
I'm trying to run a software that is installed on a server and everyone runs it from there just by typing its name (which is shake, a 2D compositing software)
There is a wrapper script written on the server that allows every host to run the program(sw/wrappers/shake*).
My problem is that I have upgraded one machine to fedora 11 and when I type shake I get the following error: /sw/pkg/shake/shake-v4.10.0606/bin.skkx.exe: Command not found
As far as I know this error means that the program is either not installed or the relative directory is not included in the $PATH. If I do echo $PATH I can see /sw/wrappers/ directory.
I'm a bit confused why it looks to run the software from /sw/pkg/shake/shake-v4.10.0606/bin.skkx.exe and not from sw/wrappers/shake*?
Please if you have any suggestions let me know.
Thanks a lotOne Love!!!
- 02-01-2010 #2Linux User
- Join Date
- Jul 2007
- Location
- Greece
- Posts
- 277
I can't figure this out.
I'm reinstalling fedora 11 hoping it would solve my problem.One Love!!!
- 02-01-2010 #3Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 8,974
If your PATH environment is set correctly, then it is possible that upgrading the operating system has changed the permissions on the executables and/or scripts, or the executable bin.skkx.exe has been moved, removed, or something. My guess is that the wrapper version of shake is trying to run the one in /sw/pkg/shake/shake-v4.10.0606/bin.skkx.exe and that's where the problem is.
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!
- 02-02-2010 #4
That's my guess too.
Have you looked through /sw/pkg/shake/ to see what's there? Is there more than one version directory?
Also, are you sure which shake script is running? If there are two scripts in different directories, then the order of the directories in the PATH determine which one is executed. Maybe someone copied an old version of the script to a local directory which is being executed instead of the current one on the server.
Try this command:If that doesn't solve it, try searching for various exe files:Code:type -a shake
Code:find /sw/pkg/shake -name '*.exe'
- 02-02-2010 #5Linux User
- Join Date
- Jul 2007
- Location
- Greece
- Posts
- 277
Thank you for your replies.
Yes there is more than one shake version directory in /sw/pkg/shake Here they are:
1) /sw/pkg/shake/shake-v4.10.0606
2) /sw/pkg/shake/shake-v4.00.0607
Also there is only one wrapper script for shake. I can't see any other scripts with that name.
The wrapper is referring to shake in only one line which is:
But instead of running shake, is trying to run shkx.exe which is not defined anywhere in the wrapper.Code:exec /sw/pkg/shake/shake-v4.10.0606/bin/shake"$@"
The output ofisCode:type -a shake
Output ofCode:shake is /sw/wrappers/shake
isCode:find /sw/pkg/shake -name '*.exe'
There is a file called shake in both shake versions directories but it doesn't end in .exe it is just called shake.Code:/sw/pkg/shake/shake-v4.00.0607/bin/shkv.exe /sw/pkg/shake/shake-v4.00.0607/bin/shkx.exe /sw/pkg/shake/shake-v4.00.0607/bin/tshkx.exe /sw/pkg/shake/shake-v4.10.0606/bin/shkv.exe /sw/pkg/shake/shake-v4.10.0606/bin/shkx.exe /sw/pkg/shake/shake-v4.10.0606/bin/tshkx.exe
When I cat that shake file in /sw/pkg/shake/shake-v4.10.0606/bin/ I can see the lineI guess this is what is trying to run when I type shake but it shouldn't.Code:exec ${NR_SHAKE_LOCATION}/bin/shkx.exe $arqv:q
Mylooks like this:Code:echo $PATH
Code:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib64/ccache:/home/goude/bin/scripts:/sw/wrappers:/sw/scripts:/sw/bin:/usr/local/bin:/usr/X11R6/bin:/bin:/sbin: /opt/gnome/bin:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
One Love!!!
- 02-03-2010 #6
I think I see.
You run shake, which calls /sw/wrappers/shake, which calls /sw/pkg/shake/shake-v4.10.0606/bin/shake, which calls ${NR_SHAKE_LOCATION}/bin/shkx.exe.
So how is NR_SHAKE_LOCATION defined? If you can't find it, try this:Code:grep NR_SHAKE_LOCATION /etc/profile.d/*.sh
- 02-03-2010 #7Linux User
- Join Date
- Jul 2007
- Location
- Greece
- Posts
- 277
outputs nothing.Code:grep NR_SHAKE_LOCATION /etc/profile.d/*.sh
Here is the shake script in /sw/pkg/shake/shake-v4.10.0606/bin/shake
I don't see NR_SHAKE_LOCATION defined anywhere.Code:#!/bin/csh -f # set env var, NR_SHAKE_LOCATION if not set # if ${?NR_SHAKE_LOCATION} == 0 then pushd `dirname $0` >& /dev/null setenv NR_SHAKE_LOCATION `dirname ${cwd}`; popd >& /dev/null endif # set env var, LD_LIBRARYN32_PATH # if ${?LD_LIBRARYN32_PATH} then setenv LD_LIBRARYN32_PATH ${NR_SHAKE_LOCATION}/lib:${LD_LIBRARYN32_PATH}; else setenv LD_LIBRARYN32_PATH ${NR_SHAKE_LOCATION}/lib; endif # set env var, LD_LIBRARY_PATH if ${?LD_LIBRARY_PATH} then setenv LD_LIBRARY_PATH ${NR_SHAKE_LOCATION}/lib:${LD_LIBRARY_PATH}:/usr/lib; else setenv LD_LIBRARY_PATH ${NR_SHAKE_LOCATION}/lib:/usr/lib; endif # launch shake exec ${NR_SHAKE_LOCATION}/bin/shkx.exe $argv:q #echo NR_SHAKE_LOCATION = ${NR_SHAKE_LOCATION}; #echo LD_LIBRARYN32_PATH = ${LD_LIBRARYN32_PATH}; #echo LD_LIBRARY_PATH = ${LD_LIBRARY_PATH};One Love!!!
- 02-03-2010 #8Just Joined!
- Join Date
- Mar 2006
- Posts
- 29
The NR_SHAKE_LOCATION in defined based on the name of the script if it wasn't defined earlier (the first part of the script).
Your problem lies in the wrapper script.
Can you send the contents of the wrapper script ?
- 02-03-2010 #9Linux User
- Join Date
- Jul 2007
- Location
- Greece
- Posts
- 277
Here is the /sw/wrappers/shake script:
Hope it helps.Code:#!/bin/bash #path including shake settings, icons etc S_PATH=/sw/pkg/shake-ls if [[ $1 == "-nojob" ]] ; then export JOB="NOJOB" shift fi LOCATION=/sw/pkg/shake/shake-v4.10.0606 export NR_INCLUDE_PATH=${NR_INCLUDE_PATH}:\ ${S_PATH}/include:\ export NR_ICON_PATH=${NR_ICON_PATH}:\ ${S_PATH}/icons:\ export NR_FONT_PATH=${S_PATH}/fonts export LICENSE_FILE=@bigboy exec $LOCATION/bin/shake "$@"One Love!!!
- 02-06-2010 #10Just Joined!
- Join Date
- Mar 2006
- Posts
- 29
Just for checking, is csh installed ?
Also in you wrapper script there are trailing backslashes here :
and here :Code:export NR_INCLUDE_PATH=${NR_INCLUDE_PATH}:\ ${S_PATH}/include:\
Also note that, if NR_INCLUDE_PATH isn't defined at the start of the script you'll have a leading colon which might give a bad behaviour.Code:export NR_ICON_PATH=${NR_ICON_PATH}:\ ${S_PATH}/icons:\
/End checking
I have noticed in your first post that something (a script or a binary) wants to launch /sw/pkg/shake/shake-v4.10.0606/bin.skkx.exe, and in your 3rd comment you did search all the '*.exe' files and there isn't any file named bin.skkx.exe nor skkx.exe around there.
To better debug your scripts, i would add in the /sw/wrappers/shake script :
just after the #!/bin/bash (you'll need to comment it after terminate debugging)Code:set -x
and change :
toCode:#!/bin/csh -f
in the /sw/pkg/shake/shake-v4.10.0606/bin/shakeCode:#!/bin/csh -xf
to see if any of the scripts make any wrong substitution.
Hope that helps


Reply With Quote
