Hi, I tried to remove "H5lib_settings.c" and "H5Tinit.c" :(
But that results in the following build error: ============================================================== ../src/.libs/libhdf5.so: undefined reference to `H5TN_init_interface' ../src/.libs/libhdf5.so: undefined reference to `H5libhdf5_settings' collect2: error: ld returned 1 exit status Makefile:1529: recipe for target 'testhdf5' failed make[2]: *** [testhdf5] Error 1 make[2]: *** Waiting for unfinished jobs.... ../src/.libs/libhdf5.so: undefined reference to `H5TN_init_interface' ../src/.libs/libhdf5.so: undefined reference to `H5libhdf5_settings' collect2: error: ld returned 1 exit status Makefile:1465: recipe for target 'lheap' failed ================================================================= Oops, looks like other code is using it :( As shown below: =============================================== [ernesto@localhost src]$ grep H5libhdf5_settings * H5.c: HDfprintf (stderr, "%s", H5libhdf5_settings); H5.c: HDfprintf (stderr, "%s", H5libhdf5_settings); H5make_libsettings.c: fprintf(flibinfo, "char H5libhdf5_settings[]=\n"); H5make_libsettings.c: fprintf(flibinfo, "char H5libhdf5_settings[]=\"\";\n"); H5private.h:extern char H5libhdf5_settings[]; /* embedded library information */ [ernesto@localhost src]$ grep H5TN_init_interface * H5detect.c: * Function: H5TN_init_interface\n\ H5detect.c:H5TN_init_interface(void)\n\ H5detect.c: FUNC_LEAVE_NOAPI(ret_value);\n} /* end H5TN_init_interface() */\n"); H5T.c: if(H5TN_init_interface() < 0) H5Tprivate.h:H5_DLL herr_t H5TN_init_interface(void); Thanks in advance for your support. Cheers, Ernesto ________________________________________ From: Williams Jr., Ernest L. Sent: Friday, January 2, 2015 9:04 PM To: [email protected] Cc: Williams Jr., Ernest L.; [email protected] Subject: HDF5 Cross: /bin/sh: ./H5make_libsettings: /lib/ld64-uClibc.so.0: bad ELF interpreter: No such file or directory Hi, I would still like to cross compile hdf5 against x86_84 w/uClibc I have managed to get passed the configuration stage but now. I get the following: =============================================================== LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo | \ sed -e 's/-L/:/g' -e 's/ //g'`" \ ./H5make_libsettings > H5lib_settings.c || \ (test $HDF5_Make_Ignore && echo "*** Error ignored") || \ (rm -f H5lib_settings.c ; exit 1) /bin/sh: ./H5make_libsettings: /lib/ld64-uClibc.so.0: bad ELF interpreter: No such file or directory make[3]: *** [H5lib_settings.c] Error 1 Makefile:1682: recipe for target 'H5lib_settings.c' failed ======================================================================== This is because you trying to execute a binary built for my target on my build host. :( I found the following in your Makefile: ===== src/Makefile snippet ============================================ In one case you are running an executable to generate a "C" file :( # Build configuration header file generation # The LD_LIBRARY_PATH setting is a kludge. # Things should have been all set during H5make_libsettings making. # Remove the generated .c file if errors occur unless HDF5_Make_Ignore # is set to ignore the error. H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ sed -e 's/-L/:/g' -e 's/ //g'`" \ $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@ || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ ($(RM) $@ ; exit 1) ================================================================= Can you generate C files with a portable scripting language such as PERL ? Can I proceed without this? I will be building for embedded linux. I can setup LD_LIBRARY_PATH manually. Or in some cases, I will do a static build with my application. Looks like I will have a similar problem with: H5detect.c which claims to generate "native.c" But instead I see " # Number format detection # The LD_LIBRARY_PATH setting is a kludge. # Things should have been all set during H5detect making. # Remove the generated .c file if errors occur unless HDF5_Make_Ignore # is set to ignore the error. H5Tinit.c: H5detect$(EXEEXT) LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ sed -e 's/-L/:/g' -e 's/ //g'`" \ $(RUNSERIAL) ./H5detect$(EXEEXT) > $@ || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ ($(RM) $@ ; exit 1) ------------------------------------------------------------------------ May, I use "HDF5_Make_Ignore" to get around this for now? What are the side effects? Cheers, Ernest _______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org Twitter: https://twitter.com/hdf5
