--- libgpiv-0.6.1.orig/debian/README.Debian +++ libgpiv-0.6.1/debian/README.Debian @@ -0,0 +1,23 @@ +The library is build with OMP enabled. This will only affect memory-shared +CPU systems by increased calculation speed. + +The Data Acquisition (DAC) feature, i.e. the triggering of light +sources (mostly Nd-YAGG lasers) with a camara and the recording of the +images has been disabled in the debian package for several reasons: + +- The upstream package gpivtrig containing the triggering module has +not been debianized (yet). + +- The gpivtrig package uses the rtai package which has to be build +in combination with a patched (linux) kernel and installed manually. + + +In order to include this feature do the following: + +- install a (Linux) source package and rtai-source, unpack them, patch +the kernel and build the kernel, together with the rtai and gpivtrig +(from upstream source) modules. + +- download the source of this package (for example with apt-get +source package-name). Remove the line --disable-dac in debian/rules, build and +install this package. --- libgpiv-0.6.1.orig/debian/README.source +++ libgpiv-0.6.1/debian/README.source @@ -0,0 +1,2 @@ +This package modifies upstream source with dpatch. +For more information look at: /usr/share/doc/dpatch/README.source.gz --- libgpiv-0.6.1.orig/debian/changelog +++ libgpiv-0.6.1/debian/changelog @@ -0,0 +1,83 @@ +libgpiv (0.6.1-4.1) unstable; urgency=low + + * Non-maintainer upload. + * Support hdf5 1.8.13 new packaging layout (closes: #756674). + + -- Gilles Filippini Wed, 06 Aug 2014 16:54:12 +0200 + +libgpiv (0.6.1-4) unstable; urgency=low + + * Adapted Hdf5 calls to libhdf5-1.8.8 API. Closes: #657199 + + -- Gerber van der Graaf Wed, 1 Feb 2012 10:52:00 +0100 + +libgpiv (0.6.1-3) unstable; urgency=low + + * Repairs failing to install, trying to overwrite other packages + files. Closes: #540494 + * Repairs unrealistic interrogation results, due to OMP. Closes: #545830 + + -- Gerber van der Graaf Fri, 9 Oct 2009 12:11:00 +0100 + +libgpiv (0.6.1-2) unstable; urgency=low + + * Repairs conflict of installation /etc/gpiv.conf when upgrading + from an older release. Closes: #524025 + + -- Gerber van der Graaf Mon, 20 April 2009 11:28:00 +0100 + +libgpiv (0.6.1-1) unstable; urgency=low + + * New upstream release + * Added Message Passing Interface (MPI) version of library package + + -- Gerber van der Graaf Sat, 22 Nov 2008 13:51:00 +0100 + +libgpiv (0.6.0-1) unstable; urgency=low + + * New upstream release + + -- Gerber van der Graaf Tue, 4 Nov 2008 12:31:00 +0100 + +libgpiv (0.5.2-5) unstable; urgency=normal + + * Gpiv.conf is not loaded from gpiv_scan_resourcefiles when $HOME/.gpivrc + is absent. Closes: #489201 + + -- Gerber van der Graaf Wed, 4 July 2008 09:03:00 +0100 + +libgpiv (0.5.2-4) unstable; urgency=low + + * Libgpiv3-dev conflicts with libgpiv2-dev. Closes: #486711 + + -- Gerber van der Graaf Wed, 18 June 2008 09:20:00 +0100 + +libgpiv (0.5.2-3) unstable; urgency=low + + * Repaired debian/watch. Closes: #450043 + + -- Gerber van der Graaf Fri, 6 June 2008 11:23:00 +0100 + +libgpiv (0.5.2-2) unstable; urgency=low + + * Improved from comments provided by Vincent Bernat + + -- Gerber van der Graaf Tue, 3 June 2008 11:40:00 +0100 + +libgpiv (0.5.2-1) unstable; urgency=low + + * New upstream release + + -- Gerber van der Graaf Wed, 9 April 2008 12:05:00 +0100 + +libgpiv (0.3.3-2) unstable; urgency=low + + * Updated to Standards-Version: 3.7.2 + + -- Gerber van der Graaf Wed, 7 Jun 2006 18:09:58 +0200 + +libgpiv (0.3.3-1) unstable; urgency=low + + * Initial Release. Closes: #354150 + + -- Gerber van der Graaf Wed, 22 Mar 2006 20:39:27 +0100 --- libgpiv-0.6.1.orig/debian/compat +++ libgpiv-0.6.1/debian/compat @@ -0,0 +1 @@ +5 --- libgpiv-0.6.1.orig/debian/control +++ libgpiv-0.6.1/debian/control @@ -0,0 +1,113 @@ +Source: libgpiv +Section: science +Priority: optional +Standards-Version: 3.9.2 +Maintainer: Gerber van der Graaf +Homepage: http://libgpiv.sourceforge.net/ +Build-Depends: debhelper (>= 5.0.24), quilt (>= 0.40), autotools-dev, libfftw3-dev, + libgsl0-dev, libhdf5-dev (>= 1.8.8), libglib2.0-dev, libpng-dev, netpbm, libgomp1, + doxygen, mpi-default-dev + +Package: libgpiv3-common +Section: libs +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Conflicts: libgpiv3 (<= 0.5.3) +Replaces: libgpiv3 (<= 0.5.3) +Description: library for Particle Image Velocimetry (PIV) - common files + This library contains functions for evaluating images from a fluid + flow by means of Particle Image Velocimetry (PIV). + . + This package contains the files that the libgpiv3-* packages share, + like the configuration file. + +Package: libgpiv3 +Section: libs +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, libgpiv3-common +Description: library for Particle Image Velocimetry (PIV) + This library contains functions for evaluating images from a fluid + flow by means of Particle Image Velocimetry (PIV). + . + PIV is a way to film the wind or liquid flows. It uses a sequence of + at least two images that are recorded with a well controlled + separation time in-between. Tracer particles that are resident in the + fluid may be illuminated by a light source, mostly a laser, that has + been re-shaped into a sheet of light. In this way, the average + displacement and the deformation of the image texture is + obtained. Applying this analyses on small samples of the images on a + (rectangular) grid results into an instantaneous velocity field of + the fluid flow. PIV may also be applied for other purposes, like + deformations and vibrations of solid surfaces. + . + This library includes the core functions for image recording, + processing, interrogation, PIV data validation, post-processing, + input/output functions and memory allocation. + +Package: libgpiv3-dev +Section: libdevel +Architecture: any +Conflicts: libgpiv2-dev +Replaces: libgpiv2-dev +Depends: ${misc:Depends}, libgpiv3 (= ${binary:Version}), libgpiv-mpi3 (= ${binary:Version}) +Description: library for Particle Image Velocimetry (PIV) - development files + This library contains functions for evaluating images from a fluid flow + by means of Particle Image Velocimetry (PIV), resulting into a velocity + field of the fluid flow. It includes the core functions for interrogation, + data validation, post-processing, input/output and memory allocation. + . + This package contains the headers and statically linked libraries + (serial as well as parallelized using MPI). + +Package: libgpiv3-dbg +Section: debug +Priority: extra +Architecture: any +Depends: ${misc:Depends}, libgpiv3 (= ${binary:Version}) +Description: library for Particle Image Velocimetry (PIV) - debug symbols + This library contains functions for evaluating images from a fluid flow + by means of Particle Image Velocimetry (PIV), resulting into a velocity + field of the fluid flow. It includes the core functions for interrogation, + data validation, post-processing, input/output and memory allocation. + . + This package contains debug symbols for libgpiv3. It is provided + primarily to provide a backtrace with names in a debugger. This makes + it somewhat easier to interpret core dumps. The library is installed + in /usr/lib/debug and can be used by placing that directory in + LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libgpiv3-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Description: library for Particle Image Velocimetry (PIV) - documentation + This library contains functions for evaluating images from a fluid flow + by means of Particle Image Velocimetry (PIV), resulting into a velocity + field of the fluid flow. It includes the core functions for interrogation, + data validation, post-processing, input/output and memory allocation. + . + This package contains the Application Programming Interface (API) + documentation, generated by doxygen in html format. + +Package: libgpiv-mpi3 +Section: libs +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, libgpiv3-common (= ${binary:Version}) +Description: library for Particle Image Velocimetry (PIV) - MPI version + This library contains functions for evaluating images from a fluid + flow by means of Particle Image Velocimetry (PIV). + . + PIV is a way to film the wind or liquid flows. It uses a sequence of + at least two images that are recorded with a well controlled + separation time in-between. Tracer particles that are resident in the + fluid may be illuminated by a light source, mostly a laser, that has + been re-shaped into a sheet of light. In this way, the average + displacement and the deformation of the image texture is + obtained. Applying this analyses on small samples of the images on a + (rectangular) grid results into an instantaneous velocity field of + the fluid flow. PIV may also be applied for other purposes, like + deformations and vibrations of solid surfaces. + . + This package contains the parallelized library using Message Passing + Interface (MPI). --- libgpiv-0.6.1.orig/debian/copyright +++ libgpiv-0.6.1/debian/copyright @@ -0,0 +1,28 @@ +This package was debianized by Gerber van der Graaf on +Wed, 5 Nov 2008 11:00:00 +0100. + +It was downloaded from + +Copyright Holder: Gerber van der Graaf + +Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Gerber van der Graaf + +License: + + Libgpiv is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301, USA. + +On Debian systems, the complete text of the GNU General Public License +can be found in /usr/share/common-licenses/GPL file. --- libgpiv-0.6.1.orig/debian/libgpiv-mpi3.install +++ libgpiv-0.6.1/debian/libgpiv-mpi3.install @@ -0,0 +1 @@ +usr/lib/lib*.so.* --- libgpiv-0.6.1.orig/debian/libgpiv3-common.install +++ libgpiv-0.6.1/debian/libgpiv3-common.install @@ -0,0 +1 @@ +etc/gpiv.conf --- libgpiv-0.6.1.orig/debian/libgpiv3-dev.install +++ libgpiv-0.6.1/debian/libgpiv3-dev.install @@ -0,0 +1,3 @@ +usr/include/* +usr/lib/lib*.a +usr/lib/lib*.so --- libgpiv-0.6.1.orig/debian/libgpiv3-doc.doc-base +++ libgpiv-0.6.1/debian/libgpiv3-doc.doc-base @@ -0,0 +1,12 @@ +Document: libgpiv3 +Title: Libgpiv3 API documentation +Author: Gerber van der Graaf +Section: Programming +Abstract: Documentation of the Libgpiv API. + The API documentation may be a big help when developing your own + programs for Particle Image Velocimetry in C or in Python scripts + using the PyGpiv module. It has been generated by Doxygen. + +Format: html +Index: /usr/share/doc/libgpiv3-doc/html/index.html +Files: /usr/share/doc/libgpiv3-doc/html/*.html --- libgpiv-0.6.1.orig/debian/libgpiv3-doc.install +++ libgpiv-0.6.1/debian/libgpiv3-doc.install @@ -0,0 +1 @@ +usr/share/doc/libgpiv3-doc/html --- libgpiv-0.6.1.orig/debian/libgpiv3.install +++ libgpiv-0.6.1/debian/libgpiv3.install @@ -0,0 +1 @@ +usr/lib/lib*.so.* --- libgpiv-0.6.1.orig/debian/patches/01_omp-pragma.diff +++ libgpiv-0.6.1/debian/patches/01_omp-pragma.diff @@ -0,0 +1,391 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## omp-repair.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Specifies shared and private data in some "#pragma omp" statements that caused problems. +## DP: Also includes some minor improvements in function headers: const declaration for pointers. + +@DPATCH@ +diff -urNad libgpiv-0.6.1~/include/gpiv/gpiv-piv_utils.h libgpiv-0.6.1/include/gpiv/gpiv-piv_utils.h +--- libgpiv-0.6.1~/include/gpiv/gpiv-piv_utils.h 2009-10-09 10:11:19.000000000 +0200 ++++ libgpiv-0.6.1/include/gpiv/gpiv-piv_utils.h 2009-10-09 10:11:29.000000000 +0200 +@@ -112,7 +112,7 @@ + * @return NULL on success or error message on failure + */ + gchar * +-gpiv_0_pivdata (GpivPivData *piv_data ++gpiv_0_pivdata (const GpivPivData *piv_data + ); + + +@@ -141,7 +141,7 @@ + */ + gchar * + gpiv_ovwrt_pivdata (const GpivPivData *piv_data_in, +- GpivPivData *piv_data_out ++ const GpivPivData *piv_data_out + ); + + +diff -urNad libgpiv-0.6.1~/lib/imgproc_deform.c libgpiv-0.6.1/lib/imgproc_deform.c +--- libgpiv-0.6.1~/lib/imgproc_deform.c 2009-10-09 10:11:19.000000000 +0200 ++++ libgpiv-0.6.1/lib/imgproc_deform.c 2009-10-09 10:11:29.000000000 +0200 +@@ -185,9 +185,9 @@ + * and second frame with half shift backwards. + */ + /* OK: results approved */ +-#pragma omp parallel sections num_threads(2) ++#pragma omp parallel sections + { +-#pragma omp section ++#pragma omp section + { + if ((err_msg = + imgproc_deform_frame_from_pivdata(image->frame1, image->header, +@@ -200,7 +200,7 @@ + #endif + } + } +-#pragma omp section ++#pragma omp section + { + if ((err_msg = + imgproc_deform_frame_from_pivdata(image->frame2, image->header, +@@ -454,7 +454,7 @@ + + + /* BUGFIX SamplesToCoefficients: OMP causes error */ +-/* #pragma omp parallel for */ ++/* KEEP OUT! #pragma omp parallel for */ + for (y = 0L; y < Height; y++) { + GetRow(Image, y, Line, Width); + ConvertToInterpolationCoefficients(Line, Width, Pole, NbPoles, +@@ -473,7 +473,7 @@ + + + /* BUGFIX SamplesToCoefficients: OMP causes error */ +-/* #pragma omp parallel for */ ++/* KEEP OUT! #pragma omp parallel for */ + for (x = 0L; x < Width; x++) { + GetColumn(Image, Width, x, Line, Height); + ConvertToInterpolationCoefficients(Line, Height, Pole, NbPoles, DBL_EPSILON); +@@ -712,7 +712,7 @@ + pd = gpiv_alloc_pivdata (image_par->ncolumns, + image_par->nrows); + /* OK: results approved */ +-#pragma omp parallel for ++#pragma omp parallel for shared(pd) private(i, j) + for (i = 0; i < pd->ny; i++) { + for (j = 0; j < pd->nx; j++) { + pd->point_x[i][j] = (float) j; +@@ -745,7 +745,7 @@ + #endif /* SMOOTH */ + + /* OK: results approved */ +-#pragma omp parallel for ++#pragma omp parallel for shared(pd) private(i, j) + for (i = 0; i < pd->ny; i++) { + for (j = 0; j < pd->nx; j++) { + pd->dx[i][j] = magnitude * pd->dx[i][j]; +@@ -811,7 +811,7 @@ + p = ImageRasterArray; + + /* OK: results approved */ +-#pragma omp parallel for ++#pragma omp parallel for shared(image_par, img, p) private(i, j) + for (i = 0; i < image_par->nrows; i++) { + for (j = 0; j < image_par->ncolumns; j++) { + p[i*image_par->ncolumns + j] = (float) img[i][j]; +@@ -839,7 +839,7 @@ + + /* BUGFIX imgproc_deform_frame: OMP causes differences in results */ + /* BUGFIX imgproc_deform_frame: When disabled OMP in imgproc_deform */ +-/* #pragma omp parallel for private(x1, y1) */ ++/* KEEP OUT! #pragma omp parallel for private(x1, y1) */ + for (i = 0; i < image_par->nrows; i++) { + for (j = 0; j < image_par->ncolumns; j++) { + x1 = (double) j - (double) piv_data->dx[i][j]; +@@ -875,7 +875,7 @@ + + p = OutputImage; + /* OK: results approved */ +-#pragma omp parallel for private(rounded) ++#pragma omp parallel for private(i, j, rounded) + for (i = 0; i < image_par->nrows; i++) { + for (j = 0; j < image_par->ncolumns; j++) { + rounded = (long)floor ((double) p[i*image_par->ncolumns + j] + 0.5); +diff -urNad libgpiv-0.6.1~/lib/piv_utils.c libgpiv-0.6.1/lib/piv_utils.c +--- libgpiv-0.6.1~/lib/piv_utils.c 2009-10-09 10:11:19.000000000 +0200 ++++ libgpiv-0.6.1/lib/piv_utils.c 2009-10-09 10:11:29.000000000 +0200 +@@ -115,7 +115,7 @@ + /* + * Initializing values for structure members + */ +-#pragma omp parallel for ++#pragma omp parallel for shared(piv_data) private(i, j) + for (i = 0; i < piv_data->ny; i++) { + for (j = 0; j < piv_data->nx; j++) { + piv_data->point_x[i][j] = 0.0; +@@ -253,7 +253,7 @@ + return NULL; + } + +-#pragma omp parallel for ++#pragma omp parallel for shared(piv_data_out, piv_data) private(i, j) + for (i = 0; i < piv_data_out->ny; i++) { + for (j = 0; j < piv_data_out->nx; j++) { + piv_data_out->point_x[i][j] = piv_data->point_x[i][j]; +@@ -264,7 +264,8 @@ + piv_data_out->peak_no[i][j] = piv_data->peak_no[i][j]; + } + } +- ++ ++ + + #ifdef DEBUG2 + gpiv_write_pivdata (NULL, piv_data_out, FALSE); +@@ -276,7 +277,7 @@ + + gchar * + gpiv_ovwrt_pivdata (const GpivPivData *piv_data_in, +- GpivPivData *piv_data_out ++ const GpivPivData *piv_data_out + ) + /*----------------------------------------------------------------------------- + * DESCRIPTION: +@@ -321,7 +322,7 @@ + /* + * Overwriting + */ +-#pragma omp parallel for ++#pragma omp parallel for shared(piv_data_out, piv_data_in) private(i, j) + for (i = 0; i < piv_data_in->ny; i++) { + for (j = 0; j < piv_data_in->nx; j++) { + piv_data_out->point_x[i][j] = piv_data_in->point_x[i][j]; +@@ -332,7 +333,6 @@ + piv_data_out->peak_no[i][j] = piv_data_in->peak_no[i][j]; + } + } +- + + #ifdef DEBUG2 + gpiv_write_pivdata (NULL, piv_data_out, FALSE); +@@ -343,7 +343,7 @@ + + + gchar * +-gpiv_0_pivdata (GpivPivData *piv_data ++gpiv_0_pivdata (const GpivPivData *piv_data + ) + /*----------------------------------------------------------------------------- + * DESCRIPTION: +@@ -402,11 +402,9 @@ + } + + +-#pragma omp parallel for ++#pragma omp parallel for shared(piv_data) private(i, j) + for (i = 0; i < piv_data->ny; i++) { + for (j = 0; j < piv_data->nx; j++) { +- /* piv_data->point_x[i][j] = 0.0; */ +- /* piv_data->point_y[i][j] = 0.0; */ + piv_data->dx[i][j] = 0.0; + piv_data->dy[i][j] = 0.0; + piv_data->snr[i][j] = 0.0; +@@ -450,7 +448,7 @@ + return err_msg; + } + +-#pragma omp parallel for ++#pragma omp parallel for shared(piv_data_out, piv_data_in) private(i, j) + for (i = 0; i < piv_data_out->ny; i++) { + for (j = 0; j < piv_data_out->nx; j++) { + piv_data_out->point_x[i][j] = piv_data_in->point_x[i][j]; +@@ -488,7 +486,6 @@ + } + + +-#pragma omp parallel for + for (i = 0; i < gpd->ny; i++) { + for (j = 0; j < gpd->nx; j++) { + *sum += gpd->dx[i][j]; +diff -urNad libgpiv-0.6.1~/lib/valid.c libgpiv-0.6.1/lib/valid.c +--- libgpiv-0.6.1~/lib/valid.c 2009-10-09 10:11:19.000000000 +0200 ++++ libgpiv-0.6.1/lib/valid.c 2009-10-09 10:12:22.000000000 +0200 +@@ -124,9 +124,11 @@ + float *dx_m, *dy_m, *dx_org, *dy_org; + float *r_m; + float residu; ++ + /* + * Obtain length of array + */ ++#pragma parallel for shared(data, incl_point, vlength) private(k, l) + for (k = i - N; k <= i + N; k++) { + if ((k >= 0) && (k < data->ny)) { + for (l = j - N; l <= j + N; l++) { +@@ -179,8 +181,18 @@ + /* + * Sorting dx_m and dy_m arrays and searching median index and value + */ +- qsort(dx_m, vlength, sizeof(float), compare_float); +- qsort(dy_m, vlength, sizeof(float), compare_float); ++#pragma omp sections ++ { ++#pragma omp section ++ { ++ qsort(dx_m, vlength, sizeof(float), compare_float); ++ } ++#pragma omp section ++ { ++ qsort(dy_m, vlength, sizeof(float), compare_float); ++ } ++ } ++ + if (incl_point) { + median_index = (int) (vlength - 1) / 2; + } else { +@@ -282,7 +294,6 @@ + { + gchar *err_msg = NULL; + gint i, j; +-/* guint i_mx, j_mx, i_my, j_my; */ + + + /* out_data = gpiv_cp_pivdata (piv_data); */ +@@ -292,7 +303,6 @@ + + } else if (valid_par->residu_type == GPIV_VALID_RESIDUTYPE__MEDIAN) { + +-/* #pragma omp parallel for */ + for (i = 1; i < piv_data->ny - 1; i++) { + for (j = 1; j < piv_data->nx - 1; j++) { + guint i_mx, j_mx, i_my, j_my; +@@ -309,8 +319,6 @@ + } else if (valid_par->residu_type == GPIV_VALID_RESIDUTYPE__NORMMEDIAN) { + gfloat residu_from_median_dxdy = 1.111, residu_norm = 5.555; + +-/* BUGFIX: gpiv_valid_residu: different results with OMP */ +-/* #pragma omp parallel for private(residu_from_median_dxdy, residu_norm) */ + for (i = 0; i < piv_data->ny; i++) { + for (j = 0; j < piv_data->nx; j++) { + guint i_mx, j_mx, i_my, j_my; +@@ -473,6 +481,10 @@ + gfloat dx, dy, snr; + FILE *fp; + ++ guint count = 0; ++ gfloat dx_sum = 0, dy_sum = 0; ++ ++ + /* + * Create a local PIV data set, so input data will not be modified halfway + * during substitution. Else, this might affect PIV displacements +@@ -489,10 +501,9 @@ + * no substitution, only sets peak_no to 0 + */ + +-#pragma omp parallel for ++#pragma omp parallel for shared(piv_data, l_data, outlier_found) private(i, j) + for (i = 0; i < piv_data->ny; i++) { + for (j = 0; j < piv_data->nx; j++) { +- guint i_mx, j_mx, i_my, j_my; + + if (piv_data->peak_no[i][j] != -1 + && piv_data->snr[i][j] > valid_par->residu_max) { +@@ -514,12 +525,13 @@ + } else if (valid_par->subst_type == + GPIV_VALID_SUBSTYPE__L_MEAN) { + +-#pragma omp parallel for ++#pragma omp parallel for shared(piv_data) private(i, j, k, l, count, \ ++ dx_sum, dy_sum) + for (i = 0; i < piv_data->ny; i++) { + for (j = 0; j < piv_data->nx; j++) { +- guint i_mx, j_mx, i_my, j_my; +- guint count = 0; +- gfloat dx_sum = 0, dy_sum = 0; ++ count = 0; ++ dx_sum = 0.0; ++ dy_sum = 0.0; + + if (piv_data->peak_no[i][j] != -1 + && piv_data->snr[i][j] > valid_par->residu_max) { +@@ -555,11 +567,9 @@ + /* + * Substitution with median particle displacements + */ +- +-#pragma omp parallel for + for (i = 0; i < piv_data->ny; i++) { + for (j = 0; j < piv_data->nx; j++) { +- guint i_mx, j_mx, i_my, j_my; ++ guint i_mx, j_mx, i_my, j_my; + + if (piv_data->peak_no[i][j] != -1 + && piv_data->snr[i][j] > valid_par->residu_max) { +@@ -601,9 +611,6 @@ + } + + } +- +- +- + + + /* +@@ -753,7 +760,8 @@ + /* + * Subdividing fractional particle displacements in bins + */ +-/* #pragma omp parallel for private(fract) */ ++#pragma omp parallel for shared(piv_data, bound, count) \ ++ private(i, j, k, fract) + for (i = 0; i < piv_data->ny; i++) { + for (j = 0; j < piv_data->nx; j++) { + fract = fabs(piv_data->dx[i][j] - (int) piv_data->dx[i][j]); +@@ -897,13 +905,6 @@ + + l_piv_par = gpiv_piv_cp_parameters (piv_par); + l_valid_par = gpiv_valid_cp_parameters (valid_par); +-/* l_data = gpiv_alloc_pivdata (piv_data->nx, piv_data->ny); */ +-/* for (i = 0; i < piv_data->ny; i++) { */ +-/* for (j = 0; j < piv_data->nx; j++) { */ +-/* l_data->point_x[i][j] = piv_data->point_x[i][j]; */ +-/* l_data->point_y[i][j] = piv_data->point_y[i][j]; */ +-/* } */ +-/* } */ + + + while (outlier_found && count < GPIV_VALID_MAX_SWEEP) { +@@ -936,25 +937,14 @@ + + /* + * piv_data are updated with corrected values +- * l_data will be freed for an eventually next loop ++ * l_data will be made free for an eventually next loop ++ * BUGFIX: possible memleak? Comment: when outside if {} causes crashing. + */ + if (outlier_found) { + count++; +- +-#pragma omp parallel for +- for (i = 0; i < piv_data->ny; i++) { +- for (j = 0; j < piv_data->nx; j++) { +- piv_data->point_x[i][j] = l_data->point_x[i][j]; +- piv_data->point_y[i][j] = l_data->point_y[i][j]; +- piv_data->dx[i][j] = l_data->dx[i][j]; +- piv_data->dy[i][j] = l_data->dy[i][j]; +- piv_data->snr[i][j] = l_data->snr[i][j]; +- piv_data->peak_no[i][j] = l_data->peak_no[i][j]; +- } +- } +- ++ gpiv_ovwrt_pivdata (l_data, piv_data); ++ } + gpiv_free_pivdata (l_data); +- } + } + + --- libgpiv-0.6.1.orig/debian/patches/02_hdf5.diff +++ libgpiv-0.6.1/debian/patches/02_hdf5.diff @@ -0,0 +1,1153 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_hdf5.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Adapted Hdf5 calls to libhsd5-1.8 API + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' libgpiv-0.6.1~/lib/img.c libgpiv-0.6.1/lib/img.c +--- libgpiv-0.6.1~/lib/img.c 2012-02-01 10:44:11.000000000 +0100 ++++ libgpiv-0.6.1/lib/img.c 2012-02-01 11:05:41.000000000 +0100 +@@ -537,8 +537,11 @@ + } + + file_id = H5Fopen (fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "IMAGE"); +- H5Aiterate (group_id, NULL, (H5A_operator_t) attr_info, image_par); ++ group_id = H5Gopen (file_id, "IMAGE", H5P_DEFAULT); ++ H5Aiterate (group_id, H5_INDEX_CRT_ORDER, H5_ITER_NATIVE, 0, ++ (H5A_operator_t)attr_info, image_par); ++ ++ + + status = H5Gclose (group_id); + status = H5Fclose (file_id); +@@ -587,7 +590,7 @@ + } + + file_id = H5Fopen (fname, H5F_ACC_RDWR, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "IMAGE"); ++ group_id = H5Gopen (file_id, "IMAGE", H5P_DEFAULT); + + + +@@ -602,7 +605,7 @@ + if (image_par->ncolumns__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__NCOLUMNS, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &image_par->ncolumns); + status = H5Aclose (attribute_id); +@@ -611,7 +614,7 @@ + if (image_par->nrows__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__NROWS, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, H5T_NATIVE_INT, + &image_par->nrows); + status = H5Aclose (attribute_id); +@@ -620,7 +623,7 @@ + if (image_par->x_corr__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__X_CORR, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, H5T_NATIVE_INT, + &image_par->x_corr); + status = H5Aclose (attribute_id); +@@ -629,7 +632,7 @@ + if (image_par->depth__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__DEPTH, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, H5T_NATIVE_INT, + &image_par->depth); + status = H5Aclose (attribute_id); +@@ -641,7 +644,7 @@ + if (image_par->s_scale__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__S_SCALE, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, H5T_NATIVE_FLOAT, + &image_par->s_scale); + status = H5Aclose (attribute_id); +@@ -650,7 +653,7 @@ + if (image_par->t_scale__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__T_SCALE, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, H5T_NATIVE_FLOAT, + &image_par->t_scale); + status = H5Aclose (attribute_id); +@@ -659,7 +662,7 @@ + if (image_par->z_off_x__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__Z_OFF_X, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, H5T_NATIVE_FLOAT, + &image_par->z_off_x); + status = H5Aclose (attribute_id); +@@ -668,7 +671,7 @@ + if (image_par->z_off_y__set) { + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__Z_OFF_Y, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, H5T_NATIVE_FLOAT, + &image_par->z_off_y); + status = H5Aclose (attribute_id); +@@ -685,7 +688,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__TITLE, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->title); + status = H5Aclose (attribute_id); +@@ -697,7 +700,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__CREATION_DATE, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->creation_date); + status = H5Aclose (attribute_id); +@@ -709,7 +712,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__LOCATION, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->location); + status = H5Aclose (attribute_id); +@@ -721,7 +724,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__AUTHOR, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->author); + status = H5Aclose (attribute_id); +@@ -733,7 +736,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__SOFTWARE, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->software); + status = H5Aclose (attribute_id); +@@ -745,7 +748,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__SOURCE, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->source); + status = H5Aclose (attribute_id); +@@ -757,7 +760,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__USERTEXT, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->usertext); + status = H5Aclose (attribute_id); +@@ -769,7 +772,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__WARNING, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->warning); + status = H5Aclose (attribute_id); +@@ -781,7 +784,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__DISCLAIMER, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->disclaimer); + status = H5Aclose (attribute_id); +@@ -793,7 +796,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__COMMENT, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->comment); + status = H5Aclose (attribute_id); +@@ -807,7 +810,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__COPYRIGHT, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->copyright); + status = H5Aclose (attribute_id); +@@ -820,7 +823,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__EMAIL, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->email); + status = H5Aclose (attribute_id); +@@ -832,7 +835,7 @@ + atype = H5Tcopy (H5T_C_S1); + H5Tset_size (atype, GPIV_MAX_CHARS); + attribute_id = H5Acreate (group_id, GPIV_IMGPAR_KEY__URL, atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite (attribute_id, atype, + &image_par->url); + status = H5Aclose (attribute_id); +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' libgpiv-0.6.1~/lib/io_hdf.c libgpiv-0.6.1/lib/io_hdf.c +--- libgpiv-0.6.1~/lib/io_hdf.c 2012-02-01 10:44:11.000000000 +0100 ++++ libgpiv-0.6.1/lib/io_hdf.c 2012-02-01 11:07:27.000000000 +0100 +@@ -129,15 +129,16 @@ + return err_msg; + } + +- group_id = H5Gcreate (file_id, "IMAGE", 0); ++ group_id = H5Gcreate (file_id, "IMAGE", H5P_DEFAULT /* lcpl_id */, H5P_DEFAULT /* gcpl_id */, H5P_DEFAULT /*gapl_id*/); ++ + status = H5Gclose (group_id); +- group_id = H5Gcreate (file_id, "POSITIONS", 0); ++ group_id = H5Gcreate (file_id, "POSITIONS", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Gclose (group_id); +- group_id = H5Gcreate (file_id, "PIV", 0); ++ group_id = H5Gcreate (file_id, "PIV", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Gclose (group_id); + /* group_id = H5Gcreate (file_id, "VECTORS", 0); */ + /* status = H5Gclose (group_id); */ +- group_id = H5Gcreate (file_id, "SCALARS", 0); ++ group_id = H5Gcreate (file_id, "SCALARS", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Gclose (group_id); + + status = H5Fclose(file_id); +@@ -208,13 +209,13 @@ + + + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "IMAGE"); ++ group_id = H5Gopen (file_id, "IMAGE", H5P_DEFAULT); + + /* + * image #1 + */ + +- dataset_id = H5Dopen (group_id, "#1"); ++ dataset_id = H5Dopen (group_id, "#1", H5P_DEFAULT); + dataspace_id = H5Dget_space (dataset_id); + #ifdef HD5_IMAGE_INT + if ((status = H5Dread (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, +@@ -240,7 +241,7 @@ + * image #2 + */ + if (gpiv_image->header->x_corr) { +- dataset_id = H5Dopen(group_id, "#2"); ++ dataset_id = H5Dopen(group_id, "#2", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + #ifdef HD5_IMAGE_INT + status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, +@@ -304,7 +305,7 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "IMAGE"); ++ group_id = H5Gopen (file_id, "IMAGE", H5P_DEFAULT); + /* H5Gset_comment (group_id, ".", RCSID); */ + + /* +@@ -316,7 +317,7 @@ + atype = H5Tcopy(H5T_C_S1); + H5Tset_size(atype, 5); + attribute_id = H5Acreate(group_id, "CLASS", atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, atype, + "IMAGE"); + status = H5Aclose(attribute_id); +@@ -327,7 +328,7 @@ + atype = H5Tcopy(H5T_C_S1); + H5Tset_size(atype, 15); + attribute_id = H5Acreate(group_id, "SUBCLASS", atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, atype, + "IMAGE_GRAYSCALE"); + status = H5Aclose(attribute_id); +@@ -336,7 +337,7 @@ + + dataspace_id = H5Screate_simple(1, dims, NULL); + attribute_id = H5Acreate(group_id, "IMAGE_WHITE_IS_ZERO", +- H5T_NATIVE_USHORT, dataspace_id, H5P_DEFAULT); ++ H5T_NATIVE_USHORT, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_USHORT, &image_white_is_zero); + status = H5Aclose(attribute_id); + status = H5Sclose(dataspace_id); +@@ -346,7 +347,7 @@ + atype = H5Tcopy(H5T_C_S1); + H5Tset_size(atype, 3); + attribute_id = H5Acreate(group_id, "IMAGE_VERSION", atype, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, atype, + "1.2"); + status = H5Aclose(attribute_id); +@@ -366,12 +367,12 @@ + */ + #ifdef HD5_IMAGE_INT + dataset_id = H5Dcreate (group_id, "#1", H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, image->frame1[0][0]); + #else + /* dataset_id = H5Dcreate (group_id, "#1", H5T_NATIVE_USHORT, */ +-/* dataspace_id, H5P_DEFAULT); */ ++/* dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); */ + /* status = H5Dwrite (dataset_id, H5T_NATIVE_USHORT, H5S_ALL, H5S_ALL, */ + /* H5P_DEFAULT, image->frame1[0][0]); */ + #endif +@@ -384,12 +385,12 @@ + if (image->header->x_corr) { + #ifdef HD5_IMAGE_INT + dataset_id = H5Dcreate(group_id, "#2", H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, &image->frame2[0][0]); + #else + /* dataset_id = H5Dcreate(group_id, "#2", H5T_NATIVE_USHORT, */ +-/* dataspace_id, H5P_DEFAULT); */ ++/* dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); */ + /* status = H5Dwrite(dataset_id, H5T_NATIVE_USHORT, H5S_ALL, H5S_ALL, */ + /* H5P_DEFAULT, &image->frame2[0][0]); */ + #endif +@@ -635,15 +636,15 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_data = H5Gopen (file_id, "SCALARS"); +- group_id = H5Gopen (group_data, DATA_KEY); ++ group_data = H5Gopen (file_id, "SCALARS", H5P_DEFAULT); ++ group_id = H5Gopen (group_data, DATA_KEY, H5P_DEFAULT); + H5Gget_comment (group_id, ".", GPIV_MAX_CHARS, RCSID); + klass->comment = g_strdup (RCSID); + + /* + * centre + */ +- dataset_id = H5Dopen(group_id, "centre"); ++ dataset_id = H5Dopen(group_id, "centre", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, klass->centre); +@@ -653,7 +654,7 @@ + /* + * count + */ +- dataset_id = H5Dopen(group_id, "count"); ++ dataset_id = H5Dopen(group_id, "count", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, klass->count); +@@ -702,8 +703,8 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); +- group_data = H5Gopen (file_id, "SCALARS"); +- group_id = H5Gopen (group_data, DATA_KEY); ++ group_data = H5Gopen (file_id, "SCALARS", H5P_DEFAULT); ++ group_id = H5Gopen (group_data, DATA_KEY, H5P_DEFAULT); + H5Gset_comment (group_id, ".", klass->comment); + + /* +@@ -715,7 +716,7 @@ + */ + dataspace_id = H5Screate_simple(1, dims, NULL); + dataset_id = H5Dcreate(group_id, "centre", H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, &klass->centre[0]); + status = H5Dclose(dataset_id); +@@ -726,7 +727,7 @@ + */ + dataspace_id = H5Screate_simple(1, dims, NULL); + dataset_id = H5Dcreate(group_id, "count", H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, &klass->count[0]); + status = H5Dclose(dataset_id); +@@ -768,12 +769,12 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "POSITIONS"); ++ group_id = H5Gopen (file_id, "POSITIONS", H5P_DEFAULT); + + /* + * getting nx + */ +- dataset_id = H5Dopen(group_id, "point_x"); ++ dataset_id = H5Dopen(group_id, "point_x", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + rank_x = H5Sget_simple_extent_ndims (dataspace_id); + if (rank_x != 1) { +@@ -789,7 +790,7 @@ + /* + * getting ny + */ +- dataset_id = H5Dopen(group_id, "point_y"); ++ dataset_id = H5Dopen(group_id, "point_y", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + rank_y = H5Sget_simple_extent_ndims (dataspace_id); + if (rank_y != 1) { +@@ -846,7 +847,7 @@ + /* + * POSITION group with RCSID comment and scale attribute + */ +- group_id = H5Gopen (file_id, "POSITIONS"); ++ group_id = H5Gopen (file_id, "POSITIONS", H5P_DEFAULT); + H5Gget_comment (group_id, ".", GPIV_MAX_CHARS, RCSID); + piv_data->comment = g_strdup (RCSID); + attribute_id = H5Aopen_name(group_id, "scale"); +@@ -856,7 +857,7 @@ + /* + * point_x + */ +- dataset_id = H5Dopen(group_id, "point_x"); ++ dataset_id = H5Dopen(group_id, "point_x", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + rank_x = H5Sget_simple_extent_ndims (dataspace_id); + if (rank_x != 1) { +@@ -876,7 +877,7 @@ + /* + * point_y + */ +- dataset_id = H5Dopen(group_id, "point_y"); ++ dataset_id = H5Dopen(group_id, "point_y", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + rank_y = H5Sget_simple_extent_ndims (dataspace_id); + if (rank_y != 1) { +@@ -948,12 +949,12 @@ + /* + * POSITION group with RCSID comment and scale attribute + */ +- group_id = H5Gopen (file_id, "POSITIONS"); ++ group_id = H5Gopen (file_id, "POSITIONS", H5P_DEFAULT); + H5Gset_comment (group_id, ".", piv_data->comment); + dims_attrib[0] = 1; + dataspace_id = H5Screate_simple(1, dims_attrib, NULL); + attribute_id = H5Acreate(group_id, "scale", H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + H5Awrite(attribute_id, H5T_NATIVE_INT, &piv_data->scale); + H5Aclose(attribute_id); + +@@ -964,7 +965,7 @@ + H5Tset_size (str_MC, GPIV_MAX_CHARS); + dataspace_id = H5Screate_simple(1, dims_attrib, NULL); + attribute_id = H5Acreate(group_id, "dimension", str_MC, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + if (piv_data->scale) { + H5Awrite(attribute_id, str_MC, "Positions in m"); + } else { +@@ -981,7 +982,7 @@ + dims[0] = piv_data->nx; + dataspace_id = H5Screate_simple(1, dims, NULL); + dataset_id = H5Dcreate(group_id, "point_x", H5T_NATIVE_FLOAT, dataspace_id, +- H5P_DEFAULT); ++ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, point_x_hdf); + status = H5Dclose(dataset_id); +@@ -996,7 +997,7 @@ + dims[0] = piv_data->ny; + dataspace_id = H5Screate_simple(1, dims, NULL); + dataset_id = H5Dcreate(group_id, "point_y", H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, point_y_hdf); + status = H5Dclose(dataset_id); +@@ -1059,7 +1060,7 @@ + /* + * PIV group with RCSID comment and scale attribute + */ +- group_id = H5Gopen (file_id, DATA_KEY); ++ group_id = H5Gopen (file_id, DATA_KEY, H5P_DEFAULT); + H5Gget_comment (group_id, ".", GPIV_MAX_CHARS, RCSID); + piv_data->comment = g_strdup (RCSID); + +@@ -1071,7 +1072,7 @@ + /* + * dx + */ +- dataset_id = H5Dopen(group_id, "dx"); ++ dataset_id = H5Dopen(group_id, "dx", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, piv_data->dx[0]); +@@ -1081,7 +1082,7 @@ + /* + * dy + */ +- dataset_id = H5Dopen(group_id, "dy"); ++ dataset_id = H5Dopen(group_id, "dy", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, piv_data->dy[0]); +@@ -1091,7 +1092,7 @@ + /* + * snr + */ +- dataset_id = H5Dopen(group_id, "snr"); ++ dataset_id = H5Dopen(group_id, "snr", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, piv_data->snr[0]); +@@ -1101,7 +1102,7 @@ + /* + * peak_no + */ +- dataset_id = H5Dopen(group_id, "peak_no"); ++ dataset_id = H5Dopen(group_id, "peak_no", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, piv_data->peak_no[0]); +@@ -1163,12 +1164,12 @@ + /* + * PIV group with RCSID comment and scale attribute + */ +- group_id = H5Gopen (file_id, DATA_KEY); ++ group_id = H5Gopen (file_id, DATA_KEY, H5P_DEFAULT); + H5Gset_comment (group_id, ".", piv_data->comment); + dims_attrib[0] = 1; + dataspace_id = H5Screate_simple(1, dims_attrib, NULL); + attribute_id = H5Acreate(group_id, "scale", H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + H5Awrite(attribute_id, H5T_NATIVE_INT, &piv_data->scale); + H5Aclose(attribute_id); + H5Sclose(dataspace_id); +@@ -1180,7 +1181,7 @@ + H5Tset_size (str_MC, GPIV_MAX_CHARS); + dataspace_id = H5Screate_simple(1, dims_attrib, NULL); + attribute_id = H5Acreate(group_id, "dimension", str_MC, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + if (piv_data->scale) { + H5Awrite(attribute_id, str_MC, "PIV estimators in m/s"); + } else { +@@ -1198,7 +1199,7 @@ + */ + dataspace_id = H5Screate_simple(2, dims, NULL); + dataset_id = H5Dcreate(group_id, "dx", H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, &piv_data->dx[0][0]); + status = H5Dclose(dataset_id); +@@ -1209,7 +1210,7 @@ + */ + dataspace_id = H5Screate_simple(2, dims, NULL); + dataset_id = H5Dcreate(group_id, "dy", H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT,&piv_data->dy[0][0]); + status = H5Dclose(dataset_id); +@@ -1220,7 +1221,7 @@ + */ + dataspace_id = H5Screate_simple(2, dims, NULL); + dataset_id = H5Dcreate(group_id, "snr", H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT,&piv_data->snr[0][0]); + status = H5Dclose(dataset_id); +@@ -1231,7 +1232,7 @@ + */ + dataspace_id = H5Screate_simple(2, dims, NULL); + dataset_id = H5Dcreate(group_id, "peak_no", H5T_NATIVE_INT, dataspace_id, +- H5P_DEFAULT); ++ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, + &piv_data->peak_no[0][0]); + status = H5Dclose(dataset_id); +@@ -1275,12 +1276,12 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "POSITIONS"); ++ group_id = H5Gopen (file_id, "POSITIONS", H5P_DEFAULT); + + /* + * point_x + */ +- dataset_id = H5Dopen(group_id, "point_x"); ++ dataset_id = H5Dopen(group_id, "point_x", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + rank_x = H5Sget_simple_extent_ndims (dataspace_id); + if (rank_x != 1) { +@@ -1300,7 +1301,7 @@ + /* + * point_y + */ +- dataset_id = H5Dopen(group_id, "point_y"); ++ dataset_id = H5Dopen(group_id, "point_y", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + rank_y = H5Sget_simple_extent_ndims (dataspace_id); + if (rank_y != 1) { +@@ -1367,12 +1368,12 @@ + return err_msg; + } + file_id = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); +- group_id = H5Gcreate (file_id, "POSITIONS", 0); ++ group_id = H5Gcreate (file_id, "POSITIONS", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gset_comment (group_id, ".", scalar_data->comment); + dims_attrib[0] = 1; + dataspace_id = H5Screate_simple(1, dims_attrib, NULL); + attribute_id = H5Acreate(group_id, "scale", H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + H5Awrite(attribute_id, H5T_NATIVE_INT, &scalar_data->scale); + H5Aclose(attribute_id); + +@@ -1385,7 +1386,7 @@ + dims_attrib[0] = 1; + dataspace_id = H5Screate_simple(1, dims_attrib, NULL); + attribute_id = H5Acreate(group_id, "dimension", str_MC, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + if (scalar_data->scale) { + H5Awrite(attribute_id, str_MC, "Positions in m"); + } else { +@@ -1402,7 +1403,7 @@ + dims[0] = scalar_data->nx; + dataspace_id = H5Screate_simple(1, dims, NULL); + dataset_id = H5Dcreate(group_id, "point_x", H5T_NATIVE_FLOAT, dataspace_id, +- H5P_DEFAULT); ++ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, point_x_hdf); + status = H5Dclose(dataset_id); +@@ -1417,7 +1418,7 @@ + dims[0] = scalar_data->ny; + dataspace_id = H5Screate_simple(1, dims, NULL); + dataset_id = H5Dcreate(group_id, "point_y", H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, point_y_hdf); + status = H5Dclose(dataset_id); +@@ -1471,14 +1472,14 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_data = H5Gopen (file_id, "SCALARS"); +- group_id = H5Gopen (group_data, DATA_KEY); ++ group_data = H5Gopen (file_id, "SCALARS", H5P_DEFAULT); ++ group_id = H5Gopen (group_data, DATA_KEY, H5P_DEFAULT); + H5Gget_comment (group_id, ".", GPIV_MAX_CHARS, RCSID); + scalar_data->comment = g_strdup (RCSID); + /* + * scalar + */ +- dataset_id = H5Dopen(group_id, "scalar"); ++ dataset_id = H5Dopen(group_id, "scalar", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, scalar_data->scalar[0]); +@@ -1488,7 +1489,7 @@ + /* + * flag + */ +- dataset_id = H5Dopen(group_id, "flag"); ++ dataset_id = H5Dopen(group_id, "flag", H5P_DEFAULT); + dataspace_id = H5Dget_space(dataset_id); + status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, scalar_data->flag[0]); +@@ -1537,8 +1538,8 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); +- group_data = H5Gopen (file_id, "SCALARS"); +- group_id = H5Gcreate (group_data, DATA_KEY, 0); ++ group_data = H5Gopen (file_id, "SCALARS", H5P_DEFAULT); ++ group_id = H5Gcreate (file_id, DATA_KEY, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gset_comment (group_id, ".", scalar_data->comment); + + /* +@@ -1554,7 +1555,7 @@ + + dataspace_id = H5Screate_simple(2, dims, NULL); + dataset_id = H5Dcreate(group_id, "scalar", H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, &scalar_data->scalar[0][0]); + status = H5Dclose(dataset_id); +@@ -1566,7 +1567,7 @@ + + dataspace_id = H5Screate_simple(2, dims, NULL); + dataset_id = H5Dcreate(group_id, "flag", H5T_NATIVE_INT, dataspace_id, +- H5P_DEFAULT); ++ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, + &scalar_data->flag[0][0]); + status = H5Dclose(dataset_id); +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' libgpiv-0.6.1~/lib/piv_par.c libgpiv-0.6.1/lib/piv_par.c +--- libgpiv-0.6.1~/lib/piv_par.c 2012-02-01 10:44:11.000000000 +0100 ++++ libgpiv-0.6.1/lib/piv_par.c 2012-02-01 11:05:41.000000000 +0100 +@@ -1236,9 +1236,12 @@ + } + + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "PIV"); ++ group_id = H5Gopen (file_id, "PIV", H5P_DEFAULT); ++ ++ H5Aiterate (group_id, H5_INDEX_CRT_ORDER, H5_ITER_NATIVE, 0, ++ (H5A_operator_t)attr_info, piv_par); ++ + +- H5Aiterate(group_id, NULL, (H5A_operator_t) attr_info, piv_par); + + status = H5Gclose (group_id); + status = H5Fclose(file_id); +@@ -1273,7 +1276,7 @@ + } + + file_id = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "PIV"); ++ group_id = H5Gopen (file_id, "PIV", H5P_DEFAULT); + + + +@@ -1286,7 +1289,7 @@ + if (piv_par->int_geo__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_GEO, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_geo); + status = H5Aclose(attribute_id); +@@ -1296,7 +1299,7 @@ + && piv_par->col_start__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__COL_START, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->col_start); + status = H5Aclose(attribute_id); +@@ -1306,7 +1309,7 @@ + && piv_par->col_end__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__COL_END, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->col_end); + status = H5Aclose(attribute_id); +@@ -1316,7 +1319,7 @@ + && piv_par->row_start__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__ROW_START, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->row_start); + status = H5Aclose(attribute_id); +@@ -1326,7 +1329,7 @@ + && piv_par->row_end__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__ROW_END, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->row_end); + status = H5Aclose(attribute_id); +@@ -1339,7 +1342,7 @@ + && piv_par->int_line_row__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_LINE_ROW, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_line_row); + status = H5Aclose(attribute_id); +@@ -1349,7 +1352,7 @@ + && piv_par->int_line_row_start__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_LINE_ROW_START, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, &piv_par->int_line_row_start); + status = H5Aclose(attribute_id); + } +@@ -1357,7 +1360,7 @@ + if (piv_par->int_geo == GPIV_LINE_C && piv_par->int_line_row_end__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_LINE_ROW_END, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_line_row_end); + status = H5Aclose(attribute_id); +@@ -1367,7 +1370,7 @@ + && piv_par->int_line_col__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_LINE_COL, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_line_col); + status = H5Aclose(attribute_id); +@@ -1377,7 +1380,7 @@ + && piv_par->int_line_col_start__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_LINE_COL_START, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_line_col_start); + status = H5Aclose(attribute_id); +@@ -1387,7 +1390,7 @@ + && piv_par->int_line_col_end__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_LINE_COL_END, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_line_col_end); + status = H5Aclose(attribute_id); +@@ -1402,7 +1405,7 @@ + && piv_par->int_point_col__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_POINT_COL, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_point_col); + status = H5Aclose(attribute_id); +@@ -1411,7 +1414,7 @@ + if (piv_par->int_geo == GPIV_POINT && piv_par->int_point_row__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_POINT_ROW, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_point_row); + status = H5Aclose(attribute_id); +@@ -1423,7 +1426,7 @@ + if (piv_par->int_size_f__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_SIZE_F, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_size_f); + status = H5Aclose(attribute_id); +@@ -1432,7 +1435,7 @@ + if (piv_par->int_size_i__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_SIZE_I, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_size_i); + status = H5Aclose(attribute_id); +@@ -1441,7 +1444,7 @@ + if (piv_par->int_shift__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_SHIFT, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_shift); + status = H5Aclose(attribute_id); +@@ -1450,7 +1453,7 @@ + if (piv_par->pre_shift_col__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__PRE_SHIFT_COL, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->pre_shift_col); + status = H5Aclose(attribute_id); +@@ -1459,7 +1462,7 @@ + if (piv_par->pre_shift_row__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__PRE_SHIFT_ROW, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->pre_shift_row); + status = H5Aclose(attribute_id); +@@ -1471,7 +1474,7 @@ + if (piv_par->ifit__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__IFIT, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, &piv_par->ifit); + status = H5Aclose(attribute_id); + } +@@ -1479,7 +1482,7 @@ + if (piv_par->peak__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__PEAK, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, &piv_par->peak); + status = H5Aclose(attribute_id); + } +@@ -1487,7 +1490,7 @@ + if (piv_par->int_scheme__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__INT_SCHEME, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->int_scheme); + status = H5Aclose(attribute_id); +@@ -1496,7 +1499,7 @@ + if (piv_par->spof_filter__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__SPOF_FILTER, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->spof_filter); + status = H5Aclose(attribute_id); +@@ -1505,7 +1508,7 @@ + if (piv_par->gauss_weight_ia__set) { + attribute_id = H5Acreate(group_id, PIVPAR_KEY__GAUSS_WEIGHT_IA, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->gauss_weight_ia); + status = H5Aclose(attribute_id); +@@ -1514,7 +1517,7 @@ + if (piv_par->print_piv__set) { + attribute_id = H5Acreate(group_id, "print_piv", + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &piv_par->print_piv); + status = H5Aclose(attribute_id); +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' libgpiv-0.6.1~/lib/post_par.c libgpiv-0.6.1/lib/post_par.c +--- libgpiv-0.6.1~/lib/post_par.c 2012-02-01 10:44:11.000000000 +0100 ++++ libgpiv-0.6.1/lib/post_par.c 2012-02-01 11:05:41.000000000 +0100 +@@ -645,12 +645,18 @@ + } + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); + +- group_id = H5Gopen (file_id, "PIV"); +- H5Aiterate (group_id, NULL, (H5A_operator_t)attr_info, post_par); ++ group_id = H5Gopen (file_id, "PIV", H5P_DEFAULT); ++ H5Aiterate (group_id, H5_INDEX_CRT_ORDER, H5_ITER_NATIVE, 0, ++ (H5A_operator_t)attr_info, post_par); ++ ++ + status = H5Gclose (group_id); + +- group_id = H5Gopen (file_id, "SCALARS"); +- H5Aiterate(group_id, NULL, (H5A_operator_t)attr_info, post_par); ++ group_id = H5Gopen (file_id, "SCALARS", H5P_DEFAULT); ++ H5Aiterate (group_id, H5_INDEX_CRT_ORDER, H5_ITER_NATIVE, 0, ++ (H5A_operator_t)attr_info, post_par); ++ ++ + status = H5Gclose (group_id); + + status = H5Fclose(file_id); +@@ -697,7 +703,7 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "PIV"); ++ group_id = H5Gopen (file_id, "PIV", H5P_DEFAULT); + + + +@@ -711,7 +717,7 @@ + attribute_id = H5Acreate(group_id, + POSTPAR_KEY__OPERATOR_MANIPIV, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &post_par->operator_manipiv); + status = H5Aclose(attribute_id); +@@ -724,7 +730,7 @@ + attribute_id = H5Acreate(group_id, + POSTPAR_KEY__SUBTRACT, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &post_par->subtract); + status = H5Aclose(attribute_id); +@@ -735,7 +741,7 @@ + attribute_id = H5Acreate(group_id, + POSTPAR_KEY__Z_OFF_DX, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_FLOAT, + &post_par->z_off_dx); + status = H5Aclose(attribute_id); +@@ -745,7 +751,7 @@ + attribute_id = H5Acreate(group_id, + POSTPAR_KEY__Z_OFF_DY, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_FLOAT, + &post_par->z_off_dy); + status = H5Aclose(attribute_id); +@@ -756,13 +762,13 @@ + /* + * Parameters of vorstra + */ +- group_id = H5Gopen (file_id, "SCALARS"); ++ group_id = H5Gopen (file_id, "SCALARS", H5P_DEFAULT); + + if (post_par->diff_type__set) { + attribute_id = H5Acreate(group_id, + POSTPAR_KEY__DIFF_TYPE, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &post_par->diff_type); + status = H5Aclose(attribute_id); +@@ -772,7 +778,7 @@ + attribute_id = H5Acreate(group_id, + POSTPAR_KEY__OPERATOR_VORSTRA, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &post_par->operator_vorstra); + status = H5Aclose(attribute_id); +@@ -786,7 +792,7 @@ + attribute_id = H5Acreate(group_id, + POSTPAR_KEY__SCALE_TYPE, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &post_par->scale_type); + status = H5Aclose(attribute_id); +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' libgpiv-0.6.1~/lib/valid_par.c libgpiv-0.6.1/lib/valid_par.c +--- libgpiv-0.6.1~/lib/valid_par.c 2012-02-01 10:44:11.000000000 +0100 ++++ libgpiv-0.6.1/lib/valid_par.c 2012-02-01 11:05:41.000000000 +0100 +@@ -539,8 +539,11 @@ + } + + file_id = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); +- group_id = H5Gopen (file_id, "PIV"); +- H5Aiterate(group_id, NULL, (H5A_operator_t)attr_info, valid_par); ++ group_id = H5Gopen (file_id, "PIV", H5P_DEFAULT); ++ H5Aiterate (group_id, H5_INDEX_CRT_ORDER, H5_ITER_NATIVE, 0, ++ (H5A_operator_t)attr_info, valid_par); ++ ++ + + status = H5Gclose (group_id); + status = H5Fclose(file_id); +@@ -587,8 +590,8 @@ + return err_msg; + } + file_id = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); +-/* group_par = H5Gopen (file_id, "PARAMETERS"); */ +- group_id = H5Gopen (file_id, "PIV"); ++/* group_par = H5Gopen (file_id, "PARAMETERS", H5P_DEFAULT); */ ++ group_id = H5Gopen (file_id, "PIV", H5P_DEFAULT); + + + +@@ -602,7 +605,7 @@ + attribute_id = H5Acreate(group_id, + VALIDPAR_KEY__DATA_YIELD, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_FLOAT, + &valid_par->data_yield); + status = H5Aclose(attribute_id); +@@ -612,7 +615,7 @@ + attribute_id = H5Acreate(group_id, + VALIDPAR_KEY__RESIDU_MAX, + H5T_NATIVE_FLOAT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_FLOAT, + &valid_par->residu_max); + status = H5Aclose(attribute_id); +@@ -623,7 +626,7 @@ + attribute_id = H5Acreate(group_id, + VALIDPAR_KEY__NEIGHBORS, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &valid_par->neighbors); + status = H5Aclose(attribute_id); +@@ -634,7 +637,7 @@ + attribute_id = H5Acreate(group_id, + VALIDPAR_KEY__RESIDU_TYPE, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &valid_par->residu_type); + status = H5Aclose(attribute_id); +@@ -644,7 +647,7 @@ + attribute_id = H5Acreate(group_id, + VALIDPAR_KEY__SUBST_TYPE, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &valid_par->subst_type); + status = H5Aclose(attribute_id); +@@ -654,7 +657,7 @@ + attribute_id = H5Acreate(group_id, + VALIDPAR_KEY__HISTO_TYPE, + H5T_NATIVE_INT, +- dataspace_id, H5P_DEFAULT); ++ dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_INT, + &valid_par->histo_type); + status = H5Aclose(attribute_id); --- libgpiv-0.6.1.orig/debian/patches/series +++ libgpiv-0.6.1/debian/patches/series @@ -0,0 +1,2 @@ +01_omp-pragma.diff +02_hdf5.diff --- libgpiv-0.6.1.orig/debian/rules +++ libgpiv-0.6.1/debian/rules @@ -0,0 +1,237 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +export DH_DEBUG=1 +export DH_VERBOSE=1 + +include /usr/share/quilt/quilt.make + +# This is the debhelper compatibility version to use. +#export DH_COMPAT=5 + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +ifneq ($(wildcard /usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial/libhdf5.so),) + export CPPFLAGS += -I/usr/include/hdf5/serial + export LDFLAGS += -Wl,-L/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial +endif + +CONFIGURE_OPTIONS= --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --enable-omp + + +configure: configure-serial configure-doc configure-mpi +configure-doc: configure-stamp-doc +configure-serial: configure-stamp-serial +configure-mpi: configure-stamp-mpi + + +configure-stamp-doc: patch + dh_testdir +ifneq "$(wildcard /usr/share/misc/config.sub)" "" + cp -f /usr/share/misc/config.sub config.sub +endif +ifneq "$(wildcard /usr/share/misc/config.guess)" "" + cp -f /usr/share/misc/config.guess config.guess +endif + + #================> Configuring libgpiv3-doc. + -mkdir debian/build-doc + cd debian/build-doc && \ + ../../configure $(CONFIGURE_OPTIONS) + + touch $@ + + +configure-stamp-serial: patch + dh_testdir +ifneq "$(wildcard /usr/share/misc/config.sub)" "" + cp -f /usr/share/misc/config.sub config.sub +endif +ifneq "$(wildcard /usr/share/misc/config.guess)" "" + cp -f /usr/share/misc/config.guess config.guess +endif + + #================> Configuring libgpiv3(-serial). + -mkdir debian/build-serial + cd debian/build-serial && \ + ../../configure $(CONFIGURE_OPTIONS) + + touch $@ + + +configure-stamp-mpi: patch + dh_testdir +ifneq "$(wildcard /usr/share/misc/config.sub)" "" + cp -f /usr/share/misc/config.sub config.sub +endif +ifneq "$(wildcard /usr/share/misc/config.guess)" "" + cp -f /usr/share/misc/config.guess config.guess +endif + + #================> Configuring libgpiv-mpi3. + -mkdir debian/build-mpi + cd debian/build-mpi && \ + ../../configure $(CONFIGURE_OPTIONS) \ + --enable-mpi + + touch $@ + + + +#build: build-doc build-serial build-mpi +build: build-arch build-indep +build-arch: build-doc +build-indep: build-serial build-mpi + +build-doc: build-stamp-doc +build-stamp-doc: configure-doc + dh_testdir + + #================> Compiling libgpiv3-doc using Doxygen. + $(MAKE) -C debian/build-doc/ doxygen-doc + + touch $@ + + +build-serial: build-stamp-serial +build-stamp-serial: configure-serial + dh_testdir + + #================> Compiling libgpiv3(-serial). + $(MAKE) -C debian/build-serial/ + + touch $@ + + +build-mpi: build-stamp-mpi +build-stamp-mpi: configure-mpi + dh_testdir + + #================> Compiling libgpiv-mpi3. + $(MAKE) -C debian/build-mpi/ + + touch $@ + + +clean: unpatch + #================> Cleaning (after eventual unpatching). + dh_testdir + dh_testroot + dh_clean configure-stamp* build-stamp* install-stamp* patch-stamp* \ + debian/*.shlibs + rm -rf debian/tmp debian/tmp-mpi \ + debian/libgpiv3 debian/libgpiv3-dev debian/libgpiv3-dbg \ + debian/libgpiv-mpi3 debian/libgpiv-mpi3-dbg \ + debian/libgpiv3-doc + -rm -rf debian/build-doc + -rm -rf debian/build-serial + -rm -rf debian/build-mpi + + #================> Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + -test -r /usr/share/misc/config.sub && \ + rm -f config.sub + -test -r /usr/share/misc/config.guess && \ + rm -f config.guess + + dh_clean + + +install: build-doc build-serial build-mpi +install-doc: install-stamp-doc +install-stamp-doc: build-stamp-doc + #================> Installing libgpiv3-doc into debian/tmp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package libgpiv3-doc into debian/tmp + install -d $(CURDIR)/debian/tmp + $(MAKE) -C $(CURDIR)/debian/build-doc/ doxygen-install prefix=$(CURDIR)/debian/tmp/usr \ + sysconfdir=$(CURDIR)/debian/tmp/etc + + install -d $(CURDIR)/debian/tmp/usr/share/doc-base/ + install -m 644 $(CURDIR)/debian/libgpiv3-doc.doc-base \ + $(CURDIR)/debian/tmp/usr/share/doc-base/libgpiv3 + + dh_install --sourcedir=debian/tmp -plibgpiv3-doc + touch $@ + + +install-serial: install-stamp-serial +install-stamp-serial: build-stamp-serial + #================> Installing libgpiv3 into debian/tmp + dh_testdir + dh_testroot +# dh_clean -k +# dh_installdirs + + # Add here commands to install the package libgpiv3(-common) into debian/tmp + install -d $(CURDIR)/debian/tmp + $(MAKE) -C $(CURDIR)/debian/build-serial/ install prefix=$(CURDIR)/debian/tmp/usr \ + sysconfdir=$(CURDIR)/debian/tmp/etc + + dh_install --sourcedir=debian/tmp -plibgpiv3 -plibgpiv3-dev + dh_install --sourcedir=debian/tmp -plibgpiv3-common + touch $@ + + +install-mpi: install-stamp-mpi +install-stamp-mpi: build-stamp-mpi + #================> Installing libgpiv-mpi3 into debian/tmp-mpi + dh_testdir + dh_testroot +# dh_clean -k --exclude=debian/tmp +# dh_installdirs + + # Add here commands to install the package libgpiv-mpi3 into debian/tmp-mpi + install -d $(CURDIR)/debian/tmp-mpi + $(MAKE) -C $(CURDIR)/debian/build-mpi/ install prefix=$(CURDIR)/debian/tmp-mpi/usr \ + sysconfdir=$(CURDIR)/debian/tmp-mpi/etc + + dh_install --sourcedir=debian/tmp-mpi -plibgpiv-mpi3 -plibgpiv3-dev + touch $@ + + +# Build architecture-independent files here. +binary-indep: build-doc install-doc + #================> building DEB of libgpiv3-doc. + $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common + +# Build architecture-dependent files here. + #================> building DEB of libgpiv3(-serial) and -mpi. +binary-arch: build install-serial install-mpi + $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common + +binary-common: + dh_testdir + dh_testroot + dh_installdebconf + dh_installdocs + dh_installchangelogs ChangeLog + dh_link + dh_strip --dbg-package=libgpiv3-dbg + dh_compress + dh_fixperms + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + + +binary: binary-indep binary-arch +.PHONY: build build-doc build-serial build-mpi clean binary-indep binary-arch binary binary-serial binary-mpi libgpiv-mpi3 install install-doc install-stamp-doc install-serial install-stamp-serial install-mpi install-stamp-mpi --- libgpiv-0.6.1.orig/debian/watch +++ libgpiv-0.6.1/debian/watch @@ -0,0 +1,6 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# Site Directory Pattern Version Script +version=3 +http://sf.net/libgpiv/libgpiv-(.*)\.tar\.gz debian uupdate