4

I have an executable paraview in the directory ~/software/Para/bin/ and I want to create a soft link in my home directory. I have tried like this but could not succeed.

sudo ln -s ~/software/Para/bin/paraview para123;

A soft link was created with this command but its not running my application. The same was happened for

sudo ln -s ./software/Para/bin/paraview para123

and also tried this

 ln -s "/home/niyaa/software/ParaView-4.3.1-Linux-64bit/bin/paraview" para123

The error is

Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory 
5
  • All approaches should work and if you replace paraview with a simple executable mock such as a scriptfile containing echo hello world you should see they do work. The problem must be somewhere else. What errors does it give? What is $? after you run the ./para123 link from $HOME?
    – PSkocik
    Oct 2, 2015 at 10:46
  • Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory Oct 2, 2015 at 11:10
  • thanks i make bash script in my home folder its start working.. now i am curious about the soft link that how to done it that way. Oct 2, 2015 at 11:13
  • There's your problem right there. Paraview is trying to load a library and it's resolving the library's path relative to the executable. The problem is, it looks liek ./para123 is the executable now, ant there's no ./../lib/paraview-4-3 relative to it. If you don't want to modify the paraview package, what you might want to do is forget about symlinks for now and instead use a simple script that runs the original paraview executable.
    – PSkocik
    Oct 2, 2015 at 11:14
  • LOL. I see you solved it that way a couple of seconds before I suggested it. Nice.
    – PSkocik
    Oct 2, 2015 at 11:15

1 Answer 1

2

With the information in the comments to the question, one of the following may be an adequate solution.

  1. Use an alias:

    alias para123="$HOME/software/Para/bin/paraview"
    
  2. Use a shell function:

    para123 () { "$HOME/software/Para/bin/paraview" "$@"; }
    
  3. Use a shell script (called para123):

    #!/bin/sh
    
    "$HOME/software/Para/bin/paraview" "$@"
    
1
  • Option 2 coded in a .bashrc file worked well for me. I used the formulation parawhat () { <path to paraview executable> "$@" &> /dev/null & } to suppress stdout and sterr streams and send the job to the background. Dec 4, 2018 at 13:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.