Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BLD: Nix builds are not idempotent #19

Open
HaoZeke opened this issue Mar 26, 2023 · 4 comments
Open

BLD: Nix builds are not idempotent #19

HaoZeke opened this issue Mar 26, 2023 · 4 comments

Comments

@HaoZeke
Copy link
Member

HaoZeke commented Mar 26, 2023

    Here is the error message from build via `nix-build .`

builder for '/nix/store/vb245y6zalkacd779w8yd6h00f2fhs7d-yodaStruct.drv' failed with exit code 2

It gives the same output when I use nix-env if . to install.

Could anyone give me some hint to fix it?

Thanks in advance.

Scanning dependencies of target yodaStruct
Scanning dependencies of target yodaStruct_test
[ 56%] Building CXX object src/CMakeFiles/yodaStruct.dir/main.cpp.o
[ 58%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/main.cpp.o
[ 60%] Linking CXX executable ../yodaStruct
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `main':
main.cpp:(.text+0x2f28): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: main.cpp:(.text+0x2fe4): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: main.cpp:(.text+0x308e): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: main.cpp:(.text+0x3138): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [11]>(char const (&) [11], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA11_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA11_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [10]>(char const (&) [10], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA10_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA10_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [4]>(char const (&) [4], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA4_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA4_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [5]>(char const (&) [5], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA5_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA5_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [20]>(char const (&) [20], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA20_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA20_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o:main.cpp:(.text._ZN4YAML6detail9node_data3getIA28_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA28_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): more undefined references to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)' follow
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/CMakeFiles/yodaStruct.dir/build.make:106: yodaStruct] Error 1
make[1]: *** [CMakeFiles/Makefile2:191: src/CMakeFiles/yodaStruct.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 63%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/franzblau-test.cpp.o
[ 65%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/topo_one_dim-test.cpp.o
[ 68%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/topo_bulk-test.cpp.o
[ 70%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/absor-test.cpp.o
[ 73%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/franzblau.cpp.o
[ 75%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/topo_one_dim.cpp.o
[ 78%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/topo_bulk.cpp.o
[ 80%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/ring.cpp.o
[ 82%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/neighbours.cpp.o
[ 85%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/mol_sys.cpp.o
[ 87%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/absOrientation.cpp.o
[ 90%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/seams_input.cpp.o
[ 92%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/seams_output.cpp.o
[ 95%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/pntCorrespondence.cpp.o
[ 97%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/bulkTUM.cpp.o
[100%] Linking CXX executable ../yodaStruct_test
[100%] Built target yodaStruct_test
make: *** [Makefile:160: all] Error 2
error: builder for '/nix/store/vb245y6zalkacd779w8yd6h00f2fhs7d-yodaStruct.drv' failed with exit code 2

Originally posted by @Clarkszw in #12 (comment)

This seems to be happening in PR runs as well. Hints towards a deeper issue with the dependency pinning. Looks like a linker issue for fmt and yaml-cpp.

@Clarkszw
Copy link
Contributor

I have tried today, still failed..

20.04.1-Ubuntu
x86_64

-- Build files have been written to: /build/source/build
building
build flags: -j2 -l2 SHELL=/nix/store/2jysm3dfsgby5sw5jgj43qjrb5v79ms9-bash-4.4-p23/bin/bash
Scanning dependencies of target yodaLib
[  2%] Building CXX object src/CMakeFiles/yodaLib.dir/mol_sys.cpp.o
[  4%] Building CXX object src/CMakeFiles/yodaLib.dir/seams_input.cpp.o
[  7%] Building CXX object src/CMakeFiles/yodaLib.dir/seams_output.cpp.o
[  9%] Building CXX object src/CMakeFiles/yodaLib.dir/ring.cpp.o
[ 11%] Building CXX object src/CMakeFiles/yodaLib.dir/bond.cpp.o
[ 14%] Building CXX object src/CMakeFiles/yodaLib.dir/generic.cpp.o
[ 16%] Building CXX object src/CMakeFiles/yodaLib.dir/bop.cpp.o
[ 19%] Building CXX object src/CMakeFiles/yodaLib.dir/neighbours.cpp.o
[ 21%] Building CXX object src/CMakeFiles/yodaLib.dir/opt_parser.cpp.o
[ 23%] Building CXX object src/CMakeFiles/yodaLib.dir/backward.cpp.o
[ 26%] Building CXX object src/CMakeFiles/yodaLib.dir/franzblau.cpp.o
[ 28%] Building CXX object src/CMakeFiles/yodaLib.dir/topo_one_dim.cpp.o
[ 30%] Building CXX object src/CMakeFiles/yodaLib.dir/topo_two_dim.cpp.o
[ 33%] Building CXX object src/CMakeFiles/yodaLib.dir/topo_bulk.cpp.o
[ 35%] Building CXX object src/CMakeFiles/yodaLib.dir/order_parameter.cpp.o
[ 38%] Building CXX object src/CMakeFiles/yodaLib.dir/cluster.cpp.o
[ 40%] Building CXX object src/CMakeFiles/yodaLib.dir/rdf2d.cpp.o
[ 42%] Building CXX object src/CMakeFiles/yodaLib.dir/absOrientation.cpp.o
[ 45%] Building CXX object src/CMakeFiles/yodaLib.dir/pntCorrespondence.cpp.o
[ 47%] Building CXX object src/CMakeFiles/yodaLib.dir/bulkTUM.cpp.o
[ 50%] Building CXX object src/CMakeFiles/yodaLib.dir/shapeMatch.cpp.o
[ 52%] Building CXX object src/CMakeFiles/yodaLib.dir/selection.cpp.o
[ 54%] Linking CXX shared library ../libyodaLib.so
[ 54%] Built target yodaLib
Scanning dependencies of target yodaStruct
Scanning dependencies of target yodaStruct_test
[ 57%] Building CXX object src/CMakeFiles/yodaStruct.dir/main.cpp.o
[ 59%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/main.cpp.o
In file included from /build/source/src/main.cpp:48:
/build/source/src/include/external/sol/sol.hpp:14541:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
/build/source/src/include/external/sol/sol.hpp:17294:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
                               ^
2 warnings generated.
[ 61%] Linking CXX executable ../yodaStruct
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `main':
main.cpp:(.text+0x3052): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: main.cpp:(.text+0x310e): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: main.cpp:(.text+0x31b8): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: main.cpp:(.text+0x3262): undefined reference to `fmt::v9::vformat[abi:cxx11](fmt::v9::basic_string_view<char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::appender, char> >)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [11]>(char const (&) [11], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA11_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA11_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [10]>(char const (&) [10], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA10_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA10_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [4]>(char const (&) [4], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA4_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA4_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [5]>(char const (&) [5], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA5_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA5_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o: in function `YAML::detail::node& YAML::detail::node_data::get<char [20]>(char const (&) [20], std::shared_ptr<YAML::detail::memory_holder>)':
main.cpp:(.text._ZN4YAML6detail9node_data3getIA20_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA20_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)'
/nix/store/p792j5f44l3f0xi7ai5jllwnxqwnka88-binutils-2.31.1/bin/ld: CMakeFiles/yodaStruct.dir/main.cpp.o:main.cpp:(.text._ZN4YAML6detail9node_data3getIA28_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE[_ZN4YAML6detail9node_data3getIA28_cEERNS0_4nodeERKT_St10shared_ptrINS0_13memory_holderEE]+0x102): more undefined references to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder> const&)' follow
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/CMakeFiles/yodaStruct.dir/build.make:106: yodaStruct] Error 1
make[1]: *** [CMakeFiles/Makefile2:191: src/CMakeFiles/yodaStruct.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 64%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/franzblau-test.cpp.o
[ 66%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/topo_one_dim-test.cpp.o
[ 69%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/topo_bulk-test.cpp.o
[ 71%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/absor-test.cpp.o
[ 73%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/franzblau.cpp.o
[ 76%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/topo_one_dim.cpp.o
[ 78%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/topo_bulk.cpp.o
[ 80%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/ring.cpp.o
[ 83%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/neighbours.cpp.o
[ 85%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/mol_sys.cpp.o
[ 88%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/absOrientation.cpp.o
[ 90%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/seams_input.cpp.o
[ 92%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/seams_output.cpp.o
[ 95%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/pntCorrespondence.cpp.o
[ 97%] Building CXX object tests/CMakeFiles/yodaStruct_test.dir/__/src/bulkTUM.cpp.o
[100%] Linking CXX executable ../yodaStruct_test
[100%] Built target yodaStruct_test
make: *** [Makefile:160: all] Error 2
error: builder for '/nix/store/skqga9i257cnpn8zzxg06wrphn0innks-yodaStruct.drv' failed with exit code 2

@HaoZeke
Copy link
Member Author

HaoZeke commented Mar 27, 2023 via email

@Clarkszw
Copy link
Contributor

yes, I tried as well. it gives me a weird response as

(base) clarkszw@aiida:~/seams-core$ micromamba create -f environment.yml 

Command ' ' not found, but can be installed with:

sudo apt install mailutils-mh  # version 1:3.7-2.1, or
sudo apt install meshio-tools  # version 4.0.4-1
sudo apt install mmh           # version 0.4-2
sudo apt install nmh           # version 1.7.1-6
sudo apt install termtris      # version 1.3-1

is this due to yaml file?

@HaoZeke
Copy link
Member Author

HaoZeke commented Mar 30, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants