A program doesn't work when invoked through a symbolic link











up vote
3
down vote

favorite












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 









share|improve this question
























  • 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 '15 at 10:46












  • Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory
    – user3383404
    Oct 2 '15 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.
    – user3383404
    Oct 2 '15 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 '15 at 11:14










  • LOL. I see you solved it that way a couple of seconds before I suggested it. Nice.
    – PSkocik
    Oct 2 '15 at 11:15















up vote
3
down vote

favorite












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 









share|improve this question
























  • 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 '15 at 10:46












  • Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory
    – user3383404
    Oct 2 '15 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.
    – user3383404
    Oct 2 '15 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 '15 at 11:14










  • LOL. I see you solved it that way a couple of seconds before I suggested it. Nice.
    – PSkocik
    Oct 2 '15 at 11:15













up vote
3
down vote

favorite









up vote
3
down vote

favorite











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 









share|improve this question















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 






symlink executable






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Oct 2 '15 at 22:15









Gilles

524k12610481578




524k12610481578










asked Oct 2 '15 at 10:35









user3383404

183




183












  • 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 '15 at 10:46












  • Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory
    – user3383404
    Oct 2 '15 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.
    – user3383404
    Oct 2 '15 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 '15 at 11:14










  • LOL. I see you solved it that way a couple of seconds before I suggested it. Nice.
    – PSkocik
    Oct 2 '15 at 11:15


















  • 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 '15 at 10:46












  • Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory
    – user3383404
    Oct 2 '15 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.
    – user3383404
    Oct 2 '15 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 '15 at 11:14










  • LOL. I see you solved it that way a couple of seconds before I suggested it. Nice.
    – PSkocik
    Oct 2 '15 at 11:15
















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 '15 at 10:46






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 '15 at 10:46














Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory
– user3383404
Oct 2 '15 at 11:10




Error converting runtime path entry "./../lib/paraview-4.3" to real path: No such file or directory
– user3383404
Oct 2 '15 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.
– user3383404
Oct 2 '15 at 11:13






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.
– user3383404
Oct 2 '15 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 '15 at 11:14




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 '15 at 11:14












LOL. I see you solved it that way a couple of seconds before I suggested it. Nice.
– PSkocik
Oct 2 '15 at 11:15




LOL. I see you solved it that way a couple of seconds before I suggested it. Nice.
– PSkocik
Oct 2 '15 at 11:15










1 Answer
1






active

oldest

votes

















up vote
2
down vote













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" "$@"







share|improve this answer























  • 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.
    – XavierStuvw
    Dec 4 at 13:06













Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f233466%2fa-program-doesnt-work-when-invoked-through-a-symbolic-link%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote













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" "$@"







share|improve this answer























  • 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.
    – XavierStuvw
    Dec 4 at 13:06

















up vote
2
down vote













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" "$@"







share|improve this answer























  • 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.
    – XavierStuvw
    Dec 4 at 13:06















up vote
2
down vote










up vote
2
down vote









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" "$@"







share|improve this answer














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" "$@"








share|improve this answer














share|improve this answer



share|improve this answer








edited Dec 4 at 13:29

























answered Feb 15 '17 at 18:37









Kusalananda

119k16223364




119k16223364












  • 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.
    – XavierStuvw
    Dec 4 at 13:06




















  • 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.
    – XavierStuvw
    Dec 4 at 13:06


















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.
– XavierStuvw
Dec 4 at 13:06






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.
– XavierStuvw
Dec 4 at 13:06




















draft saved

draft discarded




















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f233466%2fa-program-doesnt-work-when-invoked-through-a-symbolic-link%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Accessing regular linux commands in Huawei's Dopra Linux

Can't connect RFCOMM socket: Host is down

Kernel panic - not syncing: Fatal Exception in Interrupt