I haven't really followed the whole discussion but in our projects, we
no longer use the FindHDF5.cmake file which comes with cmake since HDF5
now directly defines hdf5-config.cmake, hdf5-targets.cmake etc in
lib/cmake/hdf5-version or share/cmake/hdf5-version depending on the
version used.
We just do something like this:
FIND_PACKAGE(HDF5 "1.8.6" REQUIRED NO_MODULE)
IF(HDF5_FOUND)
SET(LIBS hdf5)
INCLUDE_DIRECTORIES(${HDF5_INCLUDE_DIR})
ENDIF(HDF5_FOUND)
Then we simply give, during the cmake configuration, the HDF5_DIR where
all the hdf5 .cmake files are installed and that's all.
Jerome
On 03/15/2011 10:16 PM, Williams, Norman K wrote:
I just wanted to write some files so matlab could read them ;-)
I talk nearly daily with people at Kitware about CMake -- I think part of
the problem is that whatever gets pushed into CMake sticks around; the HDF
library has a couple of commonly used major versions and active
development on minor versions. A really useful FindHDF5.cmake would
support specifying the version, and adjust according to the version
requested.
On 3/15/11 4:01 PM, "Michael Jackson"<[email protected]> wrote:
On the note of the FindHDF5.cmake file that comes with CMake "The HDF
Group" may want to really consider taking ownership of that module so
that you can synchronize the "FindHDF.cmake" with the HDF5/CMake
integration and make sure they work correctly together. I also have my
own version of FindHDF5.cmake that I use that works with my cmake version
of HDF5 V1.6.9. I think there are more than a few versions of
FindHDF5.cmake floating around.
___________________________________________________________
Mike Jackson www.bluequartz.net
Principal Software Engineer [email protected]
BlueQuartz Software Dayton, Ohio
On Mar 15, 2011, at 4:24 PM, Allen D Byrne wrote:
Yes. I found that out as well, I have overrode that module in the 1.8.7
config/cmake folder. You might try getting the source from the 1.8
branch:
http://svn.hdfgroup.uiuc.edu/hdf5/branches/hdf5_1_8
Allen
I'd be glad to use a snapshot, if it fixed the problems I'm seeing.
The bigger problem is that the FindHDF5.cmake that's distributed with
CMake is brain-damaged, or its interaction with the hdf5-config.cmake
file
is dysfunctional.
FindHDF5.cmake is looking for h5cc or h5pcc which aren't actually
getting
built or installed.
Then HDF5_INCLUDE_DIRS and HDF5_LIBRARIES are supposed to be defined
in
hdf5-config.cmake and they aren't.
--
Kent Williams [email protected]
From: Allen D Byrne<[email protected]>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:57:06 -0500
To: Mushly McMushmaster<[email protected]>
Cc: "[email protected]"<[email protected]>
Subject: Re: [Hdf-forum] Trying to build HDF5 1.8.6 with CMake,
getting
undefined externals?
Interesting. I wouldn't think you need to pass in the COMPILER args
since
it should use the same settings as the parent project. Post 1.8.6
code has
been tested as an external project, but with compression libs
explictly
enabled/disabled. Have you inspected the generated files to determine
if
they make sense. How about the log files for any clues?
Can you use a 1.8.7 snapshot? There was significant cmake code changes
after 1.8.6 concerning use as an External Project.
Allen
I satisfy both of those expectations. If you're curious what I'm
doing
is:
# External_HDF5.cmake
#
# gets C/CXX stuff from parent project
# BRAINS3_INSTALL_PREFIX = local install dir for prerequisites for
BRAINS3
# BUILD_SHARED_LIBS = whether or not to build shared libs. Normally
On.
include(ExternalProject)
ExternalProject_add(HDF5
SOURCE_DIR HDF5
BINARY_DIR HDF5-build
URL
"http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.6.tar.gz"
URL_MD5 bd2d369dfcf7aa0437dde6aeb8460a31
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
-DCMAKE_CXX_COMPILER_ARG1:STRING=${CMAKE_CXX_COMPILER_ARG1}
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DCMAKE_C_COMPILER_ARG1:STRING=${CMAKE_C_COMPILER_ARG1}
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_PREFIX:PATH=${BRAINS3_INSTALL_PREFIX}
INSTALL_DIR ${BRAINS3_INSTALL_PREFIX}
)
From: Allen D Byrne<[email protected]>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:24:06 -0500
To:<[email protected]>
Cc: Mushly McMushmaster<[email protected]>
Subject: Re: [Hdf-forum] Trying to build HDF5 1.8.6 with CMake,
getting
undefined externals?
When building with cmake there are two expectations, one is that the
everything will be built out of source (usually create a sub-folder
called
build) and that the source folders are clean (you did not run
configure
and/or build in source).
That has to do with the cmake part, I will need find some help for
why
you
get the following errors if the above conditions are met.
Allen
I sure don't understand this problem. If I use CMake (on OS X
10.6
with
CMake 2.8.4) I get all sorts of mysterious undefined externals.
When I look through the source, these appear to be used as
function
points
when they've never been defined. E.G.
./src/H5Osdspace.c:#define H5O_SHARED_ENCODE
H5O_sdspace_shared_encode
./src/H5Osdspace.c: H5O_sdspace_shared_encode, /* encode
message */
What gives?
Linking C shared library ../bin/libhdf5.dylib
Undefined symbols:
"_H5O_sdspace_shared_encode", referenced from:
_H5O_MSG_SDSPACE in H5Osdspace.c.o
"_H5O_attr_shared_size", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
"_H5O_fill_shared_encode", referenced from:
_H5O_MSG_FILL in H5Ofill.c.o
"_H5O_pline_shared_encode", referenced from:
_H5O_MSG_PLINE in H5Opline.c.o
"_H5O_dtype_shared_copy_file", referenced from:
_H5O_MSG_DTYPE in H5Odtype.c.o
"_H5O_attr_shared_post_copy_file", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
"_H5O_fill_new_shared_decode", referenced from:
_H5O_MSG_FILL_NEW in H5Ofill.c.o
"_H5O_fill_new_shared_debug", referenced from:
_H5O_MSG_FILL_NEW in H5Ofill.c.o
"_H5O_attr_shared_decode", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
"_H5O_fill_new_shared_delete", referenced from:
_H5O_MSG_FILL_NEW in H5Ofill.c.o
"_H5O_attr_shared_delete", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
"_H5O_sdspace_shared_decode", referenced from:
_H5O_MSG_SDSPACE in H5Osdspace.c.o
"_H5O_fill_shared_decode", referenced from:
_H5O_MSG_FILL in H5Ofill.c.o
"_H5O_pline_shared_decode", referenced from:
_H5O_MSG_PLINE in H5Opline.c.o
"_H5O_pline_shared_link", referenced from:
_H5O_MSG_PLINE in H5Opline.c.o
"_H5O_sdspace_shared_delete", referenced from:
_H5O_MSG_SDSPACE in H5Osdspace.c.o
"_H5O_fill_new_shared_link", referenced from:
_H5O_MSG_FILL_NEW in H5Ofill.c.o
"_H5O_fill_shared_delete", referenced from:
_H5O_MSG_FILL in H5Ofill.c.o
"_H5O_attr_shared_debug", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
"_H5O_sdspace_shared_link", referenced from:
_H5O_MSG_SDSPACE in H5Osdspace.c.o
"_H5O_pline_shared_delete", referenced from:
_H5O_MSG_PLINE in H5Opline.c.o
"_H5O_pline_shared_size", referenced from:
_H5O_MSG_PLINE in H5Opline.c.o
"_H5O_pline_shared_debug", referenced from:
_H5O_MSG_PLINE in H5Opline.c.o
"_H5O_dtype_shared_link", referenced from:
_H5O_MSG_DTYPE in H5Odtype.c.o
"_H5O_fill_new_shared_size", referenced from:
_H5O_MSG_FILL_NEW in H5Ofill.c.o
"_H5O_sdspace_shared_size", referenced from:
_H5O_MSG_SDSPACE in H5Osdspace.c.o
"_H5O_attr_shared_copy_file", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
"_H5O_dtype_shared_size", referenced from:
_H5O_MSG_DTYPE in H5Odtype.c.o
"_H5O_pline_shared_copy_file", referenced from:
_H5O_MSG_PLINE in H5Opline.c.o
"_H5O_dtype_shared_encode", referenced from:
_H5O_MSG_DTYPE in H5Odtype.c.o
"_H5O_fill_shared_debug", referenced from:
_H5O_MSG_FILL in H5Ofill.c.o
"_H5O_sdspace_shared_copy_file", referenced from:
_H5O_MSG_SDSPACE in H5Osdspace.c.o
"_H5O_sdspace_shared_debug", referenced from:
_H5O_MSG_SDSPACE in H5Osdspace.c.o
"_H5O_fill_shared_link", referenced from:
_H5O_MSG_FILL in H5Ofill.c.o
"_H5O_fill_new_shared_copy_file", referenced from:
_H5O_MSG_FILL_NEW in H5Ofill.c.o
"_H5O_dtype_shared_decode", referenced from:
_H5O_MSG_DTYPE in H5Odtype.c.o
"_H5O_fill_shared_size", referenced from:
_H5O_MSG_FILL in H5Ofill.c.o
"_H5O_fill_new_shared_encode", referenced from:
_H5O_MSG_FILL_NEW in H5Ofill.c.o
"_H5O_fill_shared_copy_file", referenced from:
_H5O_MSG_FILL in H5Ofill.c.o
"_H5O_attr_shared_encode", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
"_H5O_dtype_shared_delete", referenced from:
_H5O_MSG_DTYPE in H5Odtype.c.o
"_H5O_dtype_shared_debug", referenced from:
_H5O_MSG_DTYPE in H5Odtype.c.o
"_H5O_attr_shared_link", referenced from:
_H5O_MSG_ATTR in H5Oattr.c.o
ld: symbol(s) not found
________________________________
Notice: This UI Health Care e-mail (including attachments) is
covered
by
the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
confidential and may be legally privileged. If you are not the
intended
recipient, you are hereby notified that any retention,
dissemination,
distribution, or copying of this communication is strictly
prohibited.
Please reply to the sender that you have received the message in
error,
then delete it. Thank you.
________________________________
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
________________________________
Notice: This UI Health Care e-mail (including attachments) is
covered by
the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
confidential and may be legally privileged. If you are not the
intended
recipient, you are hereby notified that any retention, dissemination,
distribution, or copying of this communication is strictly
prohibited.
Please reply to the sender that you have received the message in
error,
then delete it. Thank you.
________________________________
________________________________
Notice: This UI Health Care e-mail (including attachments) is covered
by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
confidential and may be legally privileged. If you are not the intended
recipient, you are hereby notified that any retention, dissemination,
distribution, or copying of this communication is strictly prohibited.
Please reply to the sender that you have received the message in error,
then delete it. Thank you.
________________________________
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the
Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and
may be legally privileged. If you are not the intended recipient, you are
hereby notified that any retention, dissemination, distribution, or copying of
this communication is strictly prohibited. Please reply to the sender that you
have received the message in error, then delete it. Thank you.
________________________________
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
--
Jérôme Soumagne
Scientific Computing Research Group
CSCS, Swiss National Supercomputing Centre
Galleria 2, Via Cantonale | Tel: +41 (0)91 610 8258
CH-6928 Manno, Switzerland | Fax: +41 (0)91 610 8282
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org