https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61418

            Bug ID: 61418
           Summary: [4.9 Regression] HDF5 build failure with -flto:
                    libgfortran.spec: attempt to rename spec 'lib' to
                    already defined spec 'liborig'
           Product: gcc
           Version: 4.9.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org

Building HDF5 with -flto fails:

/bin/sh ../../libtool  --tag=FC   --mode=link x86_64-pc-linux-gnu-gfortran
-I/var/tmp/portage/sci-libs/hdf5-1.8.13/work/hdf5-1.8.13/src
-I/var/tmp/portage/sci-libs/hdf5-1.8.13/work/hdf5-1.8.13/fortran/src -O2 -pipe
-version-info 8:2 :0 
-Wl,--hash-style=gnu,--as-needed,--gc-sections,--icf=all,--icf-iterations=3 -o
libhdf5_fortran.la -rpath /usr/lib64 H5f90global.lo H5fortran_types.lo
H5_ff_F90.lo H5_ff.lo H5Aff.lo H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo
H5Lff.lo H5Off.lo H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo
H5_DBLE_InterfaceInclude.lo H5f90kit.lo H5_f.lo H5Af.lo H5Df.lo H5Ef.lo H5Ff.lo
H5Gf.lo H5If.lo H5Lf.lo H5Of.lo H5Pf.lo H5Rf.lo H5Sf.lo H5Tf.lo H5Zf.lo
H5Aff_F90.lo H5Dff_F90.lo H5Eff_F90.lo H5Fff_F90.lo H5Lff_F90.lo H5Off_F90.lo
H5Pff_F90.lo H5Rff_F90.lo H5Tff_F90.lo HDF5.lo ../../src/libhdf5.la -lz -ldl
-lm 
libtool: link: x86_64-pc-linux-gnu-gfortran -shared  -fPIC  .libs/H5f90global.o
.libs/H5fortran_types.o .libs/H5_ff_F90.o .libs/H5_ff.o .libs/H5Aff.o
.libs/H5Dff.o .libs/H5Eff.o .libs/H5Fff.o .libs/H5Gff.o .libs/H5Iff.o
.libs/H5Lff.o .libs/H5Off.o .libs/H5Pff.o .libs/H5Rff.o .libs/H5Sff.o
.libs/H5Tff.o .libs/H5Zff.o .libs/H5_DBLE_InterfaceInclude.o .libs/H5f90kit.o
.libs/H5_f.o .libs/H5Af.o .libs/H5Df.o .libs/H5Ef.o .libs/H5Ff.o .libs/H5Gf.o
.libs/H5If.o .libs/H5Lf.o .libs/H5Of.o .libs/H5Pf.o .libs/H5Rf.o .libs/H5Sf.o
.libs/H5Tf.o .libs/H5Zf.o .libs/H5Aff_F90.o .libs/H5Dff_F90.o .libs/H5Eff_F90.o
.libs/H5Fff_F90.o .libs/H5Lff_F90.o .libs/H5Off_F90.o .libs/H5Pff_F90.o
.libs/H5Rff_F90.o .libs/H5Tff_F90.o .libs/HDF5.o   ../../src/.libs/libhdf5.so
-lz -ldl -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1
-L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../../../lib64 -L/lib/../lib64
-L/usr/lib/../lib64
-L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../../../x86_64-pc-linux-gnu/lib
-L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../..
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/libgfortran.so
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/libquadmath.so -lm -lc -lgcc_s  -O2
-Wl,--hash-style=gnu -Wl,--as-needed -Wl,--gc-sections -Wl,--icf=all
-Wl,--icf-iterations=3   -Wl,-soname -Wl,libhdf5_fortran.so.8 -o
.libs/libhdf5_fortran.so.8.0.2
x86_64-pc-linux-gnu-gfortran: fatal error:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/libgfortran.spec: attempt to rename spec
'lib' to already defined spec 'liborig'
compilation terminated.
lto-wrapper:
/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.1/x86_64-pc-linux-gnu-gfortran returned 1
exit status
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../../../x86_64-pc-linux-gnu/bin/ld:
fatal error: lto-wrapper failed

Without -flto it builds just fine.
4.8.3 with -flto also works fine.

To reproduce start with an empty test-file:

markus@x4 /tmp % touch H5Zf.i
markus@x4 /tmp % gcc -flto -c H5Zf.i

markus@x4 /tmp % /usr/x86_64-pc-linux-gnu/gcc-bin/4.8.3/gfortran -shared -fPIC
H5Zf.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../..

markus@x4 /tmp % /usr/x86_64-pc-linux-gnu/gcc-bin/4.9.1/gfortran -shared -fPIC
H5Zf.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../..
gfortran: fatal error:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../../libgfortran.spec: attempt to
rename spec ‘lib’ to already defined spec ‘liborig’
compilation terminated.
lto-wrapper: /usr/x86_64-pc-linux-gnu/gcc-bin/4.9.1/gfortran returned 1 exit
status
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.1/../../../../x86_64-pc-linux-gnu/bin/ld:
fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status

Reply via email to