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
