CFLAGS overhaul
Description:
Modified the way configure handles CFLAGS.
(note: all changes also apply to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS).
1. The configure process will now always preserve a user's CFLAGS
environment variable setup. Any additional flags necessary for compilation
added at configure time will be passed into the Makefiles as AM_CFLAGS,
which is an automake construct to be used in addition to CFLAGS.
This will allow a user to have the final say, as CFLAGS will always appear
later in the compile line than AM_CFLAGS. Additionally, setting CFLAGS
during make will no longer completely erase all flags set by configure,
since they're maintained in AM_CFLAGS.
2. Additionally, where possible, flags previously being assigned directly
into CFLAGS (and thus propagating into h5cc) have now been redirected into
H5_CFLAGS, so they're used ONLY for compiling hdf5, and not embedded into
the h5cc wrapper script as well.
*Note that H5_CFLAGS ultimately is assigned into AM_CFLAGS for use in the
Makefiles. Complete description of changes and build process will be
included in a Configure Document that Elena and I are working on.
3. Removed unsupported config files. This includes:
config/dec-osf*
config/hpux11.00
config/irix5.x
config/powerpc-ibm-aix4.x
config/rs6000-ibm-aix5.x
config/unicos*
4. Modified configure summary to display additional values. Specifically,
appropriate AM_* variables are being shown, as well as H5_FCFLAGS and
H5_CXXFLAGS, which were for some reason not already present.
Tested:
- H5committest
- Tested on all THG / NCSA machines, using several combinations of the more
prominent configure options (c++, fortran, szip, threadsafe, parallel,
et cetera). (Thanks to Quincey for rysnc testing setup!)
- With regards to new automated testing, anything *necessary* for
compilation will be caught by the daily tests as it stands now. (i.e.,
if LDFLAGS is not properly set when szip is used, linking will fail).
Additionally, with regards to which flags get into h5cc, if any
*necessary* flags have been improperly removed, then daily tests should
fail during make installcheck. Additional machine-specific desired
behaviors and/or checks may have to be set up separately within the
daily tests, so this is something to work on.
Description:
When copying a dataset using a vlen inside a compound, the various dataset
copying callbacks would allocate a background buffer but would not use it when
converting from disk to memory, only memory to disk. This caused an assertion
failure as compounds always need a background buffer. These callbacks have
been modified to use the background buffer for both conversions.
Tested: jam, linew, smirom (h5committest)
Makefile Bug Fix
Description:
Added $(EXEEXT) extension to H5detect when it's executed to generate
H5Tinit.c so it works correctly on platforms that require the full
extension when running executables.
Tested:
h5committest, mingw, and user-verified (via submitted patch).
Configure Fix
Description:
Modified configure to set FC and CXX to "no" when fortran and c++ are
not being compiled, respectively. This will prevent configure from running
some checks on these compilers when they are not being used.
This fixes a problem that was occuring when FC and/or CXX are set to
a nonexistant or invalid compiler. Even if the languages were disabled,
a libtool test would fail, thus preventing libtool from properly linking
any libraries, yet configure would not flag an error message due to this
because the languages were disabled.
Tested:
- h5committest (jam, smirom, linew)
- manually eyeballed configure output and logfile.
Added missing H5Tclose in region reference routines.
H5DS.c checked for other locations which need to account for platform dependent types in dealing with ds_list_t. Added generator program for test files of LE and BE dimension scales.
Tested: local linux, h5committest
Changed H5check_version() to suppress the warning message totally if
$HDF5_DISABLE_VERSION_CHECK is 2 or higher. (Old behavior treated 3 or higher
the same as 1, that is to print a warning and allows the program to continue.
Tested:
h5committested, extra jam serial, --disable-embedded-libinfo.
Description:
H5Ppublic.h listed H5Pget_filter_by_id1 and H5Pget_filter_by_id2 as returning
H5Z_filter_t, when in fact they return herr_t. The header file has been
corrected to indicate that they return herr_t.
Tested: jam
Updating autotools
Description:
Installed new autotools and used them to reconfigure HDF5.
- Automake upgraded to 1.11
- Autoconf upgraded to 2.64
- bin/reconfigure script edited to use new versions (on jam), and
run to generate new configure script and Makefile.in's.
- configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
(in order to comply with new autoconf standard).
Tested:
Tested on machines jam, smirom, liberty, linew.
Tested w/ features c++, fortran, parallel.
Tested w/ compilers gcc, pgcc, icc.
Further testing via Daily Tests should catch any other outliers. Upon
passing DT's, I'll propogate the new tools into 1.8, hdf4, et cetera.
Fix BZ #1583
Description:
The --enable-static-exec flag was broken. Configure was adding the
-all-static linker flag to an environment variable which was subsequently
never used. (looks like it was used in 1.6 Makefile.ins, but never
moved to 1.8's Makefile.ams when we added automake support).
To fix, I've added this environment varibale to the link lines of all the
tools. Now, when --enable-static-exec is invoked, it will correctly
generate statically linked executables in the installed bin directory.
Tested:
I've tested manually to ensure that the generated execs are static when
the flag is used and dynamic when not. I've also tested when szip is
used, as this was a use case mentioned in the bug report.
Also: ran full tests with make check on jam and smirom for good measure.
Description:
Previously, when H5Z_filter_info was called for a filter that was not present,
it would succeed and return the information from one position past the end of
the pipeline, possibly causing a segfault. This affected at least
H5Pget_fitler_by_id1/2, and possibly other API functions. Fixed to properly
return failure.
Tested: jam, linew, smirom (h5committest)
Description:
When using H5T_copy on committed datatypes that are already open, H5T_copy would
properly use the already existing shared struct, but would still deep copy all
of the fields in that struct. This would cause memory leaks, and in the case of
a compound containing a vlen (or reference), the change in size would cause the
size of the resulting type to be set to an incorrect value. Changed H5T_copy to
properly avoid deep copies when using a reopened shared struct.
Tested: jam, linew, smirom (h5committest), purify on jam
ISSUE: h5ltread_dataset_string_f causes library assertion with g95.
SOLUTION: convert the fortran string buffer to a C buffer with HD5f2cstring, and pass this string to the C function
TEST: added a test call in the fortran test lite program
DOCS: added the note in RELEASE.txt "- Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions had memory problems with the g95 fortran compiler. (PVN - 5/13/2009) 1522
Description:
Previously, there was no versioning for H5Z_class_t. This prevented applications
written for 1.6 using custom filters from being able to use the 1.8 library.
There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility. H5Zregister is
*not* versioned, it determines which version of the struct has been passed in by the
value of the first field (id or version, both are ints).
Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
Description:
When writing data to a dataset, the data transform was performed after type conversion.
This caused an error if the file type was non-native. This has been changed so data
transforms are always performed on the memory type.
Tested: jam, linew. smirom (h5committest)
Description:
h5repack previously would not take named datatypes into consideration when copying
datasets and attributes. This would cause extra anonymous datatypes in the target file
at best, and cause errors halfway through the repacking at worst. h5repack should now
always handle named datatypes correctly. Named datatypes are also now converted to the
native type when -n is given.
Tested: jam, linew, smirom (h5committest)
- Updated bin/reconfigure to use latest version of automake (1.10.2).
Re-generated Makefile.in's by running bin/reconfigure.
- Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
libraries.
Tested:
jam, liberty, smirom
Added a Make target of check-all-install to test the correctness of
installing via the prefix= or $DESTDIR options.
Platforms tested:
h5committested and jam serial mode. Then test check-all-install by hand.
- h5diff new flag, -c, --compare, list objects that are not comparable.
PVN - 2009/4/2 - 1368
- h5diff new flag, -N, --nan, avoids NaNs detection. PVN - 2009/4/2
Description:
The H5L interface was not marked as uninitialized when H5L_term_interface was
called. This caused the interface to not initialize itself later on. This
prevented external links from working after calling H5close, because they were
never re-registered.
Tested: jam, smirom, linew (h5committest)
Description:
Versions of the library between 1.3.0 and 1.6.3 have a bug which prevents them
from opening any file that does not have the root group's symbol table
information cached in the root group's entry in the superblock. Prior to 1.8
this was not an issue as this information was always cached. However, 1.8.0
stopped writing this information (which is not required by the file format
specification), and these older versions can therefore not read files created or
last written by versions 1.8.0 to 1.8.2. This fix modifies the library to once
again add this information to the superblock (when using the old file format).
Tested: jam, linew, smirom (h5committest)
Description:
Changed Skip list package to use a deterministic skip list. This allows the
skip list package to avoid calling rand() and srand(), even on machines without
rand_r(). There is no longer a p-value or maximum level for skip lists.
Tested: jam, smirom, linew (h5committest)
Description:
Previously, H5Lcopy and H5Lmove would (through H5L_move) improperly apply the
"create intermediate groups" property to the source path traversal, and not the
destination. Fixed it to apply the property to the destination and not the
source. Also fixed H5Lcreate_ud to reject internal link classes without
throwing an assertion.
Tested: linew, jam, smirom (h5committtest)
Fortran High-Level APIs:
------
- Lite: The h5ltget_dataset_info_f function (gets information about a dataset)
was not correctly returning the dimension array (PVN - 2009/3/23)
When reading the compression parameter keyword, the compression type read flag was incorrectly set to read, removed this line of code
in->configOptionVector[COMPRESS] = 1;
Modified one configuration file to have the COMPRESSION-TYPE GZIP
Keyword.
Entered a bug description fix of
- h5import: By selecting a compression type, a big endian byte order was being
selected (PVN - 2009/11/3)
tested: linux
Bug Fix
Description:
Fixing BZ #1381. The --includedir=DIR configure option, which is used
to specify the installation location of C header files, did not work
correctly as the path was hard-coded in config/commence.am. I'm presuming
this is because an older version of automake didn't know where to put
c header files. In any case, removing this line now defaults the includedir
to the same directory that it is currently hard-coded to, and also fixes
the configure flag to allow customization of this value.
Tested:
jam, liberty
Bug Fix
Description:
Removing the code from configure which strips the '-g' flag from CFLAGS
when in production mode. The current default CFLAGS in production mode
does not include '-g', as intended, but we should allow users to
override this and enable '-g' by setting the CFLAGS environment variable
if desired. Note that this applies to FCFLAGS and CXXFLAGS as well.
Tested:
kagiso, linew, liberty
Description:
In some situations it was possible for the fill value to not be written to parts
of a chunked dataset, particularly when extending and/or shrinking. Prior to
the fix for the chunk cache (1015) these bugs would have been exceedingly rare.
Tested: jam, smirom, linew (h5committest)
Description:
The meaning of the "nbytes" field in H5D_rdcc_t was not clear, and some places
assumed it was the maximum size of the chunk cache, while some assumed it was
the current size of the chunk cache. The end result was that only 1 chunk could
be held in cache at a time. This field has been replaced by "nbytes_max" and
"nbytes_used". Performance of cached I/O should improve greatly.
Tested: jam, smirom (h5committest)
file handles.
Description:
An attribute's "oloc" field which specifies the file it resides in was located
in the attribute's "shared" structure. So when an attribute was opened multiple
times all of the handles for that attribute pointed to the same file id, even if
different file id's were used to open the different handles for the attribute.
The "oloc" has been moved to the top level H5A_t struct.
Tested: jam, smirom (h5committest)
Description:
Since the new object header format, it has been possible for a situation to be
created where none of the messages are large enough to hold a continuation
message and there are no null messages to merge with. This makes it impossible
to add a new object header chunk. This case will now be handled by moving every
message in the last chunk to the newly allocated one, except for null messages
which are deleted.
Tested: jam, smirom (h5committest)
Description:
When an attribute was created with a datatype or dataspace that was shared in
the same object header that the attribute was in, the attribute could not be
deleted. Changes made to ensure that the attribute can be deleted both when the
attribute is in the object header and when it is shared in the heap. Object
header message decode routines now take an "open_oh" parameter to enable them to
avoid opening the same object header twice.
Tested: jam, smirom (h5committest)
Description:
Attribute object copy routines have been moved from H5Oattr.c to H5Aint.c.
These routines are now shared between compact and densely stored attributes.
New routines written to support the copying of dense attributes. This patch wasmostly written by Peter Cao.
Tested: jam, smirom (h5committest)
Description: When attempting to copy an object with a message shared in its own
object header, the library attempts to protect the same object header twice.
Previously, it was possible for the object header to be protected with write
access in one or both of these protects, which would be illegal. The library
should now always protect with read only access in this case. The conditions
for fixing incorrect datatype versions have been made weaker to support this
change. The version will only be corrected if the object header the datatype
is in is modified.
Tested: jam, smirom (h5committest)
Description: H5Tset_order will now properly reject H5T_ORDER_NONE for most
datatypes. Previously this could cause major problems as the file could not be
flushed.
Tested: jam, smirom (h5committest)
Description:
If a compound type was packed except for some extra space at the end, H5Tpack
would not modify the type and the extra space would remain. Changed
H5T_is_packed to fix this behaviour.
Tested: jam, smirom (h5committest - linew down)
Adding code to maintain a min_clean_fraction in the cache in serial mode.
Description:
The metadata cache now has the ability to maintain a min_clean_fraction
when in serial mode. The default initial cache size has been changed
from 1MB to 2MB, and the default min_clean_fraction has been set at 30%.
This check-in includes modifications to H5C.c to support maintaining a
min_clean_size, including the addition of clean_index_size and
dirty_index_size trackers, modifications to the H5C_make_space_in_cache
algorithm, as well as associated test code and additional statistics
tracking variables.
Maintaining the min_clean_fraction addresses the possibility of
experiencing a "metadata blizzard" when the cache gets completely
full with dirty entries. Upon having to make space, the cache would
previously need to flush every single entry in the cache before coming
across a clean entry which could be evicted. This resulted in unnecessary
flushing of oftentimes hot entries in the cache. Maintaining the
min_clean_fraction ensures that, when space is needed, clean entries
are more readily available to evict.
Tested:
jam, smirom, linew (h5committest)
- h5repack: When user doesn't specify a chunk size, h5repack now defines a default
chunk size as the same size of the size of the hyperslab used to read the chunks.
The size of the hyperslabs are defined as the size of each dimension or a
predefined constant, whatever is smaller. This assures that the chunk
read fits in the chunk cache. (PVN - 2008/11/21)
- H5Dset_extent: when shrinking dimensions, some chunks were not deleted.
(PVN - 2009/01/8)
Description: Added H5Pset/get_elink_cb to allow the user to specify a callback
function to be called whenever an external link is traversed. Added
H5Pset/get_elink_acc_flags to allow the user to specify the file access flags
to use to open the target file of an external link. All these properties are set on a LAPL.
Tested: jam, linew, smirom (h5committest)
Bug Fix
Description:
Resolved issues with broken sanity checks that were failing when the 'b2'
debugging package was enabled (v2 b-tree debugging):
- Fixed outdated assertions that would not compile. They now compile
and function correctly.
- Removed too far outdated assertions that would require too much
unnecessary refactoring of code in order to satisfy their
initial purpose.
- Re-enabled b2 debugging package when "--enable-debug=all" is
specified on the configure line.
Tested:
jam, smirom, linew
Description: Fixes a problem in H5F_close_mounts where it wouldn't correctly
reshape the "child" array when unmounting files. Test added for this case.
Also fixed a potential bug in H5F_unmount where that routine reshapes the child
array.
Tested: kagiso linew smirom (h5committest)
Description: H5Iis_valid function added. This function checks if the id is
valid (i.e. it is currently registered and visible to the application), and
returns TRUE if it is valid, or FALSE otherwise. It should never return an
error.
Tested: kagiso, linew, smirom (h5committest)
Description: H5Ovisit and H5Ovisit by name will now check for a positive return
value from the first callback. Test added for this case.
Tested: kagiso
Description:
In June, we discovered a bug in Windows which only affected specific timezones with the mtime test. This bug was promptly fixed, but never documented. This checkin adds a note to the release document.
Description:
- Remove need to set LD_LIBRARY_PATH when using shared szip library.
- Libtool 2.2.6a is now used to generate libraries.
- 'make check install' dependency bug is fixed, and should no longer
break the build.
- removed hard coding of shell in config/commence.am, as this causes
problems on Solaris with the new version of libtool.
- RELEASE.txt with appropriate changes.
Tested:
- kagiso, smirom, linew (merged from 1.8, pretty quick tests)
Description: Added a new function, H5O_alloc_shrink_chunk, which removes all
null messages from a chunk and shrinks the chunk appropriately. Modified
H5O_merge_null to call this function when a null message is created with a size
>= 64k. Tests added for this functionality.
Tested: kagiso (h5committest on 1.8 version)
Description: Improved external link traversal of h5dump. h5dump will now
properly avoid all cycles, even those spanning multiple files. Improvement
to the output of committed datatypes. Committed datatypes are now checked
for uniqueness (like other objects). Tests added for these cases.
Tested: kagiso, linew, smirom (h5committest)
Various bug fixes & cleanups with VFDs and file free space changes,
along with cleaning up compiler warnings.
Enable more VFDs (for 'make check-vfd' testing) for many tests.
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Bring file free space branch changes through r15795 into trunk, which
includes a fair bit of code cleanup & rearrangement along with a couple of
bug fixes also.
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Description: Fixes a possible datatype id leak that could occur during compound
datatype conversion, or more precisely, when unregistering those conversions.
Datatype ids normally registered by the library are no longer visible to the
application via H5Fget_obj_ids and H5Fget_obj_count.
Tested: kagiso, linew, smirom (h5committest)
Description: The optimized "subset" compound conversion function would
improperly copy the "blank" space at the end of compound types. Modified
H5T_conv_struct_init to detect when the subset type has extra space at the end,
and calculate the size of the data that should be copied into the conversion
buffer for each element. Changes to the functions that implement these
conversions.
Tested: kagiso, linew, smirom (h5committest)
Description: Adds capability to h5ls to traverse external links when the -r
(recursive) option is given. Changes to the way absolute path names are patched
in h5trav.c. Changes to the way recursive traversal starting from a non-root
group is handled (which also fixes some preexisting issues). Tests added for
these cases.
Tested: kagiso, smirom, linew (h5committest)
Description: Added configure test to see if pointer alignment restrictions are enforced (as in dereferencing an unaligned pointer causes an error). Added code in H5Tvlen.c to avoid dereferencing unaligned pointers, conditionally compiled based on the configure test. Added test case in dtypes.c which would previously cause such machines to fail.
Tested: kagiso, smirom, linew (h5committest); linew64
> 1.
Description: Added a new field 'app_count' to H5I_id_info_t struct, to track
the reference count on an id due to the application. the old 'count' field
tracks the total. Generally any id visible to the application gets placed
in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref,
H5I_register, H5I_clear_type, and a few other functions, to specify whether
the operation(s) being performed on the id(s) are due to the application
(TRUE) or not (FALSE). Test added for this case.
Tested: kagiso, smirom, linew (h5committest)
datatype versions are encountered.
Description: The library now recognizes some problems with datatype versions in
H5O_decode_helper(), and, if not performing strict format checks, automatically
corrects them. Framework added for other message decode routines to
automatically correct file errors. Datatype version information added to
h5debug.
Tested: kagiso, smirom, linew (h5committest)
Added notes about:
- bugzilla 1068: revising class hierarchy to move Attribute out.
- replacing IdComponent::dereference with new H5Object member functions
and constructors in various other classes.
Description:
Moved mount table from top file structure to shared file structure. Moved
parent out of mount table and back into top file structure. Mounted files can
now be accessed from any handle of the parent file. Changes to how files are
closed. Stricter cycle checking on mounted files. Removed unused function
H5F_has_mount().
Tested:
committest in 1.8 branch. Committing now due to the urgency of the fix. No
changes here are specific to the trunk, but I will keep an eye on the daily
tests.
the file didn't have the data. It happened because each handle had its own
object structure, and the empty one overwrote the data with fill value. This is
fixed by making some attribute information like the data be shared in the
attribute structure.
Tested on smirom, kagiso, and linew.
Description:
Write documentation for building HDF5 with the latest version of Visual Studio, 2008. The process is very similar to building with Visual Studio 2005, but with an automatic project-file conversion beforehand.
Also adapt commandline build scripts for Visual Studio 2008 as well.
Tested:
VS2008 on WinXP
Description:
When specifying library search path in Visual Studio, use the DLL folder for zlib. Previously we pointed to the "lib" folder, which was causing confusion.
Description:
Modify Windows documentation to support Intel Visual Fortran 10.1. We have tested it in our Virtual machines, and have fixed the problems we were encountering.
Also, add a new parameter to the hdf5build.BAT and hdf5bt.BAT build scripts to support IVF 10.1.
Tested:
VS2005 with IVF 9.1 and 10.1 on 32-bit XP
Fixed bug in h5ls that prevented relative group listings (like
"h5ls foo.h5/bar") from working correctly.
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.5.3 (amazon) in debug mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Description: Removing make target "check-perform". The extra target is unneeded
because the perform tests don't take as long to run as initially
anticipated, and can be lumped in with 'make check'.
Tested: kagiso
Description: The configure option --disable-sharedlib-rpath will disable
embedding of the '-Wl,-rpath' information into executables
when shared libraries are produced.
Tested: kagiso
Description:
-- INSTALL_Windows.txt:
-- Update szip version number to 2.1
-- Extra details for setting up 64-bit builds
-- Explain adding HDF5 link settings more clearly
-- Add link to FAQ
-- Misc. typos and formatting
-- INSTALL_Windows_From_Command_Line.txt
-- Add note about 64-bit support
-- INSTALL_Windows_Short_NET.TXT
-- Add notes detailing features unsupported on VS.NET
-- INSTALL_Windows_Short_VS2005.TXT
-- Add notes about extra features.
Description:
Small changes, such as commenting out an additional test and fixing the search path, have been added to the MinGW install instructions.
Tested:
MinGW on WinXP
Description: new autotool version information was missing from 1.9
documentation. It was added to 1.8, but I forgot to put it in
the trunk when I did that update. It's there now.
New versions: Automake 1.10.1, Libtool 2.2.2
Tested: none needed, doc update only.
Description: Tests in perform directory were never getting run, and
h5perf* programs were not being installed.
Solution: Added another build option, 'make check-perform', which runs the
tests in the perform directory. Also modified the Makefiles in the
perform directory to install (with 'make install') h5perf when
parallel is enabled, and h5perf and h5perf_serial when parallel
is disabled.
Tested: kagiso, smirom, linew
Bring r14737 back from the 1.8 branch: Fix bug which would
incorrectly encode the member offsets for compound datatypes whose size was
between 256 & 511 bytes, when the "use the latest format" feature was enabled.
Tested on:
Mac OS X/32 10.5.2 (amazon) w/debug
FreeBSD/32 6.2 (duty) w/production
Tools
-----
- h5import bug on Windows w/binary datasets. fread in windows needs a binary file
to be open with rb instead of r otherwise it terminates execution if an end
of file character is found on the input file. Besides that the binary file
generated needs to be open with wb , otherwise an end of line character is
read twice. PVN - 2008/2/19
Description:
List the new HL C examples that were added in the last checkin. Rather than listing each one individually, we give a brief summary, and instructions for how to test them.
Description:
This is the same patch that Mike McGreevy helped me with on the 1.8 branch. The latest cygwin DLL has trouble with the global timezone variable. Now in configure, we target CYGWIN with a case statement, and avoid the problem.
Tested:
Cygwin on WinXP
Description:
The collection of HL C examples that we distribute for Windows is incomplete. I wasn't aware of it until Pedro pointed it out, because we use different (although similar) names for the generated files. This checkin changes the naming to follow Linux, in preparation to add the rest of the HL examples to Windows.
Note: I believe I've updated the MANIFEST accordingly, but I may have missed something-- I'll check on Linux shortly after this commit.
Tested:
VS2005 on WinXP
VS.NET on WinXP
Fold all the updates made for v1.8.0 release to the main trunk.
Versions are from r14548 to r14556. Changes are,
Updated section 4 for v1.8 release.
(May still check the v1.6 INSTALL to see if something can be adopted from
there. But this is good for v1.8 release.)
Moved the section 2. "Warnings about compilers" to Appendix A; renumbered
section 3-7 to section 2-6 and fixed all section references.
Updated Website names from ncsa.uiuc.edu to hdfgroup.org or hdfgroup.uiuc.edu.
Updated section 1-3 and some of section 4.
Quick editorial review.
Convert tabs to spaces for consistent display and printing.
Verify and fix links and references.
Moved the following three paragraphs to the Appendix part since they have old
information that are not relevant most recent machines or compilers.
"Large (>2GB) versus small (<2GB) file capability",
"Building and testing with Intel compilers"
"Building and testing with PGI compilers"
Description:
We've run into a bug that was introduced in the latest version of Cygwin, that breaks C99 code using the 'timezone' global variable. As a workaround, we use the -ansi flag, which makes everything compile/link/test correctly
Tested: Cygwin on WinXP
Description:
Wrote documentation on how to use the 1.6 API for a user application-- this replaces the outdated documentation we previously had.
Tested: VS2005 with HDFEOS5
Description:
There are many tests that are unsupported on MinGW because of the way it handles certain syntax in shell scripts (particularly '/'). As a result, we list a few tests that users must comment out in various Makefile.in's. This checkin updates the location of h5stat-- it was formerly in ./tools/misc, but has been moved it ./tools/h5stat.
Tested:
MinGW on WinXP
Removed the stream-vfd from the basic library code.
(The stream-vfd source files are not removed yet but the MANIFEST has been
updated to NOT release those stream-vfd source files.)
Platforms tested:
Kagiso and smirom.
Then test the release tar ball in kagiso.
Description:
Previously, we provided a static h5tinit.c with our Windows distribution, and provided instructions to optionally generate it. Now, we will incorporate it as part of the default build process, to emulate other platforms more closely.
Tested:
VS6
VS2005
Description:
We recently uploaded new versions of our external library binaries to support more compiler configurations. This check-in is to point to the new location in our documentation.
Tested:
None
Tools:
------
- h5dump lists groups and attributes in requested orders (by name and
creation order, both ascending and descending). PVN - 2007/10/5
- h5import imports string (text) data. PVN - 2007/10/5
Description:
This updates the command-line build process to handle structural changes we've made in the HDF5 project files. Also, we add support for two new options:
/fort - to build Fortran libraries
/useenv - to allow users to specify include and libpath directories on the command line as well.
Also updated documentation to reflect these change.
Tested:
VS2005 on WinXP
Description:
There are minor changes in the testing process for Windows with the new test scripts. Specifically, the test output is output to the screen, rather than redirected into files, by default. Also, it is much easier to test parts modularly, and installing DLLs is one step, instead of separated batch files.
Tested:
None, only documentation changed.
Description:
This checkin is another Windows project cleanup, and also extends our Windows support for 64-bit Fortran. Project files are now in VS2005 format, rather than VS.NET. A couple projects have been renamed to be more descriptive (*cstub rather than *_lib), and project settings make better use of build macros. This will make them much easier to update in the future.
Tested:
VS2005 on WinXP 32-bit
VS2005 on WinXP x64
Description:
Previously the process of generating h5tinit.c, as well as the Fortran type files, was very manual on Windows. For Fortran, the process included opening 4 different solutions, and running 4 different commands from the prompt. I've made things very much more automated, and now only requires only building one project for either C or C/Fortran. Running the commands to generate the file is done automatically.
Tested: VS.NET
Description:
Visual Studio does not have the function siglongjmp. Therefore, we have created a new configure flag H5_HAVE_SIGLONGJMP that tests for this. We use this within H5detect.c.
Tested:
VS.NET
h5committest
Description:
At a previous seminar, it was brought up that the naming scheme for Windows debug DLL is inconsistent. Specifically, some use *ddll, while others use *dlld. *dlld is more widely-used, so we decided this is "correct". This changes others to use this scheme, and adapts other projects / install scripts / documentation.
Tested:
Visual Studio .NET on WinXP
Description:
Previously, we needed to force symbol definition "gethostname@8" for compatibility with old versions of Visual Studio. It appears that Visual Studio no longer requires this, so we remove it. This makes the build process on 64-bit much smoother.
Also minor updates to main documentation, command-line documentation, and removed codewarrior and INTEL docs.
Tested:
VS.NET
VS2005
chkmanifest
Description:
The Windows documentation on generating H5tinit.c was lacking special instructions for Visual Studio 2005. Specifically, Windows does not support the function "siglongjmp". Previous versions of Visual Studio will ignore this function, but VS2005 produces an error.
Tested:
VS6
VNET
VS2005
Description:
Explain why Fortran isn't supported on MinGW and give users an "unsupported" alternative. Also re-worked the main documentation to clarify using the HDF5 DLL libraries.
Tested:
None needed.
Description:
This makes major updates to the Windows installation documentation, to account for the switch from VS6 to .NET. Installation instructions for 6.0 can also be found in INSTALL_Windows_Short_MSVS6.0.TXT, although it's noted that we are phasing out our VS6 support.
Also added install instrctions for MinGW, to reflect our initial support. Updated MANIFEST for new file checkin.
Tested:
Instructions for each configuration have been tested.