diff --git a/.gitignore b/.gitignore
index acd6aa1e5110e283592665317a6e97413186a680..7aa1319ad9d19e122992e62645085b22b39c04e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
+/CMakeCache.txt
+/Makefile
+/build
 classic/5.0/src/AbsBeamline/CMakeFiles
 classic/5.0/src/AbsBeamline/Makefile
 classic/5.0/src/AbsBeamline/cmake_install.cmake
@@ -53,6 +56,7 @@ classic/5.0/src/Utilities/Makefile
 classic/5.0/src/Utilities/cmake_install.cmake
 classic/5.0/src/cmake_install.cmake
 classic/5.0/src/config.h
+/cmake_install.cmake
 src/AbstractObjects/CMakeFiles
 src/AbstractObjects/Makefile
 src/AbstractObjects/cmake_install.cmake
@@ -71,6 +75,7 @@ src/Attributes/cmake_install.cmake
 src/BasicActions/CMakeFiles
 src/BasicActions/Makefile
 src/BasicActions/cmake_install.cmake
+src/CMakeFiles
 src/Distribution/CMakeFiles
 src/Distribution/Makefile
 src/Distribution/cmake_install.cmake
@@ -89,6 +94,7 @@ src/Expressions/cmake_install.cmake
 src/Lines/CMakeFiles
 src/Lines/Makefile
 src/Lines/cmake_install.cmake
+src/Makefile
 src/Match/CMakeFiles
 src/Match/Makefile
 src/Match/cmake_install.cmake
@@ -116,3 +122,6 @@ src/Utilities/cmake_install.cmake
 src/ValueDefinitions/CMakeFiles
 src/ValueDefinitions/Makefile
 src/ValueDefinitions/cmake_install.cmake
+src/cmake_install.cmake
+src/config.h
+src/opal
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e1d676d17c62f0d732e7bb2266b7aa50dadba3a3..345bf089cfac9d300471b394b36efd7becbfc28a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,9 @@ SET (OPAL_VERSION_MINOR 1.9)
 
 SET (CMAKE_CXX_COMPILER ${MPI_COMPILER})
 
+MESSAGE (STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
+MESSAGE (STATUS "MPI_COMPILER: ${iMPI_COMPILER}")
+
 IF (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
     SET (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
         "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
@@ -23,14 +26,14 @@ SET (CMAKE_CXX_FLAGS_DEBUG  "-O0 -g")
 # Resolve all library dependencies
 SET (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules")
 
-FIND_PACKAGE (IPPL REQUIRED HINTS $ENV{IPPL_PREFIX})
-MESSAGE (STATUS "Found IPPL library dir: ${IPPL_LIBRARY_DIR}")
+FIND_PACKAGE (IPPL REQUIRED HINTS $ENV{IPPL_PREFIX} $ENV{IPPL_DIR} $ENV{IPPL})
+MESSAGE (STATUS "Found IPPL library: ${IPPL_LIBRARY}")
 MESSAGE (STATUS "Found IPPL include dir: ${IPPL_INCLUDE_DIR}")
 
 FIND_PACKAGE (H5Hut REQUIRED)
 FIND_PACKAGE (HDF5 REQUIRED)
 FIND_PACKAGE (GSL REQUIRED)
-
+FIND_PACKAGE (MPI REQUIRED)
 
 # Handle options
 OPTION (ENABLE_ML_SOLVER "Enable iteartive SA-AMG-PCG self field solver" OFF)
@@ -81,113 +84,100 @@ ENDIF (NO_FIELD_ASSIGN_OPTIMIZATION)
 
 IF (ENABLE_ML_SOLVER)
     # Get Trilinos as one entity
-    FIND_PACKAGE(Trilinos REQUIRED HINTS $ENV{TRILINOS})
+    FIND_PACKAGE(Trilinos REQUIRED HINTS $ENV{TRILINOS_PREFIX} $ENV{TRILINOS_DIR} $ENV{TRILINOS})
 
-    SET (Trilinos_LIBRARIES "${Trilinos_LIBRARIES} -lgfortran"
-    )
-	
-    IF (NOT Trilinos_FOUND)
-        MESSAGE (FATAL_ERROR "Could not find Trilinos!")
-    ENDIF (NOT Trilinos_FOUND)
     # Echo trilinos build info just for fun
-    MESSAGE (STATUS "\nFound Trilinos!  Here are the details: ")
-    MESSAGE (STATUS "   Trilinos_DIR = ${Trilinos_DIR}")
-    MESSAGE (STATUS "   Trilinos_VERSION = ${Trilinos_VERSION}")
-    MESSAGE (STATUS "   Trilinos_PACKAGE_LIST = ${Trilinos_PACKAGE_LIST}")
-    MESSAGE (STATUS "   Trilinos_LIBRARIES = ${Trilinos_LIBRARIES}")
-    MESSAGE (STATUS "   Trilinos_INCLUDE_DIRS = ${Trilinos_INCLUDE_DIRS}")
-    MESSAGE (STATUS "   Trilinos_LIBRARY_DIRS = ${Trilinos_LIBRARY_DIRS}")
-    MESSAGE (STATUS "   Trilinos_TPL_LIST = ${Trilinos_TPL_LIST}")
-    MESSAGE (STATUS "   Trilinos_TPL_INCLUDE_DIRS = ${Trilinos_TPL_INCLUDE_DIRS}")
-    MESSAGE (STATUS "   Trilinos_TPL_LIBRARIES = ${Trilinos_TPL_LIBRARIES}")
-    MESSAGE (STATUS "   Trilinos_TPL_LIBRARY_DIRS = ${Trilinos_TPL_LIBRARY_DIRS}")
-    MESSAGE (STATUS "   Trilinos_BUILD_SHARED_LIBS = ${Trilinos_BUILD_SHARED_LIBS}")
-    MESSAGE (STATUS "End of Trilinos details\n")
+    MESSAGE (STATUS "Found Trilinos: ${Trilinos_DIR}")
+    MESSAGE (STATUS "      Trilinos version: ${Trilinos_VERSION}")
+    MESSAGE (STATUS "      Trilinos package list: ${Trilinos_PACKAGE_LIST}")
+    MESSAGE (STATUS "      Trilinos libraries: ${Trilinos_LIBRARIES}")
+    MESSAGE (STATUS "      Trilinos TPL libraries: ${Trilinos_TPL_LIBRARIES}")
 
     # Make sure to use same compilers and flags as Trilinos
-    #SET(CMAKE_C_COMPILER ${Trilinos_C_COMPILER} )
-    #SET(CMAKE_CXX_COMPILER ${Trilinos_CXX_COMPILER} )
-    #SET(CMAKE_Fortran_COMPILER ${Trilinos_Fortran_COMPILER} )
+    IF (NOT ${CMAKE_CXX_COMPILER} STREQUAL ${Trilinos_CXX_COMPILER} )
+        MESSAGE (STATUS "Compiler mismatch:")
+        MESSAGE (STATUS "        Trilinos was compiled with:")
+        MESSAGE (STATUS "            ${Trilinos_C_COMPILER}")
+        MESSAGE (STATUS "            ${Trilinos_CXX_COMPILER}")
+        MESSAGE (STATUS "            ${Trilinos_Fortran_COMPILER}")
+        MESSAGE (STATUS "        You are using:")
+        MESSAGE (STATUS "            ${CMAKE_C_COMPILER}")
+        MESSAGE (STATUS "            ${CMAKE_CXX_COMPILER}")
+        MESSAGE (STATUS "            ${CMAKE_Fortran_COMPILER}")
+        MESSAGE (FATAL_ERROR "Oops ...")
+    ENDIF ()
 
     #SET(CMAKE_CXX_FLAGS  "${Trilinos_CXX_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}")
     #SET(CMAKE_C_FLAGS  "${Trilinos_C_COMPILER_FLAGS} ${CMAKE_C_FLAGS}")
     #SET(CMAKE_Fortran_FLAGS  "${Trilinos_Fortran_COMPILER_FLAGS} ${CMAKE_Fortran_FLAGS}")
 ENDIF (ENABLE_ML_SOLVER)
 
+MESSAGE (STATUS "Using C++ compiler: ${CMAKE_CXX_COMPILER}")
 
 # compiler dependent flags
-STRING (REGEX REPLACE ".*/([A-Za-z]*)$" "\\1" COMPILER_NAME ${CMAKE_CXX_COMPILER})
-MESSAGE (STATUS "Your compiler is: ${COMPILER_NAME}")
-
-IF ("${COMPILER_NAME}" STREQUAL "mpicxx")
-
-    SET (MPI_UNDERLYING_COMPILER
-        "")
-
-    EXECUTE_PROCESS (COMMAND ${CMAKE_CXX_COMPILER} -show
-                    OUTPUT_VARIABLE MPI_COMPILER_OUTPUT
-                    ERROR_VARIABLE MPI_COMPILER_ERROR)
-    IF ("${MPI_COMPILER_ERROR}" STREQUAL "")
-        STRING (REGEX REPLACE "([A-Za-z.0-9/]*) .*$" "\\1" MPI_UNDERLYING_COMPILER ${MPI_COMPILER_OUTPUT})
-        STRING (REGEX REPLACE "/" ";" MPI_UNDERLYING_COMPILER_SPLIT ${MPI_UNDERLYING_COMPILER})
-        LIST (REVERSE MPI_UNDERLYING_COMPILER_SPLIT)
-        LIST (GET MPI_UNDERLYING_COMPILER_SPLIT 0 MPI_UNDERLYING_COMPILER_NAME)
-    ENDIF ("${MPI_COMPILER_ERROR}" STREQUAL "")
-
-    IF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
-        # using intel compiler
-        MESSAGE (STATUS "The underlying compiler of ${COMPILER_NAME} is: icpc")
+
+SET (MPI_UNDERLYING_COMPILER "")
+
+EXECUTE_PROCESS (COMMAND ${CMAKE_CXX_COMPILER} -show
+                OUTPUT_VARIABLE MPI_COMPILER_OUTPUT
+                ERROR_VARIABLE MPI_COMPILER_ERROR)
+IF ("${MPI_COMPILER_ERROR}" STREQUAL "")
+    STRING (REGEX REPLACE "([A-Za-z.0-9/]*) .*$" "\\1" MPI_UNDERLYING_COMPILER ${MPI_COMPILER_OUTPUT})
+    STRING (REGEX REPLACE "/" ";" MPI_UNDERLYING_COMPILER_SPLIT ${MPI_UNDERLYING_COMPILER})
+    LIST (REVERSE MPI_UNDERLYING_COMPILER_SPLIT)
+    LIST (GET MPI_UNDERLYING_COMPILER_SPLIT 0 MPI_UNDERLYING_COMPILER_NAME)
+ENDIF ("${MPI_COMPILER_ERROR}" STREQUAL "")
+
+IF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
+    # using intel compiler
+    MESSAGE (STATUS "The underlying compiler is: icpc")
+    SET (OTHER_CMAKE_CXX_FLAGS
+         "-diag-disable 383 -diag-disable 981 ${OTHER_CMAKE_CXX_FLAGS}")
+
+ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "clang++")
+    # using clang compiler
+    MESSAGE (STATUS "The underlying compiler is: clang++")
+    SET (OTHER_CMAKE_CXX_FLAGS
+         "-Wsign-compare -Wunused-variable -Warray-bounds -DIPPL_RESTRICT_BUG ${OTHER_CMAKE_CXX_FLAGS}")
+
+ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "g++")
+    # using gnu compiler
+    MESSAGE (STATUS "The underlying compiler is: g++")
+    EXECUTE_PROCESS (COMMAND ${MPI_UNDERLYING_COMPILER} --version
+                    OUTPUT_VARIABLE GCC_VERSION_OUTPUT
+                    ERROR_VARIABLE GCC_VERSION_ERROR)
+    STRING (REGEX REPLACE ".*([0-9]\\.[0-9]\\.[0-9]).*" "\\1" GCC_VERSION ${GCC_VERSION_OUTPUT})
+    MESSAGE (STATUS "Your gcc version is: ${GCC_VERSION}")
+
+    IF (${GCC_VERSION} VERSION_LESS "4.5.0")
+        MESSAGE (FATAL_ERROR "To build OPAL you need gcc version 4.5.0 or greater")
+
+    ELSEIF (${GCC_VERSION} VERSION_LESS "4.6.0")
         SET (OTHER_CMAKE_CXX_FLAGS
-             "-diag-disable 383 -diag-disable 981 ${OTHER_CMAKE_CXX_FLAGS}")
+             "-DOPAL_NOCPLUSPLUS11_NULLPTR -DOPAL_NOCPLUSPLUS11_FOREACH ${OTHER_CMAKE_CXX_FLAGS}")
+
+    ELSEIF (${GCC_VERSION} VERSION_LESS "4.7.0")
+        SET (CMAKE_CXX_FLAGS
+    	"-Wall -Werror -Wno-reorder -std=c++0x $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
 
-    ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "clang++")
-        # using clang compiler
-        MESSAGE (STATUS "The underlying compiler of ${COMPILER_NAME} is: clang++")
+    ELSEIF (${GCC_VERSION} VERSION_EQUAL "4.7.0")
         SET (OTHER_CMAKE_CXX_FLAGS
-             "-Wsign-compare -Wunused-variable -Warray-bounds -DIPPL_RESTRICT_BUG ${OTHER_CMAKE_CXX_FLAGS}")
-
-    ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "g++")
-        # using gnu compiler
-        MESSAGE (STATUS "The underlying compiler of ${COMPILER_NAME} is: g++")
-        EXECUTE_PROCESS (COMMAND ${MPI_UNDERLYING_COMPILER} --version
-                        OUTPUT_VARIABLE GCC_VERSION_OUTPUT
-                        ERROR_VARIABLE GCC_VERSION_ERROR)
-        STRING (REGEX REPLACE ".*([0-9]\\.[0-9]\\.[0-9]).*" "\\1" GCC_VERSION ${GCC_VERSION_OUTPUT})
-        MESSAGE (STATUS "Your gcc version is: ${GCC_VERSION}")
-
-        IF (${GCC_VERSION} VERSION_LESS "4.5.0")
-            MESSAGE (FATAL_ERROR "To build OPAL you need gcc version 4.5.0 or greater")
-        ELSEIF (${GCC_VERSION} VERSION_LESS "4.6.0")
-            SET (OTHER_CMAKE_CXX_FLAGS
-                 "-DOPAL_NOCPLUSPLUS11_NULLPTR -DOPAL_NOCPLUSPLUS11_FOREACH ${OTHER_CMAKE_CXX_FLAGS}")
-        ELSEIF (${GCC_VERSION} VERSION_EQUAL "4.7.0")
-            SET (OTHER_CMAKE_CXX_FLAGS
-                "-DdontOPTIMIZE_FIELD_ASSIGNMENT ${OTHER_CMAKE_CXX_FLAGS}")
-        ENDIF (${GCC_VERSION} VERSION_LESS "4.5.0")
-
-    ELSE ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
-        # using unknown compiler
-        MESSAGE (STATUS "${COMPILER_NAME} is using a compiler (${MPI_UNDERLYING_COMPILER}) we were not thinking of!
-                 Please use the gnu compiler or the intel compiler IF you are having problems.")
-    ENDIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
-
-ELSE ("${COMPILER_NAME}" STREQUAL "mpicxx")
-    # using unknown mpi implementation
-    MESSAGE (STATUS "You are using an unsupported MPI compiler: ${COMPILER_NAME}!
-             Please use the OpenMPI or MPICH IF you are having problems.")
-ENDIF ("${COMPILER_NAME}" STREQUAL "mpicxx")
-
-
-IF (${GCC_VERSION} VERSION_LESS "4.7.0")
-	SET (CMAKE_CXX_FLAGS
-  		"-Wall -Werror -Wno-reorder -std=c++0x $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
-ELSEIF (${GCC_VERSION} VERSION_GREATER "4.7")
-	SET (CMAKE_CXX_FLAGS
-  		"-Wall -Werror -Wno-reorder -std=c++11 $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
-
-#Make sure the members appear in the initializer list in the same order as they appear in the class or turn -Wno-reorder
-
-ENDIF (${GCC_VERSION} VERSION_LESS "4.7.0")
+            "-DdontOPTIMIZE_FIELD_ASSIGNMENT ${OTHER_CMAKE_CXX_FLAGS}")
+
+    ELSEIF (${GCC_VERSION} VERSION_GREATER "4.7")
+        SET (CMAKE_CXX_FLAGS
+    	"-Wall -Werror -Wno-reorder -std=c++11 $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
+
+    ENDIF ()
+
+ELSE ()
+    # using unknown compiler
+    MESSAGE (STATUS "${CMAKE_CXX_COMPILER} is using a compiler (${MPI_UNDERLYING_COMPILER}) we were not thinking of!
+             Please use the gnu compiler or the intel compiler IF you are having problems.")
+ENDIF ()
+
+
+
 MESSAGE (STATUS "Compiling with ${CMAKE_CXX_FLAGS}")
 
 
diff --git a/CMakeModules/FindGSL.cmake b/CMakeModules/FindGSL.cmake
index f55d82d1fed335dc14466109e2a2e669f78f1854..6b16d530a359d6eb1e3630ddd8438878f72183c1 100644
--- a/CMakeModules/FindGSL.cmake
+++ b/CMakeModules/FindGSL.cmake
@@ -10,18 +10,18 @@
 # GSL_FOUND       - do not attempt to use if "no" or undefined.
 
 FIND_PATH(GSL_INCLUDE_DIR gsl/gsl_fft.h
-    HINTS $ENV{GSL_PREFIX}/include
+    HINTS $ENV{GSL_INCLUDE_PATH} $ENV{GSL_INCLUDE_DIR} $ENV{GSL_PREFIX}/include $ENV{GSL_DIR}/include $ENV{GSL}/include
     PATHS ENV CPP_INCLUDE_PATH
 )
 
 
 FIND_LIBRARY(GSL_LIBRARY gsl
-    HINTS $ENV{GSL_PREFIX}/lib
+    HINTS $ENV{GSL_LIBRARY_PATH} $ENV{GSL_LIBRARY_DIR} $ENV{GSL_PREFIX}/lib $ENV{GSL_DIR}/lib $ENV{GSL}/lib
     PATHS ENV LIBRARY_PATH
 )
 
 FIND_LIBRARY(GSL_LIBRARY_CBLAS gslcblas
-    HINTS $ENV{GSL_PREFIX}/lib
+    HINTS $ENV{GSL_LIBRARY_PATH} $ENV{GSL_LIBRARY_DIR} $ENV{GSL_PREFIX}/lib $ENV{GSL_DIR}/lib $ENV{GSL}/lib
     PATHS ENV LIBRARY_PATH
 )
 
@@ -36,7 +36,7 @@ ENDIF(GSL_INCLUDE_DIR AND GSL_LIBRARY)
 
 IF (GSL_FOUND)
    IF (NOT GSL_FIND_QUIETLY)
-      MESSAGE(STATUS "Found GSL library dir: ${GSL_LIBRARY}")
+      MESSAGE(STATUS "Found GSL libraries: ${GSL_LIBRARY}")
       MESSAGE(STATUS "Found GSL include dir: ${GSL_INCLUDE_DIR}")
    ENDIF (NOT GSL_FIND_QUIETLY)
 ELSE (GSL_FOUND)
diff --git a/CMakeModules/FindH5Hut.cmake b/CMakeModules/FindH5Hut.cmake
index 6581b2baa53010ac919b05b00d06387d7b775548..67169f115bb7345e0b10868cf0b8aca10c86b9aa 100644
--- a/CMakeModules/FindH5Hut.cmake
+++ b/CMakeModules/FindH5Hut.cmake
@@ -10,28 +10,22 @@
 # H5Hut_FOUND       - do not attempt to use if "no" or undefined.
 
 FIND_PATH(H5Hut_INCLUDE_DIR H5hut.h
-    HINTS $ENV{H5hut}/src $ENV{H5hut}/include
+    HINTS $ENV{H5HUT_INCLUDE_PATH} $ENV{H5HUT_INCLUDE_DIR} $ENV{H5HUT}/include $ENV{H5HUT_PREFIX}/include $ENV{H5HUT_DIR}/include $ENV{H5hut}/include
     PATHS ENV C_INCLUDE_PATH
 )
 
 FIND_LIBRARY(H5Hut_LIBRARY H5hut
-    HINTS $ENV{H5hut}/lib
+    HINTS $ENV{H5HUT_LIBRARY_PATH} $ENV{H5HUT_LIBRARY_DIR} $ENV{H5HUT}/lib $ENV{H5HUT_PREFIX}/lib $ENV{H5HUT_DIR}/lib $ENV{H5hut}/lib
     PATHS ENV LIBRARY_PATH
 )
 
-FIND_LIBRARY(H5Hut_LIBRARY_C H5hutC
-    HINTS $ENV{H5hut}/lib
-    PATHS ENV LIBRARY_PATH
-)
-
-
 IF(H5Hut_INCLUDE_DIR AND H5Hut_LIBRARY)
     SET( H5Hut_FOUND "YES" )
 ENDIF(H5Hut_INCLUDE_DIR AND H5Hut_LIBRARY)
 
 IF (H5Hut_FOUND)
    IF (NOT H5Hut_FIND_QUIETLY)
-      MESSAGE(STATUS "Found H5Hut library dir: ${H5Hut_LIBRARY}; ${H5Hut_LIBRARY_C}")
+      MESSAGE(STATUS "Found H5Hut libraries: ${H5Hut_LIBRARY}")
       MESSAGE(STATUS "Found H5Hut include dir: ${H5Hut_INCLUDE_DIR}")
    ENDIF (NOT H5Hut_FIND_QUIETLY)
 ELSE (H5Hut_FOUND)
diff --git a/CMakeModules/FindHDF5.cmake b/CMakeModules/FindHDF5.cmake
index e65833565aff7c61622aa48895addcef0838b899..429d5930df70e58366977e830ca96e17b88ae0fa 100644
--- a/CMakeModules/FindHDF5.cmake
+++ b/CMakeModules/FindHDF5.cmake
@@ -12,12 +12,12 @@
 SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
 
 FIND_PATH(HDF5_INCLUDE_DIR hdf5.h
-    HINTS $ENV{HDF5_INCLUDE_PATH}
-    PATHS ENV CPLUS_INCLUDE_PATH
+    HINTS $ENV{HDF5_INCLUDE_PATH} $ENV{HDF5_INCLUDE_DIR} $ENV{HDF5_PREFIX}/include $ENV{HDF5_DIR}/include $ENV{HDF5}/include
+    PATHS ENV C_INCLUDE_PATH
 )
 
 FIND_LIBRARY(HDF5_LIBRARY libhdf5.a
-    HINTS $ENV{HDF5_LIBRARY_PATH}
+    HINTS $ENV{HDF5_LIBRARY_PATH} $ENV{HDF5_LIBRARY_DIR} $ENV{HDF5_PREFIX}/lib $ENV{HDF5_DIR}/lib $ENV{HDF5}/lib
     PATHS ENV LIBRARY_PATH
 )
 
@@ -28,7 +28,7 @@ ENDIF(HDF5_INCLUDE_DIR AND HDF5_LIBRARY)
 
 IF (HDF5_FOUND)
    IF (NOT HDF5_FIND_QUIETLY)
-      MESSAGE(STATUS "Found HDF5 library dir: ${HDF5_LIBRARY}")
+      MESSAGE(STATUS "Found HDF5 library: ${HDF5_LIBRARY}")
       MESSAGE(STATUS "Found HDF5 include dir: ${HDF5_INCLUDE_DIR}")
    ENDIF (NOT HDF5_FIND_QUIETLY)
 ELSE (HDF5_FOUND)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1c7c2a2e3236e5ac436bfbbe079fa87756e716b6..46c71d1149afc2fa753a5f5321c7be607cd73d98 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -101,7 +101,6 @@ link_directories (
 set (OPAL_LIBS
     m
     ${GSL_LIBRARY}
-    ${H5Hut_LIBRARY_C}
     ${H5Hut_LIBRARY}
     ${HDF5_LIBRARY}
     ${IPPL_LIBRARY}
@@ -109,7 +108,7 @@ set (OPAL_LIBS
 )
 
 add_executable( opal ${OPAL_SRCS} Main.cpp )
-target_link_libraries( opal CLASSIC ${OPAL_LIBS} ${Trilinos_LIBRARIES} ${Trilinos_TPL_LIBRARIES})
+target_link_libraries( opal CLASSIC ${OPAL_LIBS} ${Trilinos_LIBRARIES} ${Trilinos_TPL_LIBRARIES} -lgfortran)
 
 if (BUILD_LIBOPAL)
     add_library( OPAL ${OPAL_SRCS} opal.cpp )