GEOS-DEV / GEOS-DEV/GEOS

thirdPartyLibs Compilation Error: conduit and scotch libraries

Open
#3,936 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
287
Forks
109
Avg merge
4d 41m
Merged PRs (30d)
5

Description

I'm facing an error when trying to compile the thirdPartyLibs. Most of the libraries compile without issues, but for conduit and scotch libraries, the following errors appear:

conduit

[ 82%] Linking CXX executable conduit_relay_io_ls
[ 83%] Linking CXX executable conduit_relay_node_viewer
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::check_if_conduit_leaf_is_compatible_with_hdf5_obj(conduit::DataType const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
conduit_relay_io_hdf5.cpp:(.text+0x1b4f): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::check_if_conduit_object_is_compatible_with_hdf5_tree(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
conduit_relay_io_hdf5.cpp:(.text+0x2b11): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::check_if_conduit_list_is_compatible_with_hdf5_tree(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
conduit_relay_io_hdf5.cpp:(.text+0x30f1): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::write_conduit_empty_to_hdf5_group(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
conduit_relay_io_hdf5.cpp:(.text+0x5e56): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::write_conduit_leaf_to_hdf5_group(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, conduit::Node const&)':
conduit_relay_io_hdf5.cpp:(.text+0xc6d5): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::write_conduit_node_children_to_hdf5_group(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&) [clone .localalias.355]':
conduit_relay_io_hdf5.cpp:(.text+0xd7b8): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::read_hdf5_group_into_conduit_node(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, conduit::Node const&, conduit::Node&)':
conduit_relay_io_hdf5.cpp:(.text+0xf184): undefined reference to `H5Oget_info'
conduit_relay_io_hdf5.cpp:(.text+0xf283): undefined reference to `H5Literate'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::h5l_iterate_traverse_op_func(long, char const*, H5L_info_t const*, void*)':
conduit_relay_io_hdf5.cpp:(.text+0xf811): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::read_hdf5_tree_into_conduit_node(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, conduit::Node const&, conduit::Node&)':
conduit_relay_io_hdf5.cpp:(.text+0x106bb): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::hdf5_group_list_child_names(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
conduit_relay_io_hdf5.cpp:(.text+0x1259a): undefined reference to `H5Oget_info_by_name'
collect2: error: ld returned 1 exit status
make[6]: *** [libs/relay/CMakeFiles/conduit_relay_node_viewer.dir/build.make:101: libs/relay/conduit_relay_node_viewer] Error 1
make[5]: *** [CMakeFiles/Makefile2:555: libs/relay/CMakeFiles/conduit_relay_node_viewer.dir/all] Error 2
make[5]: *** Waiting for unfinished jobs....
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::check_if_conduit_leaf_is_compatible_with_hdf5_obj(conduit::DataType const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
conduit_relay_io_hdf5.cpp:(.text+0x1b4f): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::check_if_conduit_object_is_compatible_with_hdf5_tree(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
conduit_relay_io_hdf5.cpp:(.text+0x2b11): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::check_if_conduit_list_is_compatible_with_hdf5_tree(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
conduit_relay_io_hdf5.cpp:(.text+0x30f1): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::write_conduit_empty_to_hdf5_group(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
conduit_relay_io_hdf5.cpp:(.text+0x5e56): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::write_conduit_leaf_to_hdf5_group(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, conduit::Node const&)':
conduit_relay_io_hdf5.cpp:(.text+0xc6d5): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::write_conduit_node_children_to_hdf5_group(conduit::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, conduit::Node const&) [clone .localalias.355]':
conduit_relay_io_hdf5.cpp:(.text+0xd7b8): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::read_hdf5_group_into_conduit_node(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, conduit::Node const&, conduit::Node&)':
conduit_relay_io_hdf5.cpp:(.text+0xf184): undefined reference to `H5Oget_info'
conduit_relay_io_hdf5.cpp:(.text+0xf283): undefined reference to `H5Literate'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::h5l_iterate_traverse_op_func(long, char const*, H5L_info_t const*, void*)':
conduit_relay_io_hdf5.cpp:(.text+0xf811): undefined reference to `H5Oget_info_by_name'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::read_hdf5_tree_into_conduit_node(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, conduit::Node const&, conduit::Node&)':
conduit_relay_io_hdf5.cpp:(.text+0x106bb): undefined reference to `H5Oget_info'
../../lib/libconduit_relay.a(conduit_relay_io_hdf5.cpp.o): In function `conduit::relay::io::hdf5_group_list_child_names(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
conduit_relay_io_hdf5.cpp:(.text+0x1259a): undefined reference to `H5Oget_info_by_name'
collect2: error: ld returned 1 exit status
make[6]: *** [libs/relay/CMakeFiles/conduit_relay_io_ls.dir/build.make:101: libs/relay/conduit_relay_io_ls] Error 1
make[5]: *** [CMakeFiles/Makefile2:583: libs/relay/CMakeFiles/conduit_relay_io_ls.dir/all] Error 2
make[4]: *** [Makefile:136: all] Error 2
make[3]: *** [CMakeFiles/conduit.dir/build.make:86: conduit/src/conduit-stamp/conduit-build] Error 2
make[2]: *** [CMakeFiles/Makefile2:343: CMakeFiles/conduit.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:350: CMakeFiles/conduit.dir/rule] Error 2
make: *** [Makefile:199: conduit] Error 2

scotch

[ 72%] Linking C executable ../../bin/amk_fft2
[ 72%] Linking C executable ../../bin/amk_grf
[ 72%] Built target amk_fft2
[ 72%] Linking C executable ../../bin/amk_hy
../../lib/libscotch.a(parser_yy.c.o): In function `scotchyyparse':
parser_yy.c:(.text+0xb1b): undefined reference to `scotchyylex'
collect2: error: ld returned 1 exit status
make[6]: *** [src/scotch/CMakeFiles/amk_grf.dir/build.make:102: bin/amk_grf] Error 1
make[5]: *** [CMakeFiles/Makefile2:771: src/scotch/CMakeFiles/amk_grf.dir/all] Error 2
make[5]: *** Waiting for unfinished jobs....
[ 72%] Built target amk_hy
make[4]: *** [Makefile:146: all] Error 2
make[3]: *** [CMakeFiles/scotch.dir/build.make:86: scotch/src/scotch-stamp/scotch-build] Error 2
make[2]: *** [CMakeFiles/Makefile2:604: CMakeFiles/scotch.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:611: CMakeFiles/scotch.dir/rule] Error 2
make: *** [Makefile:329: scotch] Error 2

Any help is appreciated.

Rafael.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the thirdPartyLibs build and inspect the conduit and scotch targets named in the linker output, including conduit_relay_node_viewer, conduit_relay_io_ls, and amk_grf. Trace how their dependencies are configured and linked; done means the thirdPartyLibs build completes without the reported H5O, H5L, or scotchyylex errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.