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" <[email protected]>
> 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.
> [email protected]
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
> 
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to