Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 738106 - dev-perl/ExtUtils-F77 calls f77/gfortran directly
Summary: dev-perl/ExtUtils-F77 calls f77/gfortran directly
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Perl team
URL: https://github.com/PDLPorters/extutil...
Whiteboard:
Keywords:
Depends on:
Blocks: tc-directly perl-toolchain
  Show dependency tree
 
Reported: 2020-08-20 04:02 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2020-08-20 04:29 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-08-20 04:02:34 UTC
The code has a huge blob of hard-coded and heuristically determined configuration, and its too much of a mess for me to unpick in an arch-agnostic way, _AND_ there's no ENV directed mechanism to indicate when ExtUtils::F77's auto-magic is wrong.

I've bodged around this in ExtUtils-F77's own test suite by constructing a "gfortran" inside the Tempdir and stuffing it in PATH, but that's only enough to demonstrate the code works, doesn't guard it against failing at the call points.

This is subsequently not a "test failure", but a "real problem" that is exposed by a failing test, and dependent code will likely fail in the same way.

```
make -j3 --load-average=4 test TEST_VERBOSE=0 
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
ExtUtils::F77: Using system=Linux compiler=GNU
ExtUtils::F77: Unable to guess and/or validate system/compiler configuration
ExtUtils::F77: Will try system=Generic Compiler=G77
ExtUtils::F77: Well that didn't appear to validate. Well I will try it anyway.
      ExtUtils::F77: There does not appear to be any configuration info about
      ExtUtils::F77: names with trailing underscores for system Generic. Will assume
      ExtUtils::F77: F77 names have trailing underscores.
      ExtUtils::F77: There does not appear to be any configuration info about
      ExtUtils::F77: the F77 compiler name. Will assume 'f77'.
ExtUtils::F77: Compiler: f77
      ExtUtils::F77: There does not appear to be any configuration info about
      ExtUtils::F77: the options for the F77 compiler. Will assume none
      ExtUtils::F77: necessary.
ExtUtils::F77: Cflags: 
t/require.t .. 1/3 Compiling the test Fortran program...
Can't exec "f77": No such file or directory at /var/tmp/portage/dev-perl/ExtUtils-F77-1.240.0/work/ExtUtils-F77-1.24/blib/lib/ExtUtils/F77.pm line 571.
Executing the test program...
Can't exec "/var/tmp/portage/dev-perl/ExtUtils-F77-1.240.0/temp/testf7761_exe": No such file or directory at /var/tmp/portage/dev-perl/ExtUtils-F77-1.240.0/work/ExtUtils-F77-1.24/blib/lib/ExtUtils/F77.pm line 573.
Use of uninitialized value in string ne at /var/tmp/portage/dev-perl/ExtUtils-F77-1.240.0/work/ExtUtils-F77-1.24/blib/lib/ExtUtils/F77.pm line 573.
Test of Fortran Compiler FAILED. 
Do not know how to compile Fortran on your system

#   Failed test 'testcompiler method returns 1'
#   at t/require.t line 11.
#          got: '0'
#     expected: '1'

#   Failed test 'runtime libs found'
#   at t/require.t line 13.
#          got: undef
#     expected: '1'
# Method: runtime, undef
# Method: trail_, 1
# Method: compiler, f77
# Method: cflags, 
# Compiler: 
# Looks like you failed 2 tests of 3.
t/require.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/3 subtests 

Test Summary Report
-------------------
t/require.t (Wstat: 512 Tests: 3 Failed: 2)
  Failed tests:  2-3
  Non-zero exit status: 2
Files=1, Tests=3,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.09 cusr  0.04 csys =  0.17 CPU)
Result: FAIL
```