Skip to content

[BUG] cargo build fails on dev #41

@emnpiex

Description

@emnpiex

looks like it can't build openssl-sys v0.9.102.

tries to run cc -O0 -ffunction-sections -fdata-sections -fPIC -gdwarf-4 -fno-omit-frame-pointer -m64 -I /usr/include -Wall -Wextra -E build/expando.c and fails. i do not know where this expando.c file is meant to be located but it does not appear in the respository nor in the build directory.

cargo --version: cargo 1.93.1 (083ac5135 2025-12-15)
operating system: Ubuntu 26.04

cargo build run with RUST_BACKTRACE=full (with home dir redacted with ~):

   Compiling openssl-sys v0.9.102
   Compiling hyper v1.4.1
   Compiling url v2.5.2
   Compiling textwrap v0.16.1
   Compiling rustls-pemfile v2.1.2
   Compiling zopfli v0.8.1
   Compiling strum_macros v0.26.4
   Compiling regex v1.10.5
   Compiling serde_urlencoded v0.7.1
   Compiling clap_derive v4.5.8
   Compiling futures-executor v0.3.30
   Compiling displaydoc v0.2.5
warning: openssl-sys@0.9.102: In file included from /usr/include/openssl/opensslv.h:126,
warning: openssl-sys@0.9.102:                  from build/expando.c:1:
warning: openssl-sys@0.9.102: /usr/include/openssl/macros.h:14:10: fatal error: openssl/opensslconf.h: No such file or directory
warning: openssl-sys@0.9.102:    14 | #include <openssl/opensslconf.h>
warning: openssl-sys@0.9.102:       |          ^~~~~~~~~~~~~~~~~~~~~~~
warning: openssl-sys@0.9.102: compilation terminated.
error: failed to run custom build command for `openssl-sys v0.9.102`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `~/Documents/MC_Mods/architectury-template-generator/target/debug/build/openssl-sys-ad0e896958fdcb2c/build-script-main` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_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=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rustc-link-lib=ssl
  cargo:rustc-link-lib=crypto
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_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-changed=build/expando.c
  OPT_LEVEL = Some(0)
  TARGET = Some(x86_64-unknown-linux-gnu)
  OUT_DIR = Some(~/Documents/MC_Mods/architectury-template-generator/target/debug/build/openssl-sys-86b352de1bcde57b/out)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
  CC_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
  CC_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CC
  HOST_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  RUSTC_WRAPPER = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some(true)
  CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2)
  cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
  CFLAGS_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
  CFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:warning=In file included from /usr/include/openssl/opensslv.h:126,
  cargo:warning=                 from build/expando.c:1:
  cargo:warning=/usr/include/openssl/macros.h:14:10: fatal error: openssl/opensslconf.h: No such file or directory
  cargo:warning=   14 | #include <openssl/opensslconf.h>
  cargo:warning=      |          ^~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=compilation terminated.

  --- stderr

  thread 'main' (164656) panicked at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-sys-0.9.102/build/main.rs:188:13:

  Header expansion error:
  Error { kind: ToolExecError, message: "Command \"cc\" \"-O0\" \"-ffunction-sections\" \"-fdata-sections\" \"-fPIC\" \"-gdwarf-4\" \"-fno-omit-frame-pointer\" \"-m64\" \"-I\" \"/usr/include\" \"-Wall\" \"-Wextra\" \"-E\" \"build/expando.c\" with args cc did not execute successfully (status code exit status: 1)." }

  Failed to find OpenSSL development headers.

  You can try fixing this setting the `OPENSSL_DIR` environment variable
  pointing to your OpenSSL installation or installing OpenSSL headers package
  specific to your distribution:

      # On Ubuntu
      sudo apt-get install libssl-dev
      # On Arch Linux
      sudo pacman -S openssl
      # On Fedora
      sudo dnf install openssl-devel
      # On Alpine Linux
      apk add openssl-dev

  See rust-openssl documentation for more information:

      https://docs.rs/openssl

  stack backtrace:
     0:     0x5e18315a1f02 - std::backtrace_rs::backtrace::libunwind::trace::h73aabaf37ceb5073
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
     1:     0x5e18315a1f02 - std::backtrace_rs::backtrace::trace_unsynchronized::h30862f246760437f
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
     2:     0x5e18315a1f02 - std::sys::backtrace::_print_fmt::h2d1afd8848eb5d7a
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:68:9
     3:     0x5e18315a1f02 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h1851ca2a850bd9a9
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:38:26
     4:     0x5e18315b2c67 - core::fmt::rt::Argument::fmt::he8640bda190d4d38
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/fmt/rt.rs:152:76
     5:     0x5e18315b2c67 - core::fmt::write::h22467d3ad5dd5554
     6:     0x5e1831572856 - std::io::default_write_fmt::h351a88ae8ee5bcc5
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/io/mod.rs:639:11
     7:     0x5e1831572856 - std::io::Write::write_fmt::h5e3b6a876f7a20bf
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/io/mod.rs:1994:13
     8:     0x5e1831580e76 - std::sys::backtrace::BacktraceLock::print::hc25d10722ea4032d
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:41:9
     9:     0x5e1831580e76 - std::panicking::default_hook::{{closure}}::he43c3ac33dfa4b50
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:292:27
    10:     0x5e1831580cd6 - std::panicking::default_hook::hd124da54acf1152f
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:319:9
    11:     0x5e18315810bb - std::panicking::panic_with_hook::h9b5f1f19954f65a8
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:825:13
    12:     0x5e1831580f38 - std::panicking::panic_handler::{{closure}}::hf431df8c849ee0d6
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:698:13
    13:     0x5e183157dc49 - std::sys::backtrace::__rust_end_short_backtrace::hf97362b31a346cc0
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:176:18
    14:     0x5e183156700d - __rustc[9e6a08e89e4b9111]::rust_begin_unwind
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:689:5
    15:     0x5e18315b675c - core::panicking::panic_fmt::ha4414e4328fe24a0
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/panicking.rs:80:14
    16:     0x5e183149c29a - build_script_main::validate_headers::he4d49a0fedd73137
    17:     0x5e1831499926 - build_script_main::postprocess::h3343d6a6b06ad827
    18:     0x5e1831497ee0 - build_script_main::find_normal::try_pkg_config::h4cf128367a9d216b
    19:     0x5e18314982a0 - build_script_main::find_normal::find_openssl_dir::h822cb9a6883b490c
    20:     0x5e1831497687 - build_script_main::find_normal::get_openssl::{{closure}}::h8e0ea5ddcba68feb
    21:     0x5e18314a4f99 - core::option::Option<T>::unwrap_or_else::h4637fbda7b0a771b
    22:     0x5e1831497353 - build_script_main::find_normal::get_openssl::hb1c7a845323c1653
    23:     0x5e183149995d - build_script_main::find_openssl::h57129f3a9dc90d54
    24:     0x5e183149cb31 - build_script_main::main::he18dfc68a77c327f
    25:     0x5e183149e913 - core::ops::function::FnOnce::call_once::h16d03bf119a71a5a
    26:     0x5e18314a3c26 - std::sys::backtrace::__rust_begin_short_backtrace::h96d7025917be71aa
    27:     0x5e183149e5e9 - std::rt::lang_start::{{closure}}::hf36f7cb40a338210
    28:     0x5e1831574146 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hc0aeb12e6a265870
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/ops/function.rs:287:21
    29:     0x5e1831574146 - std::panicking::catch_unwind::do_call::h424648a3b5b895eb
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:581:40
    30:     0x5e1831574146 - std::panicking::catch_unwind::h2eaac0b2decbb2a4
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:544:19
    31:     0x5e1831574146 - std::panic::catch_unwind::h36307fcdee1da3b0
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panic.rs:359:14
    32:     0x5e1831574146 - std::rt::lang_start_internal::{{closure}}::h1cd37a923f6e6476
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/rt.rs:175:24
    33:     0x5e1831574146 - std::panicking::catch_unwind::do_call::hba0faa7802db347f
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:581:40
    34:     0x5e1831574146 - std::panicking::catch_unwind::h243e60656f4dd3fd
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:544:19
    35:     0x5e1831574146 - std::panic::catch_unwind::h70c7977416bc65d9
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panic.rs:359:14
    36:     0x5e1831574146 - std::rt::lang_start_internal::hb84cc625940d332a
                                 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/rt.rs:171:5
    37:     0x5e183149e5d1 - std::rt::lang_start::h1239507bb70380e7
    38:     0x5e183149fe15 - main
    39:     0x7f491cc2a601 - __libc_start_call_main
                                 at ./csu/../sysdeps/nptl/libc_start_call_main.h:59:16
    40:     0x7f491cc2a718 - __libc_start_main_impl
                                 at ./csu/../csu/libc-start.c:360:3
    41:     0x5e1831496c05 - _start
    42:                0x0 - <unknown>
warning: build failed, waiting for other jobs to finish...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions