Bug 2143344

Summary: gfortran -static fails always due to missing libgfortran.a
Product: Red Hat Enterprise Linux 9 Reporter: Steve Traylen <steve.traylen>
Component: gccAssignee: Marek Polacek <mpolacek>
gcc sub component: system-version QA Contact: qe-baseos-tools-bugs
Status: CLOSED WONTFIX Docs Contact:
Severity: unspecified    
Priority: unspecified CC: ahajkova, bstinson, fweimer, jakub, jwboyer, ohudlick, sipoyare
Version: CentOS Stream   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-16 17:36:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Steve Traylen 2022-11-16 16:49:36 UTC
Description of problem:

gfortran -static test.f90 

fails every time with:

/usr/bin/ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status

Version-Release number of selected component (if applicable):

gcc-gfortran-11.3.1-2.1.el9.x86_64

How reproducible:

Every time.

Steps to Reproduce:
0: Enable CRB repository.
1. dnf install gcc-gfortran glibc-static
2. Create a small bit of fortran ( test.f90 )

   program hello
     print *, 'Hello, World!'
   end program hello


3. gfortran -static test.f90 

Actual results:

   /usr/bin/ld: cannot find -lgfortran
   collect2: error: ld returned 1 exit status

Expected results:

It should compile.

Additional info:

Intrestingly on the same node gcc-toolset-12-gcc-gfortran-12.1.1-3.2.el9.x86_64 installed
then I can do.


   scl enable gcc-toolset-12 'gfortran -static test.f90'

and that is succsessful. 

Looking for libgfortran.a files on the system there is:

  /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/libgfortran.a
  /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/32/libgfortran.a
  /usr/lib/gcc/x86_64-redhat-linux/11/32/libgfortran.a

The first two from the gcc-toolset build and the last single one from the systemd compiler.

Presumably 

   /usr/lib/gcc/x86_64-redhat-linux/11/libgfortran.a

should exist.

Comment 1 Marek Polacek 2022-11-16 16:58:49 UTC
In RHEL, we don't ship most static libraries, like libgfortran-static.  This is true for RHEL 8 and RHEL 9, at least, to discourage static linking.

I don't think there are any plans to change that.

Comment 2 Steve Traylen 2022-11-16 17:24:45 UTC
Indeed it has gone in CS8 as well.

Am jumping from 7 to 9 currently.

Kind of a shame to be impossible , fair enough for the libs.

Comment 3 Marek Polacek 2022-11-16 17:36:38 UTC
Yeah, sorry about that.