I satisfy both of those expectations.  If you're curious what I'm doing is:

# External_HDF5.cmake
#
# gets C/CXX stuff from parent project
# BRAINS3_INSTALL_PREFIX = local install dir for prerequisites for BRAINS3
# BUILD_SHARED_LIBS = whether or not to build shared libs. Normally On.
include(ExternalProject)

ExternalProject_add(HDF5
  SOURCE_DIR HDF5
  BINARY_DIR HDF5-build
  URL "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.6.tar.gz";
  URL_MD5 bd2d369dfcf7aa0437dde6aeb8460a31
  UPDATE_COMMAND ""
  CMAKE_ARGS
  -DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
  -DCMAKE_CXX_COMPILER_ARG1:STRING=${CMAKE_CXX_COMPILER_ARG1}
  -DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
  -DCMAKE_C_COMPILER_ARG1:STRING=${CMAKE_C_COMPILER_ARG1}
  -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
  -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
  -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
  -DCMAKE_INSTALL_PREFIX:PATH=${BRAINS3_INSTALL_PREFIX}
  INSTALL_DIR ${BRAINS3_INSTALL_PREFIX}
)





From:  Allen D Byrne <[email protected]>
Organization:  HDF Group
Date:  Tue, 15 Mar 2011 14:24:06 -0500
To:  <[email protected]>
Cc:  Mushly McMushmaster <[email protected]>
Subject:  Re: [Hdf-forum] Trying to build HDF5 1.8.6 with CMake, getting
undefined externals?


When building with cmake there are two expectations, one is that the
everything will be built out of source (usually create a sub-folder called
build) and that the source folders are clean (you did not run configure
and/or build in source).
That has to do with the cmake part, I will need find some help for why you
get the following errors if the above conditions are met.
Allen
> I sure don't understand this problem.  If I use CMake (on OS X 10.6 with
> CMake 2.8.4)  I get all sorts of mysterious undefined externals.
>
> When I look through the source, these appear to be used as function
>points
> when they've never been defined.  E.G.
>
> ./src/H5Osdspace.c:#define H5O_SHARED_ENCODE  H5O_sdspace_shared_encode
> ./src/H5Osdspace.c:    H5O_sdspace_shared_encode, /* encode message */
>
>
> What gives?
>
> Linking C shared library ../bin/libhdf5.dylib
> Undefined symbols:
>   "_H5O_sdspace_shared_encode", referenced from:
>       _H5O_MSG_SDSPACE in H5Osdspace.c.o
>   "_H5O_attr_shared_size", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
>   "_H5O_fill_shared_encode", referenced from:
>       _H5O_MSG_FILL in H5Ofill.c.o
>   "_H5O_pline_shared_encode", referenced from:
>       _H5O_MSG_PLINE in H5Opline.c.o
>   "_H5O_dtype_shared_copy_file", referenced from:
>       _H5O_MSG_DTYPE in H5Odtype.c.o
>   "_H5O_attr_shared_post_copy_file", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
>   "_H5O_fill_new_shared_decode", referenced from:
>       _H5O_MSG_FILL_NEW in H5Ofill.c.o
>   "_H5O_fill_new_shared_debug", referenced from:
>       _H5O_MSG_FILL_NEW in H5Ofill.c.o
>   "_H5O_attr_shared_decode", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
>   "_H5O_fill_new_shared_delete", referenced from:
>       _H5O_MSG_FILL_NEW in H5Ofill.c.o
>   "_H5O_attr_shared_delete", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
>   "_H5O_sdspace_shared_decode", referenced from:
>       _H5O_MSG_SDSPACE in H5Osdspace.c.o
>   "_H5O_fill_shared_decode", referenced from:
>       _H5O_MSG_FILL in H5Ofill.c.o
>   "_H5O_pline_shared_decode", referenced from:
>       _H5O_MSG_PLINE in H5Opline.c.o
>   "_H5O_pline_shared_link", referenced from:
>       _H5O_MSG_PLINE in H5Opline.c.o
>   "_H5O_sdspace_shared_delete", referenced from:
>       _H5O_MSG_SDSPACE in H5Osdspace.c.o
>   "_H5O_fill_new_shared_link", referenced from:
>       _H5O_MSG_FILL_NEW in H5Ofill.c.o
>   "_H5O_fill_shared_delete", referenced from:
>       _H5O_MSG_FILL in H5Ofill.c.o
>   "_H5O_attr_shared_debug", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
>   "_H5O_sdspace_shared_link", referenced from:
>       _H5O_MSG_SDSPACE in H5Osdspace.c.o
>   "_H5O_pline_shared_delete", referenced from:
>       _H5O_MSG_PLINE in H5Opline.c.o
>   "_H5O_pline_shared_size", referenced from:
>       _H5O_MSG_PLINE in H5Opline.c.o
>   "_H5O_pline_shared_debug", referenced from:
>       _H5O_MSG_PLINE in H5Opline.c.o
>   "_H5O_dtype_shared_link", referenced from:
>       _H5O_MSG_DTYPE in H5Odtype.c.o
>   "_H5O_fill_new_shared_size", referenced from:
>       _H5O_MSG_FILL_NEW in H5Ofill.c.o
>   "_H5O_sdspace_shared_size", referenced from:
>       _H5O_MSG_SDSPACE in H5Osdspace.c.o
>   "_H5O_attr_shared_copy_file", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
>   "_H5O_dtype_shared_size", referenced from:
>       _H5O_MSG_DTYPE in H5Odtype.c.o
>   "_H5O_pline_shared_copy_file", referenced from:
>       _H5O_MSG_PLINE in H5Opline.c.o
>   "_H5O_dtype_shared_encode", referenced from:
>       _H5O_MSG_DTYPE in H5Odtype.c.o
>   "_H5O_fill_shared_debug", referenced from:
>       _H5O_MSG_FILL in H5Ofill.c.o
>   "_H5O_sdspace_shared_copy_file", referenced from:
>       _H5O_MSG_SDSPACE in H5Osdspace.c.o
>   "_H5O_sdspace_shared_debug", referenced from:
>       _H5O_MSG_SDSPACE in H5Osdspace.c.o
>   "_H5O_fill_shared_link", referenced from:
>       _H5O_MSG_FILL in H5Ofill.c.o
>   "_H5O_fill_new_shared_copy_file", referenced from:
>       _H5O_MSG_FILL_NEW in H5Ofill.c.o
>   "_H5O_dtype_shared_decode", referenced from:
>       _H5O_MSG_DTYPE in H5Odtype.c.o
>   "_H5O_fill_shared_size", referenced from:
>       _H5O_MSG_FILL in H5Ofill.c.o
>   "_H5O_fill_new_shared_encode", referenced from:
>       _H5O_MSG_FILL_NEW in H5Ofill.c.o
>   "_H5O_fill_shared_copy_file", referenced from:
>       _H5O_MSG_FILL in H5Ofill.c.o
>   "_H5O_attr_shared_encode", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
>   "_H5O_dtype_shared_delete", referenced from:
>       _H5O_MSG_DTYPE in H5Odtype.c.o
>   "_H5O_dtype_shared_debug", referenced from:
>       _H5O_MSG_DTYPE in H5Odtype.c.o
>   "_H5O_attr_shared_link", referenced from:
>       _H5O_MSG_ATTR in H5Oattr.c.o
> ld: symbol(s) not found
>
>
>
>
>
> ________________________________
> Notice: This UI Health Care e-mail (including attachments) is covered by
>the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
>confidential and may be legally privileged.  If you are not the intended
>recipient, you are hereby notified that any retention, dissemination,
>distribution, or copying of this communication is strictly prohibited.
>Please reply to the sender that you have received the message in error,
>then delete it.  Thank you.
> ________________________________
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the 
Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and 
may be legally privileged.  If you are not the intended recipient, you are 
hereby notified that any retention, dissemination, distribution, or copying of 
this communication is strictly prohibited.  Please reply to the sender that you 
have received the message in error, then delete it.  Thank you.
________________________________

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to