Open mjetzer opened 4 years ago
This is a bug report for perl from mjetzer.cdc@gmail.com, generated with the help of perlbug 1.42 running under perl 5.32.0.
[Please describe your issue here]
When I configured perl, I specified a non-standard perl executable name (/usr/bin/catperl-5.32.0) for the "What shall I put after the #! to start up perl ("none" to not use #!)?" question.
When the utilities were installed, that executable name was, indeed, on the "#!" line. However, the "if $running_under_some_shell" test used a different executable name:
#!/usr/bin/catperl-5.32.0 eval 'exec /u/local/bin/perl5.32.0 -S $0 ${1+"$@"}' if $running_under_some_shell;
I specified "/u/local" for "Installation prefix to use?", "What installation prefix should I use for installing files?", and "Installation prefix to use for add-on modules and utilities?" so that is likely the source of the second executable name.
I would expect the name of the interpreter to be the same on both the "#!" line and in the "if $running_under_some_shell" test.
Based on my reading of INSTALL
(starting at line 31), I attempted the following:
$ sh ./Configure -des -Dusedevel -Dprefix='tmp/gh-18273'
$ make install PERLNAME=catperl-5.32.0
If you were to do that, how close would that be to what you need?
Thank you very much. Jim Keenan
This is a bug report for perl from mjetzer.cdc@gmail.com, generated with the help of perlbug 1.42 running under perl 5.32.0. [Please describe your issue here] When I configured perl, I specified a non-standard perl executable name (/usr/bin/catperl-5.32.0) for the "What shall I put after the #! to start up perl ("none" to not use #!)?" question. When the utilities were installed, that executable name was, indeed, on the "#!" line. However, the "if $running_under_some_shell" test used a different executable name:
#!/usr/bin/catperl-5.32.0 eval 'exec /u/local/bin/perl5.32.0 -S $0 ${1+"$@"}' if $running_under_some_shell;
I specified "/u/local" for "Installation prefix to use?", "What installation prefix should I use for installing files?", and "Installation prefix to use for add-on modules and utilities?" so that is likely the source of the second executable name. I would expect the name of the interpreter to be the same on both the "#!" line and in the "if $running_under_some_shell" test.
Based on my reading of
INSTALL
(starting at line 31), I attempted the following:$ sh ./Configure -des -Dusedevel -Dprefix='tmp/gh-18273' $ make install PERLNAME=catperl-5.32.0
If you were to do that, how close would that be to what you need?
Thank you very much. Jim Keenan
@mjetzer, have you had a chance to consider the suggestion above?
Thank you very much. Jim Keenan
Since we only run Perl under Unix versions which respect the "#!" interpreter mechanism, the "eval" executable name of no consequence to us. I only reported it as it appeared to be a bug in the configuration/compilation system.
As I've already rolled this out to a number of machines, I have no interest in recompiling Perl. As I said, it appeared to be a bug so I reported it in case it might be important to someone.
On Wed, Dec 23, 2020 at 9:04 PM James E Keenan notifications@github.com wrote:
This is a bug report for perl from mjetzer.cdc@gmail.com, generated with the help of perlbug 1.42 running under perl 5.32.0. [Please describe your issue here] When I configured perl, I specified a non-standard perl executable name (/usr/bin/catperl-5.32.0) for the "What shall I put after the #! to start up perl ("none" to not use #!)?" question. When the utilities were installed, that executable name was, indeed, on the "#!" line. However, the "if $running_under_some_shell" test used a different executable name:
#!/usr/bin/catperl-5.32.0 eval 'exec /u/local/bin/perl5.32.0 -S $0 ${1+"$@"}' if $running_under_some_shell;
I specified "/u/local" for "Installation prefix to use?", "What installation prefix should I use for installing files?", and "Installation prefix to use for add-on modules and utilities?" so that is likely the source of the second executable name. I would expect the name of the interpreter to be the same on both the "#!" line and in the "if $running_under_some_shell" test.
Based on my reading of INSTALL (starting at line 31), I attempted the following:
$ sh ./Configure -des -Dusedevel -Dprefix='tmp/gh-18273' $ make install PERLNAME=catperl-5.32.0
If you were to do that, how close would that be to what you need?
Thank you very much. Jim Keenan
@mjetzer https://github.com/mjetzer, have you had a chance to consider the suggestion above?
Thank you very much. Jim Keenan
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Perl/perl5/issues/18273#issuecomment-750717512, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARR6PCHN7JFUFDHMJO3HBL3SWKVS5ANCNFSM4TD4SW3Q .
I don't think this is actually a bug, though the code that's generated is a bit misleading.
The string used to generate the #! and the eval exec code is like:
print OUT <<"!GROK!THIS!";
$Config{startperl}
eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}'
if 0; # ^ Run only under a shell
!GROK!THIS!
From looking at Configure, it prompts for startperl
, and if none
is provided (setting startperl to : # use perl
) for that only then prompts for perlpath
, and that is only expected to be used when the #! won't be used to invoke perl.
Assuming this is right the prefix above is misleading but harmless.
Is this the intent @Tux?
This is a bug report for perl from mjetzer.cdc@gmail.com, generated with the help of perlbug 1.42 running under perl 5.32.0.
[Please describe your issue here]
When I configured perl, I specified a non-standard perl executable name (/usr/bin/catperl-5.32.0) for the "What shall I put after the #! to start up perl ("none" to not use #!)?" question.
When the utilities were installed, that executable name was, indeed, on the "#!" line. However, the "if $running_under_some_shell" test used a different executable name:
I specified "/u/local" for "Installation prefix to use?", "What installation prefix should I use for installing files?", and "Installation prefix to use for add-on modules and utilities?" so that is likely the source of the second executable name.
I would expect the name of the interpreter to be the same on both the "#!" line and in the "if $running_under_some_shell" test.
[Please do not change anything below this line]
Flags: category=utilities severity=low
Site configuration information for perl 5.32.0:
Configured by mikej at Mon Oct 26 13:06:03 CDT 2020.
Summary of my perl5 (revision 5 version 32 subversion 0) configuration: