Compilation fails in rev. 800 with "Error: Function 'io_hdf5_open_group' at (1) has no IMPLICIT type"

Bug #995965 reported by Harald Höller
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Galacticus
Fix Released
High
Andrew Benson

Bug Description

We tried to compile Galacticus on several systems and had the same problem.

gfortran `cat ./work/build/tests.IO.HDF5.d` -o tests.IO.HDF5.exe -fintrinsic-modules-path /site/hdf5/1.8.7/gcc-4.7.0/64-westmere/include -fintrinsic-modules-path /site/FoX/4.1.1/gcc-4.7.0/64-westmere/finclude -fintrinsic-modules-path /site/fgsl/0.9.4/gcc-4.7.0/64-westmere/include/mpif90 -ffree-line-length-none -frecursive -J./work/build/ -I./work/build/ -Wall -g -fbacktrace -ffpe-trap=invalid,zero,overflow -g -fopenmp -L/site/fgsl/0.9.4/gcc-4.7.0/64-westmere/lib -L/site/gsl/1.15/gcc-4.7.0/64-westmere/lib -L/site/FoX/4.1.1/gcc-4.7.0/64-westmere/lib -L/site/hdf5/1.8.7/gcc-4.7.0/64-westmere/lib -lFoX_dom -lFoX_sax -lFoX_wxml -lFoX_common -lFoX_utils -lFoX_fsys -lgsl -lgslcblas -lm -lfgsl_gfortran -lhdf5_fortran -lhdf5 -lz -lstdc++ -lcrypt
source/objects.merger_tree_data.F90:979.14:

    haloTrees=IO_HDF5_Open_Group(outputFile,"haloTrees","Stores all data for me
              1
Error: Function 'io_hdf5_open_group' at (1) has no IMPLICIT type
source/objects.merger_tree_data.F90:1003.18:

       treesGroup=IO_HDF5_Open_Group(outputFile,"mergerTrees","Data for individ
                  1
Error: Function 'io_hdf5_open_group' at (1) has no IMPLICIT type
source/objects.merger_tree_data.F90:1009.20:

          treeGroup=IO_HDF5_Open_Group(treesGroup,char(groupName),"Data for a m
                    1
Error: Function 'io_hdf5_open_group' at (1) has no IMPLICIT type ...

We could however fix this by changing the file source/utility.IO.HDF5.F90 in line 76 and redefine the corresponfing functions public

public :: IO_HDF5_Open_Dataset, IO_HDF5_Open_Group.

Related branches

Revision history for this message
Harald Höller (harald-hoeller) wrote :

gfortran version:

GNU Fortran (GCC) 4.7.0 20111210 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

Revision history for this message
Andrew Benson (abenson) wrote :

Thanks for reporting this. Your fix will work, but this broke as the result of purposely making these functions private so that they could only be accessed as type-bound procedures. Revision 805 (http://bazaar.launchpad.net/~abenson/galacticus/v0.9.1/revision/805) fixes this by replacing the function calls with their type-bound equivalents, and leaves IO_HDF5_Open_Dataset and IO_HDF5_Open_Group as private.

Note that if you upgrade to revision 805 be sure that you have gsl-1.15 and fgsl-0.9.4 as the previous revisions upgraded the code to use the new ODE solver interface in those versions.

Changed in galacticus:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Andrew Benson (abenson)
status: Confirmed → Fix Released
Revision history for this message
Harald Höller (harald-hoeller) wrote :

Thx a lot, I'll try to get rev 805 compiling tomorrow! And I learned that I should check _every_ day for new revisions ;)

Revision history for this message
Andrew Benson (abenson) wrote :

Development is moving ahead quite quickly at the moment, so new revisions are frequent!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.