hyperion-rt / hyperion

Hyperion Radiative Transfer Code
http://www.hyperion-rt.org
BSD 2-Clause "Simplified" License
52 stars 26 forks source link

installation errors #180

Closed dnarayanan closed 8 years ago

dnarayanan commented 8 years ago

Hi,

I'm trying to install Hyperion on a new computer. I get the following errors no matter which compiler I use, or whether I use the hyperion-built HDF5/MPI or the system one. For simplicity, I'll use the intel compilers on the system and the openmpi:

[desika.narayanan@gator4 Hyperion-0.9.7]$ module list

Currently Loaded Modules:
  1) intel/2016.0.109   2) openmpi/1.10.2   3) hdf5/1.8.16

[desika.narayanan@gator4 Hyperion-0.9.7]$ which mpif90
/apps/mpi/intel/2016.0.109/openmpi/1.10.2/bin/mpif90
[desika.narayanan@gator4 Hyperion-0.9.7]$ which h5fc
/apps/intel/2016.0.109/hdf5/1.8.16/bin/h5fc
[desika.narayanan@gator4 Hyperion-0.9.7]$ which ifort
/apps/compilers/intel/2016/compilers_and_libraries/0.109/linux/bin/intel64/ifort

so because I have these, I don't install the fortran dependencies and just install the fortran binaries. But upon trying this, I receive:

[desika.narayanan@gator4 Hyperion-0.9.7]$ python setup.py install
...
running install_scripts
copying build/scripts-2.7/hyperion -> /home/desika.narayanan/miniconda2/bin
copying build/scripts-2.7/hyperion2fits -> /home/desika.narayanan/miniconda2/bin
changing mode of /home/desika.narayanan/miniconda2/bin/hyperion to 755
changing mode of /home/desika.narayanan/miniconda2/bin/hyperion2fits to 755
running install_egg_info

and then trying to make the code I get the catastrophic error:

[desika.narayanan@gator4 Hyperion-0.9.7]$  ./configure --prefix=/home/desika.narayanan/pd/local/hyperion
checking for h5fc... h5fc
checking for h5pfc... no
checking for mpif90... mpif90
configure: creating ./config.status
config.status: creating Makefile
[desika.narayanan@gator4 Hyperion-0.9.7]$ make
h5fc -module src/modules -heap-arrays -error-limit 1 -fp-model strict -diag-disable 8291    src/mpi/mpi_core_nompi.f90 fortranlib/src/posix_default.f90 fortranlib/src/base_types.f90 fortranlib/src/lib_messages.f90 fortranlib/src/lib_io.f90 fortranlib/src/lib_version.f90 fortranlib/src/lib_algebra.f90 fortranlib/src/lib_conf.f90 fortranlib/src/lib_array.f90 fortranlib/src/lib_statistics.f90 fortranlib/src/lib_random.f90 fortranlib/src/lib_hdf5.f90 fortranlib/src/lib_constants.f90 fortranlib/src/type_angle3d.f90 fortranlib/src/type_vector3d.f90 fortranlib/src/type_stokes.f90 fortranlib/src/type_pdf.f90 src/core/core_lib.f90 src/main/counters.f90 src/mpi/mpi_io_nompi.f90 src/grid/type_grid_cartesian_3d.f90 src/core/type_cell_id_3d.f90 src/core/type_photon.f90 src/main/settings.f90 src/main/performance.f90 src/images/image_type.f90 src/dust/dust_type_4elem.f90 src/dust/dust.f90  src/grid/grid_io.f90 src/grid/grid_geometry_cartesian_3d.f90 src/grid/grid_geometry_common_3d.f90 src/grid/grid_pda_cartesian_3d.f90 src/grid/grid_physics_3d.f90 src/grid/grid_monochromatic.f90 src/dust/dust_interact.f90 src/sources/source_type.f90 src/sources/source.f90 src/grid/grid_propagate_3d.f90 src/grid/grid_mrw_3d.f90 src/grid/grid_pda_3d.f90 src/grid/grid_generic.f90 src/images/images_binned.f90 src/images/images_peeled.f90 src/main/setup_rt.f90 src/mpi/mpi_routines_nompi.f90 src/main/iter_lucy.f90 src/main/iter_final.f90 src/main/iter_final_mono.f90 src/main/iter_raytracing.f90 src/main/main.f90 -o bin/hyperion_car
src/grid/grid_geometry_cartesian_3d.f90(51): error #6457: This derived type name has not been declared.   [GRID_CELL]
    type(grid_cell),intent(in) :: cell
---------^
src/grid/grid_geometry_cartesian_3d.f90(522): catastrophic error: Too many errors, exiting
compilation aborted for src/grid/grid_geometry_cartesian_3d.f90 (code 1)
src/grid/grid_geometry_common_3d.f90(8): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [GRID_GEOMETRY_SPECIFIC]
  use grid_geometry_specific
astrofrog commented 8 years ago

@dnarayanan - what is the output of:

h5fc -show

?

dnarayanan commented 8 years ago

Hi Tom,

It's:

[desika.narayanan@gator3 ~]$ h5fc -show
ifort -I/apps/intel/2016.0.109/hdf5/1.8.16/include -L/apps/intel/2016.0.109/hdf5/1.8.16/lib /apps/intel/2016.0.109/hdf5/1.8.16/lib/libhdf5hl_fortran.a /apps/intel/2016.0.109/hdf5/1.8.16/lib/libhdf5_hl.a /apps/intel/2016.0.109/hdf5/1.8.16/lib/libhdf5_fortran.a /apps/intel/2016.0.109/hdf5/1.8.16/lib/libhdf5.a -lrt -lz -ldl -lm -Wl,-rpath -Wl,/apps/intel/2016.0.109/hdf5/1.8.16/lib

I've noticed that If I use gcc, then the code compiles fine. I"d of course prefer to use the intel compilers since (at least with hydro codes) things tend to run a good bit faster on this cluster with the intel suite. But I can definitely use gcc if that's the main solution here. I realized in hunting this down I've never actually compiled hyperion with ifort before.

astrofrog commented 8 years ago

The intel compiler normally works, but I haven't tried it recently. I'll try looking into this.

dnarayanan commented 8 years ago

okay thanks! let me know if there's any other information I can provide.

astrofrog commented 8 years ago

@dnarayanan - I'm very sorry for dropping the ball on this. It's now possible to install Hyperion using conda though, so maybe that would work for you? To install it:

conda install -c conda-forge hyperion

Does this work?

dnarayanan commented 8 years ago

you know i was actually able to get it to work, though can't remember how now.

that said i'll test out the conda install anyways and let you know!

-d

On Tue, Sep 27, 2016 at 6:31 AM, Thomas Robitaille <notifications@github.com

wrote:

@dnarayanan https://github.com/dnarayanan - I'm very sorry for dropping the ball on this. It's now possible to install Hyperion using conda though, so maybe that would work for you? To install it:

conda install -c conda-forge hyperion

Does this work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/hyperion-rt/hyperion/issues/180#issuecomment-249827607, or mute the thread https://github.com/notifications/unsubscribe-auth/AEQRWz2dFvJoU-t44g0hK1tc9tDlB7Xsks5quPCAgaJpZM4IkDG9 .

astrofrog commented 8 years ago

Ok, great!

perry-bothron commented 8 years ago

Hey,

I am currently also trying to install Hyperion using ifort (v16.0.2) + Intel MPI on a cluster, and I'm encountering exactly the same issue. Hyperion will compile with gfortran, but it's woefully old (v4.4.7) and still uses Intel MPI.

I don't suppose, @dnarayanan, that you can recall what you did to make it work?

P.S. h5fc -show gives:

ifort -I/astro/jramsey/lib/hdf5-intel16/include -L/astro/jramsey/lib/hdf5-intel16/lib /astro/jramsey/lib/hdf5-intel16/lib/libhdf5hl_fortran.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5_hl.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5_fortran.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5.a -L/astro/jramsey/lib/hdf5-intel16/lib -lz -lrt -ldl -lm -Wl,-rpath -Wl,/astro/jramsey/lib/hdf5-intel16/lib

I haven't yet tried the conda option.

Thanks in advance and Cheers.

dnarayanan commented 8 years ago

i'll try to figure it out today and report back

On Wed, Sep 28, 2016 at 9:54 AM, Jon notifications@github.com wrote:

Hey,

I am currently also trying to install Hyperion using ifort (v16.0.2) + Intel MPI on a cluster, and I'm encountering exactly the same issue. Hyperion will compile with gfortran, but it's woefully old (v4.4.7) and still uses Intel MPI.

I don't suppose, @dnarayanan https://github.com/dnarayanan, that you can recall what you did to make it work?

P.S. h5fc -show gives:

ifort -I/astro/jramsey/lib/hdf5-intel16/include -L/astro/jramsey/lib/hdf5-intel16/lib /astro/jramsey/lib/hdf5-intel16/lib/libhdf5hl_fortran.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5_hl.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5_fortran.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5.a -L/astro/jramsey/lib/hdf5-intel16/lib -lz -lrt -ldl -lm -Wl,-rpath -Wl,/astro/jramsey/lib/hdf5-intel16/lib

I haven't yet tried the conda option.

Thanks in advance and Cheers.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/hyperion-rt/hyperion/issues/180#issuecomment-250173159, or mute the thread https://github.com/notifications/unsubscribe-auth/AEQRW2pzVtDOKM7EchrXftClhez0_bOvks5qunGbgaJpZM4IkDG9 .

dnarayanan commented 8 years ago

ah I just checked - and it turns out I never got it to work with ifort - only with gcc. sorry about that. if you do figure out how to get it to play nicely with ifort please do let me know.

On Wed, Sep 28, 2016 at 9:57 AM, Desika Narayanan < desika.narayanan@gmail.com> wrote:

i'll try to figure it out today and report back

On Wed, Sep 28, 2016 at 9:54 AM, Jon notifications@github.com wrote:

Hey,

I am currently also trying to install Hyperion using ifort (v16.0.2) + Intel MPI on a cluster, and I'm encountering exactly the same issue. Hyperion will compile with gfortran, but it's woefully old (v4.4.7) and still uses Intel MPI.

I don't suppose, @dnarayanan https://github.com/dnarayanan, that you can recall what you did to make it work?

P.S. h5fc -show gives:

ifort -I/astro/jramsey/lib/hdf5-intel16/include -L/astro/jramsey/lib/hdf5-intel16/lib /astro/jramsey/lib/hdf5-intel16/lib/libhdf5hl_fortran.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5_hl.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5_fortran.a /astro/jramsey/lib/hdf5-intel16/lib/libhdf5.a -L/astro/jramsey/lib/hdf5-intel16/lib -lz -lrt -ldl -lm -Wl,-rpath -Wl,/astro/jramsey/lib/hdf5-intel16/lib

I haven't yet tried the conda option.

Thanks in advance and Cheers.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/hyperion-rt/hyperion/issues/180#issuecomment-250173159, or mute the thread https://github.com/notifications/unsubscribe-auth/AEQRW2pzVtDOKM7EchrXftClhez0_bOvks5qunGbgaJpZM4IkDG9 .

astrofrog commented 8 years ago

@perry-bothron @dnarayanan - I unfortunately don't have access to a machine with ifort 16 at the moment. From the error message, I actually think it looks suspiciously like an intel fortran bug, since it worked fine with previous versions, but I'll only be able to confirm this once I can try out ifort 16.

astrofrog commented 8 years ago

I think this is an ifort bug - I've opened a report here:

https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/697800

and will see what they say. I have a couple of possible workarounds, but want to check what the official answer is first.

perry-bothron commented 8 years ago

I can confirm that it does compile with Intel Fortran 15.0.3. (!)

For now, I will use v15.

astrofrog commented 8 years ago

@dnarayanan @perry-bothron - just to confirm, this was indeed an ifort bug that will be fixed in the next version:

https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/697800#comment-1886734

In the mean time, the current developer version of Hyperion includes a workaround, so I'll close this.

dnarayanan commented 8 years ago

FYI i finally tested the conda install and it worked great. thanks for making this so easy!

On Tue, Sep 27, 2016 at 6:31 AM, Thomas Robitaille <notifications@github.com

wrote:

@dnarayanan https://github.com/dnarayanan - I'm very sorry for dropping the ball on this. It's now possible to install Hyperion using conda though, so maybe that would work for you? To install it:

conda install -c conda-forge hyperion

Does this work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/hyperion-rt/hyperion/issues/180#issuecomment-249827607, or mute the thread https://github.com/notifications/unsubscribe-auth/AEQRWz2dFvJoU-t44g0hK1tc9tDlB7Xsks5quPCAgaJpZM4IkDG9 .

astrofrog commented 8 years ago

@dnarayanan - great! Note that the only downside of the conda install is that it is compiled with gfortran instead of ifort, so there is a slight performance hit. But then you save time installing it ;)