HDF5 Library: Works for Running Binary but Fails to Recompile — Why?

45 Views Asked by At

I've encountered a rather strange library dependency issue. I'm facing two scenarios, which seem contradictory to me, and I'd appreciate any insights from experts.

Scenario 1: Executing an existing binary file

When running a binary file, I encountered a problem with missing libhdf5_serial.so.10. I noticed that I have libhdf5_serial.so.103, so I created a symbolic link named libhdf5_serial.so.10 pointing to libhdf5_serial.so.103, and this resolved the issue. It appears that libhdf5_serial.so.103 contains the necessary information for this binary file.

Scenario 2: Compiling from source code to create a binary file

Now, I need to update this binary file, so I have to recompile it. During compilation, I encountered various errors such as undefined reference to H5::CommonFG::openDataSet(char const*) const@HDF5_CPP_1.8.15, indicating that the relevant HDF5 library cannot be found. However, I included the directory of libhdf5_serial.so.10 and the file itself in the compilation command using the -L and -l: flags for the gcc linker:

g++-5 … -L/usr/lib/x86_64-linux-gnu -l:../../../../usr/lib/x86_64-linux-gnu/ibhdf5_serial.so.10.

Analysis

In Scenario 1, it seems that the required library for the executable file is /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10. However, in Scenario 2, even when specifying the specific version of the library using -l:, I still encounter undefined reference errors. This has left me puzzled. Could it be that the required libraries for these two scenarios are actually different? But the source file I compiled is indeed the original code of this binary file. Why would there be different library dependencies after compilation? This doesn't seem right.

Operating Environment

  • Ubuntu 22.04
  • Netbeans 21
  • HDF5 1.10.7
  • HDF5 1.8.15 and 1.8.16 (manually compiled, built, and installed from here)
  • g++-5 (indeed a very outdated version)

I'm wondering if anyone could provide some guidance on this?

Thank you very much!

Below is some relevant information.

Compilation command

g++-5 -o dist/MyConverter \
    build/Default/GNU-Linux/converter/MyConverter_analyzer.o  \
    build/Default/GNU-Linux/converter/MyConverter.o  \
    build/Default/GNU-Linux/converter/MyConverter_parser.o  \
    build/Default/GNU-Linux/main.o  \
    -Llib  \
    -L../../../Software/hdf5-1.8.15/build/lib  \
    -L../../../Software/hdf5-1.8.16/build/lib  \
    -L/usr/lib/x86_64-linux-gnu \
    -Wl,-rpath,'lib'  \
    lib/libBVCio.so \
    lib/libBVCutil.so  \
    -ltinyxml  \
    -l:../../../../../usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10  \
    -l:../../../../../usr/lib/x86_64-linux-gnu/libhdf5_cpp.so.11

Compilation Error Message

/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openDataSet(char const*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5Location::createAttribute(char const*, H5::DataType const&, H5::DataSpace const&, H5::PropList const&) const@HDF5_CPP_1.8.12'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5Location::openAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::printError(_IO_FILE*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createGroup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetCreatPropList::setAllocTime(H5D_alloc_time_t)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5Location::createAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, H5::DataType const&, H5::DataSpace const&, H5::PropList const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openGroup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openGroup(char const*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createGroup(char const*, unsigned long) const@HDF5_CPP_1.8.13'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openDataSet(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createDataSet(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, H5::DataType const&, H5::DataSpace const&, H5::DSetCreatPropList const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createDataSet(char const*, H5::DataType const&, H5::DataSpace const&, H5::DSetCreatPropList const&) const@HDF5_CPP_1.8.9'

Default/Pre-installed HDF5 1.10.7 configuration

>> whereis h5cc
h5cc: /usr/bin/h5cc /usr/share/man/man1/h5cc.1.gz
>> h5cc -showconfig

        SUMMARY OF THE HDF5 CONFIGURATION
        =================================

General Information:
-------------------
                   HDF5 Version: 1.10.7
                  Configured on: Wed, 08 Dec 2021 23:33:27 +0000
                  Configured by: Debian
                    Host system: x86_64-pc-linux-gnu
              Uname information: Debian
                       Byte sex: little-endian
             Installation point: /usr
            Flavor name: serial

Compiling Options:
------------------
                     Build Mode: production
              Debugging Symbols: no
                        Asserts: no
                      Profiling: no
             Optimization Level: high

Linking Options:
----------------
                      Libraries: static, shared
  Statically Linked Executables: 
                        LDFLAGS: -Wl,-Bsymbolic-functions -flto=auto -Wl,-z,relro
                     H5_LDFLAGS: -Wl,--version-script,$(top_srcdir)/debian/map_serial.ver
                     AM_LDFLAGS: 
                Extra libraries: -lcrypto -lcurl -lpthread -lsz -lz -ldl -lm 
                       Archiver: ar
                       AR_FLAGS: cr
                         Ranlib: x86_64-linux-gnu-ranlib

Languages:
----------
                              C: yes
                     C Compiler: /usr/bin/gcc
                       CPPFLAGS: -Wdate-time -D_FORTIFY_SOURCE=2
                    H5_CPPFLAGS: -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L   -DNDEBUG -UH5_DEBUG_API
                    AM_CPPFLAGS: 
                        C Flags: -g -O2 -ffile-prefix-map=$(top_srcdir)=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security
                     H5 C Flags:  -std=c99  -Wall -Wcast-qual -Wconversion -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wno-c++-compat -Wno-format-nonliteral -Wshadow -Wundef -Wwrite-strings -pedantic -Wlarger-than=2560 -Wlogical-op -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wsync-nand -Wstrict-overflow=5 -Wno-unsuffixed-float-constants -Wdouble-promotion -Wtrampolines -Wstack-usage=8192 -Wmaybe-uninitialized -Wdate-time -Warray-bounds=2 -Wc99-c11-compat -Wduplicated-cond -Whsa -Wnormalized -Wnull-dereference -Wunused-const-variable -Walloca -Walloc-zero -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=1 -Wimplicit-fallthrough=5 -Wrestrict -Wattribute-alias -Wcast-align=strict -Wshift-overflow=2 -Wattribute-alias=2 -Wmissing-profile -fstdarg-opt -s -Wno-aggregate-return -Wno-inline -Wno-missing-format-attribute -Wno-missing-noreturn -Wno-overlength-strings -Wno-jump-misses-init -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn -Wno-suggest-attribute=pure -Wno-suggest-attribute=format -Wno-suggest-attribute=cold -Wno-suggest-attribute=malloc -O3  -Werror=bad-function-cast -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=packed -Werror=pointer-sign -Werror=pointer-to-int-cast -Werror=redundant-decls -Werror=strict-prototypes -Werror=switch -Wunused-function -Wunused-variable -Wunused-parameter -Wcast-align -Wunused-but-set-variable -Wformat -Werror=incompatible-pointer-types -Werror=shadow -Wcast-function-type -Wmaybe-uninitialized
                     AM C Flags: 
               Shared C Library: yes
               Static C Library: yes


                        Fortran: yes
               Fortran Compiler: /usr/bin/gfortran
                  Fortran Flags: -g -O2 -ffile-prefix-map=$(top_srcdir)=. -flto=auto -ffat-lto-objects -fstack-protector-strong
               H5 Fortran Flags:  -std=f2008  -Waliasing -Wall -Wcharacter-truncation -Wextra -Wimplicit-interface -Wsurprising -Wunderflow -pedantic -Warray-temporaries -Wintrinsics-std -Wimplicit-procedure -Wreal-q-constant -Wfunction-elimination -Wrealloc-lhs -Wrealloc-lhs-all -Wno-c-binding-type -Wuse-without-only -Winteger-division -Wfrontend-loop-interchange  -s -O3
               AM Fortran Flags: 
         Shared Fortran Library: yes
         Static Fortran Library: yes

                            C++: yes
                   C++ Compiler: /usr/bin/g++
                      C++ Flags: -g -O2 -ffile-prefix-map=$(top_srcdir)=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security
                   H5 C++ Flags:   -Wall -Wcast-qual -Wconversion -Wctor-dtor-privacy -Weffc++ -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wno-format-nonliteral -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wreorder -Wshadow -Wsign-promo -Wundef -Wwrite-strings -pedantic -Wlarger-than=2560 -Wlogical-op -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wsync-nand -Wstrict-overflow=5 -Wno-unsuffixed-float-constants -Wdouble-promotion -Wtrampolines -Wstack-usage=8192 -Wmaybe-uninitialized -Wdate-time -Wopenmp-simd -Warray-bounds=2 -Wduplicated-cond -Whsa -Wnormalized -Wnull-dereference -Wunused-const-variable -Walloca -Walloc-zero -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=1 -Wimplicit-fallthrough=5 -Wrestrict -Wattribute-alias -Wcast-align=strict -Wshift-overflow=2 -Wattribute-alias=2 -Wmissing-profile -fstdarg-opt -s -O3  -Wcast-align -Wmissing-declarations -Werror=packed -Werror=redundant-decls -Werror=switch -Wunused-but-set-variable -Werror=unused-function -Werror=unused-variable -Wunused-parameter -Werror=shadow
                   AM C++ Flags: 
             Shared C++ Library: yes
             Static C++ Library: yes

                           Java: yes
                  Java Compiler: /usr/bin/java (openjdk 11.0.13 2021-10-19)


Features:
---------
                   Parallel HDF5: no
Parallel Filtered Dataset Writes: no
              Large Parallel I/O: no
              High-level library: yes
                Build HDF5 Tests: yes
                Build HDF5 Tools: yes
                    Threadsafety: yes
             Default API mapping: v18
  With deprecated public symbols: yes
          I/O filters (external): deflate(zlib),szip(encoder)
                             MPE: no
                      Direct VFD: no
                      Mirror VFD: no
              (Read-Only) S3 VFD: yes
            (Read-Only) HDFS VFD: no
                         dmalloc: no
  Packages w/ extra debug output: none
                     API tracing: no
            Using memory checker: no
 Memory allocation sanity checks: no
          Function stack tracing: no
                Use file locking: best-effort
       Strict file format checks: no
    Optimization instrumentation: no

Manually installed old HDF5 (1.8.16)

SUMMARY OF THE HDF5 CONFIGURATION
        =================================

General Information:
-------------------
           HDF5 Version: 1.8.16
          Configured on: Mon Mar 18 16:20:25 CET 2024
          Configured by: ethankao@Prudens
         Configure mode: production
            Host system: x86_64-unknown-linux-gnu
          Uname information: Linux Prudens 6.5.0-25-generic #25~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 20 16:09:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
               Byte sex: little-endian
              Libraries: static, shared
         Installation point: /home/ethankao/Software/hdf5-1.8.16/build

Compiling Options:
------------------
               Compilation Mode: production
                     C Compiler: /usr/bin/gcc
                         CFLAGS: 
                      H5_CFLAGS:   -std=c99 -pedantic -Wall -W -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -O -finline-functions
                      AM_CFLAGS: 
                       CPPFLAGS: 
                    H5_CPPFLAGS: -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L   -DNDEBUG -UH5_DEBUG_API
                    AM_CPPFLAGS: -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE 
               Shared C Library: yes
               Static C Library: yes
  Statically Linked Executables: no
                        LDFLAGS: 
                     H5_LDFLAGS: 
                     AM_LDFLAGS: 
        Extra libraries: -lz -ldl -lm 
               Archiver: ar
             Ranlib: ranlib
          Debugged Packages: 
            API Tracing: no

Languages:
----------
                        Fortran: yes
               Fortran Compiler: /usr/bin/gfortran
          Fortran 2003 Compiler: 
                  Fortran Flags: 
               H5 Fortran Flags:  
               AM Fortran Flags: 
         Shared Fortran Library: yes
         Static Fortran Library: yes

                            C++: yes
                   C++ Compiler: /usr/bin/g++
                      C++ Flags: 
                   H5 C++ Flags:  
                   AM C++ Flags: 
             Shared C++ Library: yes
             Static C++ Library: yes

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

EDIT: Add the whole text of failing linkage

cd '/home/ethankao/Documents/NetbeansProject/MyConverter'
/usr/bin/gmake -f Makefile CONF=Default clean
"/usr/bin/gmake" -f nbproject/Makefile-Default.mk QMAKE= SUBPROJECTS= .clean-conf
gmake[1]: Entering directory '/home/ethankao/Documents/NetbeansProject/MyConverter'
rm -f -r build/Default
rm -f -r dist/libBVCio.so dist/libBVCutil.so dist/libhdf5_serial.so.10 dist/libhdf5_cpp.so.11
rm -f dist/MyConverter
gmake[1]: Leaving directory '/home/ethankao/Documents/NetbeansProject/MyConverter'

CLEAN SUCCESSFUL (total time: 51ms)
cd '/home/ethankao/Documents/NetbeansProject/MyConverter'
/usr/bin/gmake -f Makefile CONF=Default
"/usr/bin/gmake" -f nbproject/Makefile-Default.mk QMAKE= SUBPROJECTS= .build-conf
gmake[1]: Entering directory '/home/ethankao/Documents/NetbeansProject/MyConverter'
"/usr/bin/gmake"  -f nbproject/Makefile-Default.mk dist/MyConverter
gmake[2]: Entering directory '/home/ethankao/Documents/NetbeansProject/MyConverter'
mkdir -p build/Default/GNU-Linux/converter
rm -f "build/Default/GNU-Linux/converter/MyConverter_analyzer.o.d"
g++-5    -c -O2 -Iext/BVCio/include -Iext/BVCutil/include -Iext/javaincludes -Iconverter/include -I/usr/include -I../../../Software/hdf5-1.8.15/build/include -I../../../Software/hdf5-1.8.16/build/include -include /usr/include/tinyxml.h -MMD -MP -MF "build/Default/GNU-Linux/converter/MyConverter_analyzer.o.d" -o build/Default/GNU-Linux/converter/MyConverter_analyzer.o converter/MyConverter_analyzer.cpp
mkdir -p build/Default/GNU-Linux/converter
rm -f "build/Default/GNU-Linux/converter/MyConverter.o.d"
g++-5    -c -O2 -Iext/BVCio/include -Iext/BVCutil/include -Iext/javaincludes -Iconverter/include -I/usr/include -I../../../Software/hdf5-1.8.15/build/include -I../../../Software/hdf5-1.8.16/build/include -include /usr/include/tinyxml.h -MMD -MP -MF "build/Default/GNU-Linux/converter/MyConverter.o.d" -o build/Default/GNU-Linux/converter/MyConverter.o converter/MyConverter.cpp
mkdir -p build/Default/GNU-Linux/converter
rm -f "build/Default/GNU-Linux/converter/MyConverter_parser.o.d"
g++-5    -c -O2 -Iext/BVCio/include -Iext/BVCutil/include -Iext/javaincludes -Iconverter/include -I/usr/include -I../../../Software/hdf5-1.8.15/build/include -I../../../Software/hdf5-1.8.16/build/include -include /usr/include/tinyxml.h -MMD -MP -MF "build/Default/GNU-Linux/converter/MyConverter_parser.o.d" -o build/Default/GNU-Linux/converter/MyConverter_parser.o converter/MyConverter_parser.cpp
mkdir -p build/Default/GNU-Linux
rm -f "build/Default/GNU-Linux/main.o.d"
g++-5    -c -O2 -Iext/BVCio/include -Iext/BVCutil/include -Iext/javaincludes -Iconverter/include -I/usr/include -I../../../Software/hdf5-1.8.15/build/include -I../../../Software/hdf5-1.8.16/build/include -include /usr/include/tinyxml.h -MMD -MP -MF "build/Default/GNU-Linux/main.o.d" -o build/Default/GNU-Linux/main.o main.cpp
mkdir -p dist
g++-5 -o dist/MyConverter build/Default/GNU-Linux/converter/MyConverter_analyzer.o build/Default/GNU-Linux/converter/MyConverter.o build/Default/GNU-Linux/converter/MyConverter_parser.o build/Default/GNU-Linux/main.o -Llib -L../../../Software/hdf5-1.8.15/build/lib -L../../../Software/hdf5-1.8.16/build/lib -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,'lib' lib/libBVCio.so lib/libBVCutil.so -ltinyxml /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10 /usr/lib/x86_64-linux-gnu/libhdf5_cpp.so.11
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::StrType::StrType(H5::PredType const&, unsigned long const&)@HDF5_CPP_1.8.13'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Attribute::write(H5::DataType const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openDataSet(char const*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::PredType::NATIVE_INT32@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CompType::~CompType()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetMemXferPropList::DEFAULT@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::IdComponent::operator=(H5::IdComponent const&)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5Location::createAttribute(char const*, H5::DataType const&, H5::DataSpace const&, H5::PropList const&) const@HDF5_CPP_1.8.12'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Attribute::write(H5::DataType const&, void const*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetCreatPropList::~DSetCreatPropList()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CompType::insertMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, H5::DataType const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSet::read(void*, H5::DataType const&, H5::DataSpace const&, H5::DataSpace const&, H5::DSetMemXferPropList const&) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `typeinfo for H5::Exception@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::FileIException::~FileIException()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::AbstractDs::getDataType() const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetCreatPropList::setChunk(int, unsigned long long const*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Attribute::read(H5::DataType const&, void*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Attribute::~Attribute()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSet::close()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::AbstractDs::getTypeClass() const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSpace::ALL@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5Location::openAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Attribute::getStorageSize() const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::PredType::NATIVE_DOUBLE@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::~Exception()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Group::Group()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::printError(_IO_FILE*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `vtable for H5::FileIException@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createGroup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Group::~Group()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetCreatPropList::setAllocTime(H5D_alloc_time_t)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSpace::close()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5File::~H5File()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Group::close()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSpace::DataSpace(int, unsigned long long const*, unsigned long long const*)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSet::write(void const*, H5::DataType const&, H5::DataSpace const&, H5::DataSpace const&, H5::DSetMemXferPropList const&) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetCreatPropList::DSetCreatPropList()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5Location::createAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, H5::DataType const&, H5::DataSpace const&, H5::PropList const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::FileCreatPropList::DEFAULT@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSpace::DataSpace(H5S_class_t)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openGroup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CompType::CompType(unsigned long)@HDF5_CPP_1.8.13'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetCreatPropList::setDeflate(int) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataType::close()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::PredType::C_S1@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::PropList::close()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5File::openFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, H5::FileAccPropList const&)@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::getCDetailMsg() const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::Exception(H5::Exception const&)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataType::~DataType()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DSetCreatPropList::DEFAULT@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::StrType::~StrType()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5File::close()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Attribute::close()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5File::H5File()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Group::Group(H5::Group const&)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openGroup(char const*) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::FileAccPropList::DEFAULT@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createGroup(char const*, unsigned long) const@HDF5_CPP_1.8.13'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::openDataSet(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `typeinfo for H5::FileIException@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::H5File::H5File(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, H5::FileCreatPropList const&, H5::FileAccPropList const&)@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::dontPrint()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::PropList::DEFAULT@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createDataSet(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, H5::DataType const&, H5::DataSpace const&, H5::DSetCreatPropList const&) const@HDF5_CPP_1.8.15.1'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSet::~DataSet()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::Exception(H5::Exception const&)@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::DataSpace::~DataSpace()@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::CommonFG::createDataSet(char const*, H5::DataType const&, H5::DataSpace const&, H5::DSetCreatPropList const&) const@HDF5_CPP_1.8.9'
/usr/bin/ld: lib/libBVCio.so: undefined reference to `H5::Exception::getDetailMsg[abi:cxx11]() const@HDF5_CPP_1.8.15.1'
collect2: error: ld returned 1 exit status
gmake[2]: *** [nbproject/Makefile-Default.mk:74: dist/MyConverter] Error 1
gmake[2]: Leaving directory '/home/ethankao/Documents/NetbeansProject/MyConverter'
gmake[1]: *** [nbproject/Makefile-Default.mk:62: .build-conf] Error 2
gmake[1]: Leaving directory '/home/ethankao/Documents/NetbeansProject/MyConverter'
gmake: *** [nbproject/Makefile-impl.mk:40: .build-impl] Error 2
0

There are 0 best solutions below