sot / starcheck

BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

starcheck3 fails on kadi, OK on luke-v #265

Closed taldcroft closed 5 years ago

taldcroft commented 5 years ago

On kadi

Note the cross-talk with legacy Ska perl /proj/sot/ska/lib/perl/IO/All.pm. That's funky.

ska3-kadi$ echo $PATH
/proj/sot/ska3/flight/bin:/export/tom/anaconda/bin:/home/aldcroft/bin:/home/aldcroft/bin/MST:/soft/saord/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
ska3-kadi$ which starcheck
/proj/sot/ska3/flight/bin/starcheck
ska3-kadi$ /proj/sot/ska3/flight/bin/starcheck -help
Useless use of \E at /proj/sot/ska/lib/perl/IO/All.pm line 70.
Useless use of \E at /proj/sot/ska/lib/perl/IO/All.pm line 78.
Useless use of \E at /proj/sot/ska/lib/perl/IO/All.pm line 79.
Possible precedence issue with control flow operator at /proj/sot/ska/lib/perl/IO/All.pm line 547.
Digest::MD5 object version 2.53 does not match bootstrap parameter %_ at /proj/sot/ska3/flight/lib/5.26.2/XSLoader.pm line 114.
Compilation failed in require at /proj/sot/ska/lib/perl/Inline.pm line 454.
BEGIN failed--compilation aborted at /proj/sot/ska3/flight/lib/python3.6/site-packages/starcheck/src/lib/Ska/Starcheck/Obsid.pm line 72.
Compilation failed in require at /proj/sot/ska3/flight/lib/python3.6/site-packages/starcheck/src/starcheck.pl line 33.
BEGIN failed--compilation aborted at /proj/sot/ska3/flight/lib/python3.6/site-packages/starcheck/src/starcheck.pl line 33.

On luke-v

luke-v$ ska3
ska3-luke-v$ echo $PATH
/proj/sot/ska3/flight/bin:/home/aldcroft/bin:/home/aldcroft/bin/MST:/soft/saord/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:.
ska3-luke-v$ which starcheck
/proj/sot/ska3/flight/bin/starcheck
ska3-luke-v$ /proj/sot/ska3/flight/bin/starcheck -help
NAME
    starcheck.pl - Check for problems in command load star catalogs

On chimchim

Has this been tested? Status on chimchim is not in the starcheck 12.1 release notes.

jeanconn commented 5 years ago

What's in your Perl-related paths on kadi? Looks OK to me in vanilla ska3 as jeanconn or aca user.

ska3-kadi: starcheck -help
NAME
    starcheck.pl - Check for problems in command load star catalogs

SYNOPSIS
    starcheck.pl [*options*]

ska3-kadi: echo $PERL5LIB
/proj/sot/ska3/flight/lib/perl:/proj/sot/ska3/flight/lib/perl/lib
ska3-kadi: echo $PERLLIB
PERLLIB: Undefined variable.
ska3-kadi: which perl
/proj/sot/ska3/flight/bin/perl
ska3-kadi: perl -V 
...  %ENV:
    PERL5LIB="/proj/sot/ska3/flight/lib/perl:/proj/sot/ska3/flight/lib/perl/lib"
  @INC:
    /proj/sot/ska3/flight/lib/perl
    /proj/sot/ska3/flight/lib/perl/lib
    /proj/sot/ska3/flight/lib/site_perl/5.26.2/x86_64-linux
    /proj/sot/ska3/flight/lib/site_perl/5.26.2
    /proj/sot/ska3/flight/lib/5.26.2/x86_64-linux
    /proj/sot/ska3/flight/lib/5.26.2

ska3-kadi: printenv | grep -i PATH

PATH=/proj/sot/ska3/flight/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/home/jeanconn/bin:.

LD_LIBRARY_PATH=/proj/sot/ska3/flight/lib:/proj/sot/ska3/flight/pgplot:/soft/SYBASE15.7/OCS-15_0/lib:/usr/lib64/alliance/lib:/usr/local/share/man:/usr/share/man/overrides:/usr/share/man/en:/usr/share/man:/usr/lib64/alliance/man:/usr/local/man
jeanconn commented 5 years ago

Not tested on chimchim. I was planning to do that as part of checkout on Friday when chimchim hung on me (also did not figure that chimchim working was required for operational use, but certainly desired).

jeanconn commented 5 years ago

I can get the Perl path errors you note if I explicitly add ska2 perl to my PERL5LIB .

ska3-aca-kadi% setenv PERL5LIB /proj/sot/ska/lib/perl:/proj/sot/ska/lib/perl/lib:$PERL5LIB
ska3-aca-kadi% which starcheck
/proj/sot/ska3/flight/bin/starcheck
ska3-aca-kadi% starcheck -help
Useless use of \E at /proj/sot/ska/lib/perl/IO/All.pm line 70.
Useless use of \E at /proj/sot/ska/lib/perl/IO/All.pm line 78.
Useless use of \E at /proj/sot/ska/lib/perl/IO/All.pm line 79.
Possible precedence issue with control flow operator at /proj/sot/ska/lib/perl/IO/All.pm line 547.
Digest::MD5 object version 2.53 does not match bootstrap parameter %_ at /proj/sot/ska3/flight/lib/5.26.2/XSLoader.pm line 114.
Compilation failed in require at /proj/sot/ska/lib/perl/Inline.pm line 454.
BEGIN failed--compilation aborted at /proj/sot/ska3/flight/lib/python3.6/site-packages/starcheck/src/lib/Ska/Starcheck/Obsid.pm line 72.
Compilation failed in require at /proj/sot/ska3/flight/lib/python3.6/site-packages/starcheck/src/starcheck.pl line 33.
BEGIN failed--compilation aborted at /proj/sot/ska3/flight/lib/python3.6/site-packages/starcheck/src/starcheck.pl line 33.
taldcroft commented 5 years ago

OK, this is operator error, sort of... Looks like my unska bash function is not correctly clearing out PERL5LIB. Though /proj/sot/ska3/flight/lib/perl:/proj/sot/ska3/flight/lib/perl/lib is in the front, so I would think that is sufficient.

taldcroft commented 5 years ago

This does get back to long-standing (and recent) discussions about how much flt_envs should just stomp on existing env vars instead of pre-pending.

taldcroft commented 5 years ago

I fixed my unska and starcheck3 works fine.

jeanconn commented 5 years ago

That's about what I figured (with regard to unska). I think there are no guarantees if PERL5LIB has been edited.

It also looks like this is a small goof in Perl paths on my part, in that there is no /proj/sot/ska3/flight/lib/perl . I think I left it as part of skare3 flt_envs so we could put stuff there if we wanted to, but the conda perl puts starcheck stuff in the perl binary's path in

/proj/sot/ska3/flight/lib/site_perl/

etc. So /proj/sot/ska/lib/perl in PERL5LIB will have precendence and clobber that.

So yes, we could lock down with flt_envs or maybe the starcheck wrapper.

jeanconn commented 5 years ago

Regarding PERL5LIB, I'd be more concerned if we hadn't had a reasonable test result with SOT MP integration test.

But as we were talking about updating the wrapper anyway (for next week or after) it seems like the flight starcheck wrapper should just explicitly unset PERL5LIB (and we can continue to defer deciding what is appropriate for flt_envs).