nix-otel
nix-otel copied to clipboard
Fails to build with nixpkgs `e18dc963075ed115afb3e312b64643bf8fd4b474`
Adding lf-/nix-otel as a flake input just plainly like inputs.nix-otel.url = "github:lf-/nix-otel" is at the time of writing using nixpkgs at e18dc963075ed115afb3e312b64643bf8fd4b474, which results in nix-otel failing to build with:
error: failed to run custom build command for `nix-otel-plugin v0.1.0 (/build/lbp1hzd0jkz0yb4vsb5bhh8zpnas9sa4-source/plugin)`
Caused by:
process didn't exit successfully: `/build/lbp1hzd0jkz0yb4vsb5bhh8zpnas9sa4-source/target/release/build/nix-otel-plugin-255deb3acbf14320/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-changed=plugin.cpp
cargo:rerun-if-env-changed=NIX_EXPR_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=NIX_EXPR_STATIC
cargo:rerun-if-env-changed=NIX_EXPR_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=SYSROOT
cargo:rerun-if-env-changed=NIX_EXPR_STATIC
cargo:rerun-if-env-changed=NIX_EXPR_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rustc-link-search=native=/nix/store/sb6085v95h0ndaqxfyx3nfny0jsl34nx-nix-2.15.1/lib
cargo:rustc-link-search=native=/nix/store/40b3c3014a9vfmzhkmcy12q169gj00hj-boehm-gc-8.2.2/lib
cargo:rustc-link-lib=nixexpr
cargo:rustc-link-lib=nixstore
cargo:rustc-link-lib=nixutil
cargo:rustc-link-lib=gc
cargo:rustc-link-lib=pthread
cargo:rustc-link-lib=dl
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=NIX_EXPR_STATIC
cargo:rerun-if-env-changed=NIX_EXPR_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=NIX_STORE_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=NIX_STORE_STATIC
cargo:rerun-if-env-changed=NIX_STORE_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=SYSROOT
cargo:rerun-if-env-changed=NIX_STORE_STATIC
cargo:rerun-if-env-changed=NIX_STORE_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rustc-link-search=native=/nix/store/sb6085v95h0ndaqxfyx3nfny0jsl34nx-nix-2.15.1/lib
cargo:rustc-link-lib=nixstore
cargo:rustc-link-lib=nixutil
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=NIX_STORE_STATIC
cargo:rerun-if-env-changed=NIX_STORE_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=NIX_MAIN_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=NIX_MAIN_STATIC
cargo:rerun-if-env-changed=NIX_MAIN_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=SYSROOT
cargo:rerun-if-env-changed=NIX_MAIN_STATIC
cargo:rerun-if-env-changed=NIX_MAIN_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rustc-link-search=native=/nix/store/sb6085v95h0ndaqxfyx3nfny0jsl34nx-nix-2.15.1/lib
cargo:rustc-link-lib=nixmain
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=NIX_MAIN_STATIC
cargo:rerun-if-env-changed=NIX_MAIN_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:rustc-link-lib=static:+whole-archive=nix_otel_plugin
cargo:rustc-link-search=native=/build/lbp1hzd0jkz0yb4vsb5bhh8zpnas9sa4-source/target/x86_64-unknown-linux-gnu/release/build/nix-otel-plugin-7c50f747a47f816d/out
running: "/nix/store/8phn3d072kcfvwvf6p5ys8pk8yxh236x-gcc-wrapper-12.3.0/bin/c++" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-shared" "-Wall" "-Wextra" "-std=c++17" "-isystem" "/nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix" "-isystem" "/nix/store/9dl9q57qi7283rhsxdli56gy002ndw3r-boehm-gc-8.2.2-dev/include" "-L\"/nix/store/sb6085v95h0ndaqxfyx3nfny0jsl>
cargo:warning=plugin.cpp:125:33: error: 'FormatOrString' does not name a type
cargo:warning= 125 | void log(Verbosity lvl, const FormatOrString &fs) override {
cargo:warning= | ^~~~~~~~~~~~~~
cargo:warning=plugin.cpp:125:8: error: 'void OTelLogger::log(nix::Verbosity, const int&)' marked 'override', but does not override
cargo:warning= 125 | void log(Verbosity lvl, const FormatOrString &fs) override {
cargo:warning= | ^~~
cargo:warning=plugin.cpp: In member function 'void OTelLogger::log(nix::Verbosity, const int&)':
cargo:warning=plugin.cpp:126:24: error: invalid conversion from 'int' to 'const char*' [-fpermissive]
cargo:warning= 126 | upstream->log(lvl, fs);
cargo:warning= | ^~
cargo:warning= | |
cargo:warning= | int
cargo:warning=In file included from /nix/store/sa3kirarbizwzyz36j8cbac2kgyh28yk-gcc-12.3.0/include/c++/12.3.0/bits/basic_string.h:47,
cargo:warning= from /nix/store/sa3kirarbizwzyz36j8cbac2kgyh28yk-gcc-12.3.0/include/c++/12.3.0/string:53,
cargo:warning= from /nix/store/sa3kirarbizwzyz36j8cbac2kgyh28yk-gcc-12.3.0/include/c++/12.3.0/stdexcept:39,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/ref.hh:6,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/types.hh:4,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/symbol-table.hh:8,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/value.hh:6,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/nixexpr.hh:7,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/attr-set.hh:4,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/eval.hh:4,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/eval-inline.hh:4,
cargo:warning= from plugin.cpp:4:
cargo:warning=/nix/store/sa3kirarbizwzyz36j8cbac2kgyh28yk-gcc-12.3.0/include/c++/12.3.0/string_view:133:39: note: initializing argument 1 of 'constexpr std::basic_string_view<_CharT, _Traits>::basic_string_view(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>]'
cargo:warning= 133 | basic_string_view(const _CharT* __str) noexcept
cargo:warning= | ~~~~~~~~~~~~~~^~~~~
cargo:warning=plugin.cpp: In constructor 'PluginInstance::PluginInstance()':
cargo:warning=plugin.cpp:171:47: error: invalid new-expression of abstract class type 'OTelLogger'
cargo:warning= 171 | logger = new OTelLogger(oldLogger, context);
cargo:warning= | ^
cargo:warning=plugin.cpp:111:7: note: because the following virtual functions are pure within 'OTelLogger':
cargo:warning= 111 | class OTelLogger : public Logger {
cargo:warning= | ^~~~~~~~~~
cargo:warning=In file included from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/util.hh:6,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/value/context.hh:4,
cargo:warning= from /nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/value.hh:7:
cargo:warning=/nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix/logging.hh:82:18: note: 'virtual void nix::Logger::log(nix::Verbosity, std::string_view)'
cargo:warning= 82 | virtual void log(Verbosity lvl, std::string_view s) = 0;
cargo:warning= | ^~~
exit status: 1
--- stderr
error occurred: Command "/nix/store/8phn3d072kcfvwvf6p5ys8pk8yxh236x-gcc-wrapper-12.3.0/bin/c++" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-shared" "-Wall" "-Wextra" "-std=c++17" "-isystem" "/nix/store/mkw78bb1dzqzcw527506bcszv2fnm8pm-nix-2.15.1-dev/include/nix" "-isystem" "/nix/store/9dl9q57qi7283rhsxdli56gy002ndw3r-boehm-gc-8.2.2-dev/include" "-L\"/nix/store/sb6085v95h0nd>
FormatOrString was removed circa May 2023 - https://github.com/NixOS/nix/pull/7942/files#diff-582ac9be5f0df2848431cd328c50c3c0475e1636ac2f5d9a88b2fdcedc01cc10R18
Rough changes needed to get nix-otel to compile follow....
--- a/plugin/src/activity.rs
+++ b/plugin/src/activity.rs
@@ -83,7 +83,7 @@ pub unsafe fn unmarshal_string(s: &FfiString) -> String {
pub unsafe fn unmarshal_field(field: &FfiField) -> Field {
match field {
FfiField::String(s) => Field::String(unsafe { unmarshal_string(s) }),
- FfiField::Num(n) => (Field::Num(*n)),
+ FfiField::Num(n) => Field::Num(*n),
}
}
--- a/plugin/plugin.cpp
+++ b/plugin/plugin.cpp
@@ -122,8 +122,8 @@ public:
bool isVerbose() override { return upstream->isVerbose(); }
- void log(Verbosity lvl, const FormatOrString &fs) override {
- upstream->log(lvl, fs);
+ void log(Verbosity lvl, std::string_view s) override {
+ upstream->log(lvl, s);
}
void logEI(const ErrorInfo &ei) override { upstream->logEI(ei); }
I should really probably archive this repo. It's a proof of concept mostly, and isn't actively updated to new Nix versions.