Hi Roger —

I think you're right that, at present, most/all of our launchers (the 'tocartesian' binary in your example) do not search the user's path when looking for their '_real' counterparts, but rather use the same relative path that was used to launch the binary itself. You can see what the launcher binary is attempting to do by adding the `--verbose` flag, which ought to show (among other things) the command being used to launch the program. For example on my system:

        tryit/hello -nl 2 --verbose

results in:


        
.../third-party/gasnet/install/darwin-x86_64-native-clang-none/substrate-udp/seg-everything/bin/amudprun
        -np 2 tryit/hello_real -nl 2 --verbose

So one way to work around it _might_ be to replace tocartesian with your own version of a launcher script that invoked what was necessary to get the program up and running, passing along all other user command-line options. This would work, though it would lose some of the other benefits of the launcher program, like checking for obvious errors in the command line argument parsing.

I think it also would be reasonable to suggest that, as a fallback perhaps when the current behavior fails, the launcher binary should search the path for the _real binary rather than giving up after not finding it in the same directory. If you want to propose this, I'd suggest opening up a feature request issue on our GitHub page:

        https://github.com/chapel-lang/chapel/issues

Hope this is helpful,
-Brad



Brad Chamberlain  Principal Engineer
Cray, a Hewlett Packard Enterprise company
901 Fifth Ave, Suite 1000 | Seattle, WA 98164
+1-206-701-2077  [email protected]  www.cray.com


On Wed, 8 Apr 2020, Roger Mason wrote:

Hello,

I have a program that works when called thus:

tocartesian -nl 1 --a 4.916 --b 4.916 --c 5.4054 --gamma 120.0 --x \
0.4697 --y 0.0606 --z 0.666666666 --u bohr

from within the directory containing binaries tocartesian & tocartesian_real.

I have made soft links to 'tocartesian' and 'tocartesian_real' from a
directory on my PATH into the directory containing the binaries.  When
I call 'tocartesian' from some other directory, I get:

tocartesian -nl 1 --a 4.916 --b 4.916 --c 5.4054 --gamma 120.0 --x 0.4697 --y 
0.0606 --z 0.666666666 --u bohr
error: unable to locate file: tocartesian_real

I assume there is some way of working round this but I could not find it
in the docs.

Thanks for your help,
Roger

chapel 1.20, FreeBSD 11.3, amd64.


_______________________________________________
Chapel-users mailing list
[email protected]
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_chapel-2Dusers&d=DwICAg&c=C5b8zRQO1miGmBeVZ2LFWg&r=QUQW-BniEL_d2a7btR4rP5TPiNmpm1pG-Qa_xXzGVKc&m=OAuifNsAv7XqMNyRF9KYIHeVNMIqno3gUgptecZAt4A&s=D8ve84ubnTGA5wwIfpzZQALvPzHFJ9eCryjlyo5RA6k&e=
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to