Giter VIP home page Giter VIP logo

Comments (11)

rimmartin avatar rimmartin commented on July 22, 2024

Hi, where is your native hdf5 library installed?

you'll need to set the switch --hdf5_home_win to point to the hdf5 library directory on the

 npm install hdf5 --fallback-to-build --hdf5_home_win=<path to your hdf5 lib>

line.

The default is C:/Software/hdf5

I'll be testing tomorrow at my work's windows box in preparation of next release. I'll be able to help you more tomorrow

from hdf5.node.

rimmartin avatar rimmartin commented on July 22, 2024

I'm working mostly with hdf5 1.8.17 and slightly older. Haven't got 1.10.x working even in pure c++ projects yet

from hdf5.node.

jacobabba avatar jacobabba commented on July 22, 2024

I had tried specifying the path with the hdf5_home_win flag, but I think it perhaps wasn't working because of whitespace in the path (it was in Program Files). I moved it to c:/software/hdf5 and it worked. Thanks for your help!

from hdf5.node.

rimmartin avatar rimmartin commented on July 22, 2024

Oh interesting. I'll look for the white space issue in the future

from hdf5.node.

rimmartin avatar rimmartin commented on July 22, 2024

Hi, Which compiler was being used?

from hdf5.node.

jacobabba avatar jacobabba commented on July 22, 2024

It's the cl compiler with visual studio 12. I was enclosing the path with quotations when there was a whitespace if that makes a difference.

Also, I've had a few other problems while running the library in node.

I ended up building with 1.8.15 because 1.8.17 wasn't working. But I was getting this error on the command prompt when calling hdf5.File():

Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.8.15, library is 1.8.17
      SUMMARY OF THE HDF5 CONFIGURATION
      =================================

General Information:
-------------------
                   HDF5 Version: 1.8.17
                  Configured on: 2016-05-11
                  Configured by: Visual Studio 14 2015 Win64
                 Configure mode: CMAKE 3.5.0
                    Host system: Windows-6.1.7601
              Uname information: Windows
                       Byte sex: little-endian
                      Libraries:
             Installation point: C:/Program Files/HDF_Group/HDF5/1.8.17

Compiling Options:
------------------
               Compilation Mode: RelWithDebInfo
                     C Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
                         CFLAGS:  /DWIN32 /D_WINDOWS /W3
                      H5_CFLAGS:
                      AM_CFLAGS:
                       CPPFLAGS:
                    H5_CPPFLAGS:
                    AM_CPPFLAGS:
               Shared C Library: YES
               Static C Library: YES
  Statically Linked Executables: OFF
                        LDFLAGS:  /machine:x64
                     AM_LDFLAGS:
                Extra libraries: zlib-static;szip-static
                       Archiver:
                         Ranlib:
              Debugged Packages:
                    API Tracing: OFF

Languages:
----------
                        Fortran: ON
               Fortran Compiler: C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2016/windows/bin/intel64/ifort.exe
          Fortran 2003 Compiler: ON
                  Fortran Flags:  /W1 /nologo /fpp /libs:dll /threads
               H5 Fortran Flags:
               AM Fortran Flags:
         Shared Fortran Library: YES
         Static Fortran Library: YES

                            C++: ON
                   C++ Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
                      C++ Flags:  /DWIN32 /D_WINDOWS /W3 /GR /EHsc
                   H5 C++ Flags:
                   AM C++ Flags:
             Shared C++ Library: YES
             Static C++ Library: YES

Features:
---------
                  Parallel HDF5: OFF
             High Level library: ON
                   Threadsafety: OFF
            Default API Mapping: v18
 With Deprecated Public Symbols: ON
         I/O filters (external):  DEFLATE DECODE ENCODE
                            MPE:
                     Direct VFD:
                        dmalloc:
Clear file buffers before write: ON
           Using memory checker: OFF
         Function Stack Tracing: OFF
      Strict File Format Checks: OFF
   Optimization Instrumentation:
Bye...

This error is resolved WITHOUT REBUILDING if I move the 1.8.17 directory out of c:\Program Files\hdf_group\hdf5 (only leaving the 1.8.15 directory). I guess it's trying to use the dlls of the highest version in that directory?

Also, once I move the 1.8.17 directory out, I then get a failed assertion that looks like this when calling hdf5.File:

error

from hdf5.node.

jacobabba avatar jacobabba commented on July 22, 2024

Whoops, I was dumb and didn't include the 'new' keyword in front of hdf5.File, which solved the above error.

This might be a silly question, but how do I open the root group of a file so I can call group methods (such as getMemberNames, getDatasetAttributes, etc)? The file object has getMemberNamesByCreationOrder but doesn't have an alphabetical option. I've tried file.openGroup('/') but it just crashes.

from hdf5.node.

rimmartin avatar rimmartin commented on July 22, 2024

I'll add getMemberNames and others that might be needed to the file level. Won't take long. Might look at treating it as a group if possible. I got attributes working that way. Thank you for the feed back.

also want to see when new isn't used if it can stop more gracefully

from hdf5.node.

rimmartin avatar rimmartin commented on July 22, 2024

Hi @vincent-tr,

I moved some code around. Put Attributes implementation in a cc file and introduced a Methods class between Attributes and File & Group for common methods of both accessing info about attributes and children. Is this okay with you? Better way to do it?

from hdf5.node.

vincent-tr avatar vincent-tr commented on July 22, 2024

That sounds good :)

from hdf5.node.

rimmartin avatar rimmartin commented on July 22, 2024

There is now common code between group and file for methods like getMemberNames which get information about child members

from hdf5.node.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.