Hi Lewis, Your frustration is clear and understandable. Not to distract from your point - hdf5 library should ship without a hardlinked dynlib location that does not exist on your machine - just trying to help your goal of a simple install script.
I know you do not want to rely on homebrew, but since they have figured out how to get it to install successfully, what about copying their instal script when designing yours? (I guess it is now hosted at homebrew-science). I suppose your original point, that your users may not have xcode clt makes that an unsatisfactory solution. For using the pre-built binary, can you use “automator” to manage the installation with a step of using xcode to alter the dynlib path? I know one can do this with xcode clt with the `install_name_tool` - I assume xcode can do this without clt, but I have never tried. I think it would be sage advice to anyone doing scientific applications with python and a mac to install xcode and clt. Maybe a standalone script which accomplishes this? Even if users are not comfortable with installations other than .dmg style, if they are in the sciences, it is to their benefit to become more familiar with it. And you goal of making simple install scripts could help encourage them in this direction also. Just some advice from a person who has recently been in the frustrated position of installing all my software on a clean mavericks OS (this time I bit the bullet to build it all from the ground up with only the help of google and homebrew). Regards, Andre On Feb 22, 2014, at 8:17 PM, Lewis Levin <[email protected]> wrote: > Would help if install doc was accurate per platform. > > This simple set of instructions worked: > > ./configure --prefix=/usr/local/hdf5 \ > --enable-shared > make > make check > make install > make check-install > > And be sure to remind everyone no spaces in directory names. (The shining > achievement of 1984—long file names in the Mac OS—has not caught up to Unix > tools shipped by Apple.) > > From: Lewis Levin <[email protected]> > Date: Saturday, February 22, 2014 at 4:48 PM > To: "[email protected]" <[email protected]> > Subject: Re: followed install instructions to the letter results in failure > on OS X > > On July 17, Elena Pourmal writes that thread safe doesn’t work on os x. How > is someone to know this if you fail to document it in the supplied > installation instructions. If you need to include platform specific > instructions, then do so. Please don’t respond, “we’re volunteers; it’s open > source. Please—you fix it. “ You are the maintainers. You are getting > stipends, however inadequate, from the University of Illinois. Really—it IS > your responsibility. > > From: Lewis Levin <[email protected]> > Date: Saturday, February 22, 2014 at 4:44 PM > To: "[email protected]" <[email protected]> > Subject: followed install instructions to the letter results in failure on OS > X > > I decided to bite the bullet and just compile instead of expecting you to > care enough about your binary distributions to actually test them. Seemed > pretty easy from the instructions. > > Here is what I did: > > ./configure --prefix=/usr/local/hdf5 \ > --enable-shared \ > --enable-production \ > --enable-threadsafe > make > make check > make install > make check-install > > In addition to the snippets below, I can send the entire output stream, which > includes the config info and perhaps hundreds of warnings. Needless to say, > the library was not installed. The error messages are useless to me. I have > read & write privileges on /usr/local so that does not appear to be the > problem. Perhaps you can figure it out. > > After many checks and lots of warnings the build errored out. Wish you guys > would ship stuff that actually worked with documentation that was accurate. > > Here are the error snippets: > > > ~~ lots of messages… …then > > > 16 warnings and 2 errors generated. > make[2]: *** [H5TS.lo] Error 1 > make[1]: *** [all] Error 2 > make: *** [all-recursive] Error 1 > > ~~ lots of messages… …then > 16 warnings and 2 errors generated. > make[1]: *** [H5TS.lo] Error 1 > make: *** [check-recursive] Error 1 > > ~~ lots of messages… …then > > > make[3]: *** No rule to make target `/usr/local/hdf5/bin/h5cc', needed by > `h5_write'. Stop. > test -z "h5_write h5_read h5_extend_write h5_chunk_read h5_compound > h5_crtgrpd h5_subset h5_cmprss h5_rdwt h5_crtgrpar h5_extend h5_crtatt > h5_crtgrp h5_crtdat h5_group h5_select h5_attribute h5_mount h5_reference > h5_drivers h5_ref2reg h5_extlink h5_elink_unix2win h5_shared_mesg " || rm -f > h5_write h5_read h5_extend_write h5_chunk_read h5_compound h5_crtgrpd > h5_subset h5_cmprss h5_rdwt h5_crtgrpar h5_extend h5_crtatt h5_crtgrp > h5_crtdat h5_group h5_select h5_attribute h5_mount h5_reference h5_drivers > h5_ref2reg h5_extlink h5_elink_unix2win h5_shared_mesg > rm -rf .libs _libs > test -z "*.raw *.meta *.o" || rm -f *.raw *.meta *.o > rm -f *.lo > rm -f -rf *.chkexe *.chklog *.clog red blue u2w *.h5 > make[3]: *** No rule to make target `/usr/local/hdf5/bin/h5cc', needed by > `h5_write'. Stop. > make[2]: *** [installcheck-local] Error 2 > make[1]: *** [installcheck-local] Error 1 > make: *** [installcheck-recursive] Error 1 > > This is the config output from the process: > > SUMMARY OF THE HDF5 CONFIGURATION > ================================= > > General Information: > ------------------- > HDF5 Version: 1.8.12 > Configured on: Sat Feb 22 16:23:25 PST 2014 > Configured by: [email protected] > Configure mode: production > Host system: i386-apple-darwin13.0.2 > Uname information: Darwin Lewiss-MacBook-Pro.local 13.0.2 > Darwin Kernel Version 13.0.2: Sun Sep 29 19:38:57 PDT 2013; > root:xnu-2422.75.4~1/RELEASE_X86_64 x86_64 > Byte sex: little-endian > Libraries: static, shared > Installation point: /usr/local/hdf5 > > Compiling Options: > ------------------ > Compilation Mode: production > C Compiler: /usr/bin/clang ( Apple LLVM version 5.0 ) > CFLAGS: > H5_CFLAGS: > AM_CFLAGS: > CPPFLAGS: > H5_CPPFLAGS: -DNDEBUG -UH5_DEBUG_API > AM_CPPFLAGS: > Shared C Library: yes > Static C Library: yes > Statically Linked Executables: no > LDFLAGS: > H5_LDFLAGS: > AM_LDFLAGS: > Extra libraries: -lz -ldl -lm > Archiver: ar > Ranlib: ranlib > Debugged Packages: > API Tracing: no > > Languages: > ---------- > Fortran: no > > C++: no > > Features: > --------- > Parallel HDF5: no > High Level library: yes > Threadsafety: yes > Default API Mapping: v18 > With Deprecated Public Symbols: yes > I/O filters (external): deflate(zlib) > I/O filters (internal): shuffle,fletcher32,nbit,scaleoffset > MPE: no > Direct VFD: no > dmalloc: no > Clear file buffers before write: yes > Using memory checker: no > Function Stack Tracing: no > GPFS: no > Strict File Format Checks: no > Optimization Instrumentation: no > Large File Support (LFS): yes > _______________________________________________ > Hdf-forum is for HDF software users discussion. > [email protected] > http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org _______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
