Trying to build HDF5 1.8.6 with CMake, getting undefined externals?

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.
________________________________

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.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

By the way this problem doesn't occur if I add
-DBUILD_SHARED_LIBS:BOOL=Off to my CMake configuration.

···

On 3/15/11 2:08 PM, "Williams, Norman K" <norman-k-williams@uiowa.edu> wrote:

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.
Hdf-forum@hdfgroup.org
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.
________________________________

And to go back to my original point: If I use CMake (with any version of
1.8.x) I get undefined externals for functions with _shared_ in the middle
of their names.

Looking closer -- it appears that there's a number of functions defined I
H5Oshared.h that get renamed using the C Preprocessor.

Looking at the pre-processed source code, I'd say there's actually a
bug/feature in the OS X linker that's causing this problem. A method is
defined static in H5Oshared.h, and then a pointer to the function is used
to initialize a structure member.

This problem goes away if I remove the 'static H5_inline' from the
function definitions in H5Oshared.h

As it happens it seems like there were some contradictory things going on
here:

1. If you declare a function 'inline' and then use it's address, it can't
be inlined.
2. If the function is static, there is no need to rename it in separate
compilation units. If you go to the trouble of renaming it, it doesn't
need to be static.

If I remove the 'static H5_inline' from the function definitions in
H5Oshared.h, the library builds on OS X with CMake.

This doesn't explain why it DOES build if you use the autoconf-generated
Makefiles.

My brain hurts!

···

On 3/15/11 2:08 PM, "Williams, Norman K" <norman-k-williams@uiowa.edu> wrote:

./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

________________________________
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.
________________________________

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 <byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:24:06 -0500
To: <hdf-forum@hdfgroup.org>
Cc: Mushly McMushmaster <norman-k-williams@uiowa.edu>
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.
Hdf-forum@hdfgroup.org
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.
________________________________

I have entered this into our bug tracker. Just reference BZ-2213.

Allen

···

And to go back to my original point: If I use CMake (with any version of
1.8.x) I get undefined externals for functions with _shared_ in the middle
of their names.

Looking closer -- it appears that there's a number of functions defined I
H5Oshared.h that get renamed using the C Preprocessor.

Looking at the pre-processed source code, I'd say there's actually a
bug/feature in the OS X linker that's causing this problem. A method is
defined static in H5Oshared.h, and then a pointer to the function is used
to initialize a structure member.

This problem goes away if I remove the 'static H5_inline' from the
function definitions in H5Oshared.h

As it happens it seems like there were some contradictory things going on
here:

1. If you declare a function 'inline' and then use it's address, it can't
be inlined.
2. If the function is static, there is no need to rename it in separate
compilation units. If you go to the trouble of renaming it, it doesn't
need to be static.

If I remove the 'static H5_inline' from the function definitions in
H5Oshared.h, the library builds on OS X with CMake.

This doesn't explain why it DOES build if you use the autoconf-generated
Makefiles.

My brain hurts!

On 3/15/11 2:08 PM, "Williams, Norman K" <norman-k-williams@uiowa.edu> > wrote:

>
>./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

________________________________
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.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

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 <byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:24:06 -0500
To: <hdf-forum@hdfgroup.org>
Cc: Mushly McMushmaster <norman-k-williams@uiowa.edu>
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.
> Hdf-forum@hdfgroup.org
> 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.
________________________________

One more thing that could be a problem, our cmake integration is new and has not been tested everywhere yet. It is tested on Windows extensively, linux gets tested in a couple of configurations, other platforms are to be incorporated as the resources become available.

Any chance you can build HDF5 standalone, without using ExternalProject_add()? Just to make sure that it works on your platform?

Allen

···

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}
> )
>

I sure can't find my way into the bug tracker for hdf...

···

On 3/16/11 11:10 AM, "Allen D Byrne" <byrn@hdfgroup.org> wrote:

I have entered this into our bug tracker. Just reference BZ-2213.
Allen

And to go back to my original point: If I use CMake (with any version of
1.8.x) I get undefined externals for functions with _shared_ in the
middle
of their names.

Looking closer -- it appears that there's a number of functions defined
I
H5Oshared.h that get renamed using the C Preprocessor.

Looking at the pre-processed source code, I'd say there's actually a
bug/feature in the OS X linker that's causing this problem. A method is
defined static in H5Oshared.h, and then a pointer to the function is
used
to initialize a structure member.

This problem goes away if I remove the 'static H5_inline' from the
function definitions in H5Oshared.h

As it happens it seems like there were some contradictory things going
on
here:

1. If you declare a function 'inline' and then use it's address, it
can't
be inlined.
2. If the function is static, there is no need to rename it in separate
compilation units. If you go to the trouble of renaming it, it doesn't
need to be static.

If I remove the 'static H5_inline' from the function definitions in
H5Oshared.h, the library builds on OS X with CMake.

This doesn't explain why it DOES build if you use the autoconf-generated
Makefiles.

My brain hurts!

On 3/15/11 2:08 PM, "Williams, Norman K" <norman-k-williams@uiowa.edu> >> wrote:

>
>./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

________________________________
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.
Hdf-forum@hdfgroup.org
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.
________________________________

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 norman-k-williams@uiowa.edu

From: Allen D Byrne <byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:57:06 -0500
To: Mushly McMushmaster <norman-k-williams@uiowa.edu>
Cc: "hdf-forum@hdfgroup.org" <hdf-forum@hdfgroup.org>
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 <byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:24:06 -0500
To: <hdf-forum@hdfgroup.org>
Cc: Mushly McMushmaster <norman-k-williams@uiowa.edu>
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.
> Hdf-forum@hdfgroup.org
> 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.
________________________________

Sorry, I meant reference in email - I think the bug tracker is only accessible within HDF.

Apologies for the confusion,
    Allen

···

I sure can't find my way into the bug tracker for hdf...

On 3/16/11 11:10 AM, "Allen D Byrne" <byrn@hdfgroup.org> wrote:

>I have entered this into our bug tracker. Just reference BZ-2213.
>Allen
>> And to go back to my original point: If I use CMake (with any version of
>> 1.8.x) I get undefined externals for functions with _shared_ in the
>>middle
>> of their names.
>>
>>
>> Looking closer -- it appears that there's a number of functions defined
>>I
>> H5Oshared.h that get renamed using the C Preprocessor.
>>
>> Looking at the pre-processed source code, I'd say there's actually a
>> bug/feature in the OS X linker that's causing this problem. A method is
>> defined static in H5Oshared.h, and then a pointer to the function is
>>used
>> to initialize a structure member.
>>
>> This problem goes away if I remove the 'static H5_inline' from the
>> function definitions in H5Oshared.h
>>
>> As it happens it seems like there were some contradictory things going
>>on
>> here:
>>
>> 1. If you declare a function 'inline' and then use it's address, it
>>can't
>> be inlined.
>> 2. If the function is static, there is no need to rename it in separate
>> compilation units. If you go to the trouble of renaming it, it doesn't
>> need to be static.
>>
>> If I remove the 'static H5_inline' from the function definitions in
>> H5Oshared.h, the library builds on OS X with CMake.
>>
>> This doesn't explain why it DOES build if you use the autoconf-generated
>> Makefiles.
>>
>> My brain hurts!
>>
>> On 3/15/11 2:08 PM, "Williams, Norman K" <norman-k-williams@uiowa.edu> > >> wrote:
>>
>> >
>> >./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
>>
>>
>>
>> ________________________________
>> 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.
>> Hdf-forum@hdfgroup.org
>> 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.
________________________________

It turns out the problem is rather obscure: we were adding the -fopenmp
flag! If that flag isn't set everything works fine.

Curious that OpenMP is the problem, and curioser that it somehow affects
what's happening when H5Oshared.h is included.

···

________________________________
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.
________________________________

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 norman-k-williams@uiowa.edu

From: Allen D Byrne <byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:57:06 -0500
To: Mushly McMushmaster <norman-k-williams@uiowa.edu>
Cc: "hdf-forum@hdfgroup.org" <hdf-forum@hdfgroup.org>
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 <byrn@hdfgroup.org>
> Organization: HDF Group
> Date: Tue, 15 Mar 2011 14:24:06 -0500
> To: <hdf-forum@hdfgroup.org>
> Cc: Mushly McMushmaster <norman-k-williams@uiowa.edu>
> 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.
> > Hdf-forum@hdfgroup.org
> > 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.
________________________________

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 mike.jackson@bluequartz.net
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 norman-k-williams@uiowa.edu
>
>
>
>
>
>
> From: Allen D Byrne <byrn@hdfgroup.org>
> Organization: HDF Group
> Date: Tue, 15 Mar 2011 14:57:06 -0500
> To: Mushly McMushmaster <norman-k-williams@uiowa.edu>
> Cc: "hdf-forum@hdfgroup.org" <hdf-forum@hdfgroup.org>
> 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 <byrn@hdfgroup.org>
> > Organization: HDF Group
> > Date: Tue, 15 Mar 2011 14:24:06 -0500
> > To: <hdf-forum@hdfgroup.org>
> > Cc: Mushly McMushmaster <norman-k-williams@uiowa.edu>
> > 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.
> > > Hdf-forum@hdfgroup.org
> > > 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.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

I just wanted to write some files so matlab could read them :wink:

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" <mike.jackson@bluequartz.net> 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 mike.jackson@bluequartz.net
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 norman-k-williams@uiowa.edu
>
>
>
>
>
>
> From: Allen D Byrne <byrn@hdfgroup.org>
> Organization: HDF Group
> Date: Tue, 15 Mar 2011 14:57:06 -0500
> To: Mushly McMushmaster <norman-k-williams@uiowa.edu>
> Cc: "hdf-forum@hdfgroup.org" <hdf-forum@hdfgroup.org>
> 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 <byrn@hdfgroup.org>
> > Organization: HDF Group
> > Date: Tue, 15 Mar 2011 14:24:06 -0500
> > To: <hdf-forum@hdfgroup.org>
> > Cc: Mushly McMushmaster <norman-k-williams@uiowa.edu>
> > 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.
> > > Hdf-forum@hdfgroup.org
> > > 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.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
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.
________________________________

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 :wink:

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"<mike.jackson@bluequartz.net> 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 mike.jackson@bluequartz.net
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 norman-k-williams@uiowa.edu

From: Allen D Byrne<byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:57:06 -0500
To: Mushly McMushmaster<norman-k-williams@uiowa.edu>
Cc: "hdf-forum@hdfgroup.org"<hdf-forum@hdfgroup.org>
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<byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:24:06 -0500
To:<hdf-forum@hdfgroup.org>
Cc: Mushly McMushmaster<norman-k-williams@uiowa.edu>
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.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
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

I'm happy that it works for you, the folks that contributed to the development of the CMake files really did a wonderful job. They also found a couple of problems after the 1.8.6 release code freeze in these config files. So just a heads up, that I anticipate the 1.8.7 release to be the CMake standard. And if there are some CMake issues you want addressed, we still have time to get them into the 1.8.7 code!

I do have an FindHDF5.cmake file which is different than that supplied with CMake.

For those that have the time, please take a look at the 1.8 branch in our svn repo. Also, please stay tuned on for annoucement when we will have our public CDash site available!

Thanks,
      Allen

···

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 :wink:
>
>
> 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"<mike.jackson@bluequartz.net> 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 mike.jackson@bluequartz.net
>> 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 norman-k-williams@uiowa.edu
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> From: Allen D Byrne<byrn@hdfgroup.org>
>>>> Organization: HDF Group
>>>> Date: Tue, 15 Mar 2011 14:57:06 -0500
>>>> To: Mushly McMushmaster<norman-k-williams@uiowa.edu>
>>>> Cc: "hdf-forum@hdfgroup.org"<hdf-forum@hdfgroup.org>
>>>> 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<byrn@hdfgroup.org>
>>>>> Organization: HDF Group
>>>>> Date: Tue, 15 Mar 2011 14:24:06 -0500
>>>>> To:<hdf-forum@hdfgroup.org>
>>>>> Cc: Mushly McMushmaster<norman-k-williams@uiowa.edu>
>>>>> 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.
>>>>>> Hdf-forum@hdfgroup.org
>>>>>> 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.
>>> Hdf-forum@hdfgroup.org
>>> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>>
>> _______________________________________________
>> Hdf-forum is for HDF software users discussion.
>> Hdf-forum@hdfgroup.org
>> 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.
> Hdf-forum@hdfgroup.org
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

There ought to be a FindHDF5.cmake file in the source tree; as a reference
if nothing else. If the one distributed with CMake is no long relevant, a
new one should be submitted to the Kitware folks.

If you have a functional FindHDF5.cmake, I'd love to have a copy.

My primary complaint -- which doesn't go away even with the SVN 1.8 head
-- is that if you configure with CMake, with BUILD_SHARED_LIBS set to
true, the main hdf5 library fails to build, because of some mysterious
missing symbols.

···

<<

On 3/15/11 6:00 PM, "Jerome Soumagne" <soumagne@cscs.ch> wrote:

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 :wink:

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"<mike.jackson@bluequartz.net> >>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 mike.jackson@bluequartz.net
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 norman-k-williams@uiowa.edu

From: Allen D Byrne<byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:57:06 -0500
To: Mushly McMushmaster<norman-k-williams@uiowa.edu>
Cc: "hdf-forum@hdfgroup.org"<hdf-forum@hdfgroup.org>
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<byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:24:06 -0500
To:<hdf-forum@hdfgroup.org>
Cc: Mushly McMushmaster<norman-k-williams@uiowa.edu>
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.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
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.
________________________________

Allen,

I'm happy that it works for you, the folks that contributed to the development of the CMake files really did a wonderful job. They also found a couple of problems after the 1.8.6 release code freeze in these config files. So just a heads up, that I anticipate the 1.8.7 release to be the CMake standard. And if there are some CMake issues you want addressed, we still have time to get them into the 1.8.7 code!

I do have an FindHDF5.cmake file which is different than that supplied with CMake.

Just a precision, when I said "we no longer use the FindHDF5.cmake file which comes with cmake", I actually meant, we do not use any FindHDF5.cmake file at all (thanks to John). The FIND_PACKAGE(HDF5 "1.8.6" REQUIRED NO_MODULE) command is sufficient, it will ask for the HDF5_DIR to be set (if it is not found automatically). Everything is then picked up from the hdf5 target and config files (even the MPI libraries used during the compilation of hdf5 if the parallel mode has been enabled).

Jerome

···

On 03/16/2011 01:54 PM, Allen D Byrne wrote:

For those that have the time, please take a look at the 1.8 branch in our svn repo. Also, please stay tuned on for annoucement when we will have our public CDash site available!

Thanks,

Allen

> 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 :wink:

> >

> >

> > 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"<mike.jackson@bluequartz.net> > 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 mike.jackson@bluequartz.net

> >> 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 norman-k-williams@uiowa.edu

> >>>>

> >>>>

> >>>>

> >>>>

> >>>>

> >>>>

> >>>> From: Allen D Byrne<byrn@hdfgroup.org>

> >>>> Organization: HDF Group

> >>>> Date: Tue, 15 Mar 2011 14:57:06 -0500

> >>>> To: Mushly McMushmaster<norman-k-williams@uiowa.edu>

> >>>> Cc: "hdf-forum@hdfgroup.org"<hdf-forum@hdfgroup.org>

> >>>> 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<byrn@hdfgroup.org>

> >>>>> Organization: HDF Group

> >>>>> Date: Tue, 15 Mar 2011 14:24:06 -0500

> >>>>> To:<hdf-forum@hdfgroup.org>

> >>>>> Cc: Mushly McMushmaster<norman-k-williams@uiowa.edu>

> >>>>> 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.

> >>>>>> Hdf-forum@hdfgroup.org

> >>>>>> 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.

> >>> Hdf-forum@hdfgroup.org

> >>> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

> >>

> >> _______________________________________________

> >> Hdf-forum is for HDF software users discussion.

> >> Hdf-forum@hdfgroup.org

> >> 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.

> > Hdf-forum@hdfgroup.org

> > 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

So yes as I said in my previous e-mail you don't need any copy since there is no need to use a FindHDF5.cmake file. That's why we like so much this new hdf5 with cmake integration.

As far as I know on our machines, we haven't got any problems with BUILD_SHARED_LIBS set to true and we now always use cmake to compile hdf5. We've never tried on Mac OS though, I think, only Linux and Windows.

Jerome

···

On 03/16/2011 03:11 PM, Williams, Norman K wrote:

There ought to be a FindHDF5.cmake file in the source tree; as a reference
if nothing else. If the one distributed with CMake is no long relevant, a
new one should be submitted to the Kitware folks.

If you have a functional FindHDF5.cmake, I'd love to have a copy.

My primary complaint -- which doesn't go away even with the SVN 1.8 head
-- is that if you configure with CMake, with BUILD_SHARED_LIBS set to
true, the main hdf5 library fails to build, because of some mysterious
missing symbols.

<<

On 3/15/11 6:00 PM, "Jerome Soumagne"<soumagne@cscs.ch> wrote:

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 :wink:

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"<mike.jackson@bluequartz.net> >>> 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 mike.jackson@bluequartz.net
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 norman-k-williams@uiowa.edu

From: Allen D Byrne<byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:57:06 -0500
To: Mushly McMushmaster<norman-k-williams@uiowa.edu>
Cc: "hdf-forum@hdfgroup.org"<hdf-forum@hdfgroup.org>
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<byrn@hdfgroup.org>
Organization: HDF Group
Date: Tue, 15 Mar 2011 14:24:06 -0500
To:<hdf-forum@hdfgroup.org>
Cc: Mushly McMushmaster<norman-k-williams@uiowa.edu>
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.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
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.
Hdf-forum@hdfgroup.org
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