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