Compilation Failure on Cygwin64

Hi All,

I'm trying to use the C HDF5 api in my application.

Have tried using the pre-compiled binary but I get compatibility issues
when compiling (using gcc) application.

/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/HDF518ATReleaseTAR/build/hdf5/lib/libhdf5_hl.a
when searching for -lhdf5_hl

/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/HDF518ATReleaseTAR/build/hdf5/lib/libhdf5.a
when searching for -lhdf5

/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/HDF518ATReleaseTAR/build/hdf5/lib/libsz.a when
searching for -lsz

I'm now trying to compile from source. Had to remove the following from
h5ls.c because it was causing an error using make:

#elif defined(H5_HAVE_GETCONSOLESCREENBUFFERINFO)
    {
        /* Win32 C */
        CONSOLE_SCREEN_BUFFER_INFO scr;
        GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &scr);
        width = scr.srWindow.Right - scr.srWindow.Left + 1;
    }

Make now finishes with no error codes, however make check always hangs at:
Testing big.exe

I also note that in configure

checking if large (64-bit) files are supported on this system....

takes a large duration followed by

skipping test for lseek64(), fseeko64 , ftello64, ftruncate64() because
off64_t is not defined"

I hope that someone can please give me some help as I'm currently out of
ideas!

Cheers,

Alasdhair

Hi All,

I'm trying to use the C HDF5 api in my application.

Have tried using the pre-compiled binary but I get compatibility issues
when compiling (using gcc) application.

which issue ?

/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/HDF518ATReleaseTAR/build/hdf5/lib/libhdf5_hl.a
when searching for -lhdf5_hl

/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/HDF518ATReleaseTAR/build/hdf5/lib/libhdf5.a
when searching for -lhdf5

/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/HDF518ATReleaseTAR/build/hdf5/lib/libsz.a
when searching for -lsz

libhdf5-devel was built with only shared lib

/usr/lib/libhdf5.dll.a
/usr/lib/libhdf5.settings
/usr/lib/libhdf5_cpp.dll.a
/usr/lib/libhdf5_hl.dll.a
/usr/lib/libhdf5_hl_cpp.dll.a

I'm now trying to compile from source. Had to remove the following from
h5ls.c because it was causing an error using make:

#elif defined(H5_HAVE_GETCONSOLESCREENBUFFERINFO)
     {
         /* Win32 C */
         CONSOLE_SCREEN_BUFFER_INFO scr;
         GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &scr);
         width = scr.srWindow.Right - scr.srWindow.Left + 1;
     }

H5_HAVE_GETCONSOLESCREENBUFFERINFO should be not defined.

Unfortunately the check for GetConsoleScreenBufferInfo
is a false positive on cygwin64.
http://cygwin.com/ml/cygwin-apps/2013-05/msg00049.html

I suppose you are using cmake, while I built the package using autoconf.
Attached patch for my case.

Make now finishes with no error codes, however make check always hangs at:
Testing big.exe

This problem exist also in 32 bit.

I also note that in configure

checking if large (64-bit) files are supported on this system....
  takes a large duration followed by

skipping test for lseek64(), fseeko64 , ftello64, ftruncate64() because
off64_t is not defined"

as off_t is 64 bit. off64_t is superflous

hdf5-1.8.11-1.src.patch (631 Bytes)

···

Il 8/8/2013 2:40 PM, Alasdhair Beaton ha scritto:

I hope that someone can please give me some help as I'm currently out of
ideas!

Cheers,

Alasdhair

Thanks Marco,

This issue was fixed by rolling back Cygwin and GCC to the versions
specified on the source/release download page.

Thanks for your time.

Kind regards,
Alasdhair

···

On Thu, Aug 8, 2013 at 9:54 PM, marco atzeri <marco.atzeri@gmail.com> wrote:

Il 8/8/2013 2:40 PM, Alasdhair Beaton ha scritto:

Hi All,

I'm trying to use the C HDF5 api in my application.

Have tried using the pre-compiled binary but I get compatibility issues
when compiling (using gcc) application.

which issue ?

/usr/lib/gcc/x86_64-pc-cygwin/**4.8.1/../../../../x86_64-pc-**
cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/**HDF518ATReleaseTAR/build/hdf5/**
lib/libhdf5_hl.a
when searching for -lhdf5_hl

/usr/lib/gcc/x86_64-pc-cygwin/**4.8.1/../../../../x86_64-pc-**
cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/**HDF518ATReleaseTAR/build/hdf5/**
lib/libhdf5.a
when searching for -lhdf5

/usr/lib/gcc/x86_64-pc-cygwin/**4.8.1/../../../../x86_64-pc-**
cygwin/bin/ld:
skipping incompatible
/home/hdf-winadmin/autotest/**HDF518ATReleaseTAR/build/hdf5/**lib/libsz.a
when searching for -lsz

libhdf5-devel was built with only shared lib

/usr/lib/libhdf5.dll.a
/usr/lib/libhdf5.settings
/usr/lib/libhdf5_cpp.dll.a
/usr/lib/libhdf5_hl.dll.a
/usr/lib/libhdf5_hl_cpp.dll.a

I'm now trying to compile from source. Had to remove the following from
h5ls.c because it was causing an error using make:

#elif defined(H5_HAVE_**GETCONSOLESCREENBUFFERINFO)
     {
         /* Win32 C */
         CONSOLE_SCREEN_BUFFER_INFO scr;
         GetConsoleScreenBufferInfo(**GetStdHandle(STD_OUTPUT_**HANDLE),
&scr);
         width = scr.srWindow.Right - scr.srWindow.Left + 1;
     }

H5_HAVE_**GETCONSOLESCREENBUFFERINFO should be not defined.

Unfortunately the check for GetConsoleScreenBufferInfo
is a false positive on cygwin64.
http://cygwin.com/ml/cygwin-**apps/2013-05/msg00049.html<http://cygwin.com/ml/cygwin-apps/2013-05/msg00049.html>

I suppose you are using cmake, while I built the package using autoconf.
Attached patch for my case.

Make now finishes with no error codes, however make check always hangs at:

Testing big.exe

This problem exist also in 32 bit.

I also note that in configure

checking if large (64-bit) files are supported on this system....
  takes a large duration followed by

skipping test for lseek64(), fseeko64 , ftello64, ftruncate64() because
off64_t is not defined"

as off_t is 64 bit. off64_t is superflous

I hope that someone can please give me some help as I'm currently out of
ideas!

Cheers,

Alasdhair

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org

http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org