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? 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. Oct 2, 2015 at 11:14
  • LOL. I see you solved it that way a couple of seconds before I suggested it. Nice. 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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .