Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
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 ...
  1. #1
    Linux 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 lot
    One Love!!!

  2. #2
    Linux 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!!!

  3. #3
    Linux Guru Rubberman's Avatar
    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!

  4. #4
    Linux Enthusiast KenJackson's Avatar
    Join Date
    Jun 2006
    Location
    Maryland, USA
    Posts
    506
    Quote Originally Posted by Rubberman View Post
    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 ...
    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:
    Code:
    type -a shake
    If that doesn't solve it, try searching for various exe files:
    Code:
    find /sw/pkg/shake -name '*.exe'

  5. #5
    Linux 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:

    Code:
    exec /sw/pkg/shake/shake-v4.10.0606/bin/shake"$@"
    But instead of running shake, is trying to run shkx.exe which is not defined anywhere in the wrapper.

    The output of
    Code:
    type -a shake
    is
    Code:
    shake is /sw/wrappers/shake
    Output of
    Code:
    find /sw/pkg/shake -name '*.exe'
    is
    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
    There is a file called shake in both shake versions directories but it doesn't end in .exe it is just called shake.

    When I cat that shake file in /sw/pkg/shake/shake-v4.10.0606/bin/ I can see the line
    Code:
    exec ${NR_SHAKE_LOCATION}/bin/shkx.exe $arqv:q
    I guess this is what is trying to run when I type shake but it shouldn't.

    My
    Code:
    echo $PATH
    looks like this:

    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!!!

  6. #6
    Linux Enthusiast KenJackson's Avatar
    Join Date
    Jun 2006
    Location
    Maryland, USA
    Posts
    506
    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

  7. #7
    Linux User
    Join Date
    Jul 2007
    Location
    Greece
    Posts
    277
    Code:
    grep NR_SHAKE_LOCATION /etc/profile.d/*.sh
    outputs nothing.

    Here is the shake script in /sw/pkg/shake/shake-v4.10.0606/bin/shake
    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};
    I don't see NR_SHAKE_LOCATION defined anywhere.
    One Love!!!

  8. #8
    Just 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 ?

  9. #9
    Linux User
    Join Date
    Jul 2007
    Location
    Greece
    Posts
    277
    Here is the /sw/wrappers/shake script:

    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 "$@"
    Hope it helps.
    One Love!!!

  10. #10
    Just Joined!
    Join Date
    Mar 2006
    Posts
    29
    Just for checking, is csh installed ?
    Also in you wrapper script there are trailing backslashes here :
    Code:
    export NR_INCLUDE_PATH=${NR_INCLUDE_PATH}:\
    ${S_PATH}/include:\
    and here :
    Code:
    export NR_ICON_PATH=${NR_ICON_PATH}:\
    ${S_PATH}/icons:\
    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.
    /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 :
    Code:
    set -x
    just after the #!/bin/bash (you'll need to comment it after terminate debugging)
    and change :
    Code:
    #!/bin/csh -f
    to
    Code:
    #!/bin/csh -xf
    in the /sw/pkg/shake/shake-v4.10.0606/bin/shake
    to see if any of the scripts make any wrong substitution.
    Hope that helps

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...