Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 738106

Summary: dev-perl/ExtUtils-F77 calls f77/gfortran directly
Product: Gentoo Linux Reporter: Kent Fredric (IRC: kent\n) (RETIRED) <kentnl>
Component: Current packagesAssignee: Gentoo Perl team <perl>
Status: CONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://github.com/PDLPorters/extutils-f77/issues/10
See Also: https://bugs.gentoo.org/show_bug.cgi?id=738108
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 243502, 723238    

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
```