Open Cwavs opened 2 years ago
I've had issues building it from source with makedeb
What kind of issue pops up?
building from binary installs but won't run, giving the following error.
That's because packages are only published for amd64
, and since most is compiled you get those errors. The PKGBUILD for mist-bin
probably needs to be updated to reflect only supporting amd64
, I'm just now noticing that the arch
variable isn't correct there.
Mist is also going to be added to the main makedeb repo at some point, probably in the coming weeks. At the least it should be resolved there after that point.
What kind of issue pops up?
Well I can't currently install rustup, I thought I had gotten past that issue by installing from apt, but it doesn't look to be on apt so I can't remember how I did that, trying to install from the mpr errors because its can't find libssl, but that looks like it might be more of an issue with rustup than mist.
I'm having the same issue on a Raspberry Pi 4 - seems like it's trying to get an x86-64 dependency instead of actually checking the target device's architecture:
cobalt@pi4b:~/mist$ makedeb -si -H 'MPR-Package: yes'
[#] Making package: mist 0.10.0-1 (Sun 04 Dec 2022 09:03:28 PM EST)
[#] Checking for missing dependencies...
[#] Loading extensions...
[#] Retrieving sources...
[->] Found v0.10.0.tar.gz
[#] Validating source files with sha256sums...
v0.10.0.tar.gz ... Skipped
[#] Extracting sources...
[->] Extracting v0.10.0.tar.gz with bsdtar
[#] Removing existing $pkgdir/ directory...
[#] Starting build()...
Compiling serde_derive v1.0.145
Compiling openssl-sys v0.9.76
Compiling bitflags v1.3.2
Compiling indexmap v1.9.1
Compiling tokio v1.21.2
The following warnings were emitted during compilation:
warning: cc1: error: unknown value ‘x86-64’ for ‘-march’
warning: cc1: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8.7-a armv8.8-a armv8-r armv9-a native
warning: cc1: error: ‘-fcf-protection=full’ is not supported for this target
error: failed to run custom build command for `openssl-sys v0.9.76`
Caused by:
process didnt exit successfully: `/home/cobalt/mist/src/mist-0.10.0/target/release/build/openssl-sys-a40af0d0d7810ce1/build-script-main` (exit status: 101)
--- stdout
cargo:rustc-cfg=const_fn
cargo:rustc-cfg=openssl
cargo:rerun-if-env-changed=AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
AARCH64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_aarch64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_aarch64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_aarch64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_aarch64_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_aarch64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64_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("3")
TARGET = Some("aarch64-unknown-linux-gnu")
HOST = Some("aarch64-unknown-linux-gnu")
CC_aarch64-unknown-linux-gnu = None
CC_aarch64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_aarch64-unknown-linux-gnu = None
CFLAGS_aarch64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = Some("-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection")
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("llvm14-builtins-abi,neon")
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=x86-64" "-mtune=generic" "-O2" "-pipe" "-fno-plt" "-fexceptions" "-Wp,-D_FORTIFY_SOURCE=2" "-Wformat" "-Werror=format-security" "-fstack-clash-protection" "-fcf-protection" "-I" "/usr/include" "-E" "build/expando.c"
cargo:warning=cc1: error: unknown value ‘x86-64’ for ‘-march’
cargo:warning=cc1: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8.7-a armv8.8-a armv8-r armv9-a native
cargo:warning=cc1: error: ‘-fcf-protection=full’ is not supported for this target
exit status: 1
--- stderr
thread 'main' panicked at '
Header expansion error:
Error { kind: ToolExecError, message: "Command \"cc\" \"-O3\" \"-ffunction-sections\" \"-fdata-sections\" \"-fPIC\" \"-march=x86-64\" \"-mtune=generic\" \"-O2\" \"-pipe\" \"-fno-plt\" \"-fexceptions\" \"-Wp,-D_FORTIFY_SOURCE=2\" \"-Wformat\" \"-Werror=format-security\" \"-fstack-clash-protection\" \"-fcf-protection\" \"-I\" \"/usr/include\" \"-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 README for more information:
https://github.com/sfackler/rust-openssl#linux
', /home/cobalt/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.76/build/main.rs:185:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
[! build()] A failure occurred in build().
Aborting...
I think I just realized what the issue is, I'm pretty sure makedeb stable has the CARCH
value hardcoded to x86_64
in /etc/makepkg.conf
thus causing that issue. Would you guys be able to try building on makedeb beta or alpha @cobalt2727 @Cwavs?
I don't think this fixes my issue, as I'm not able to get this far, my issue relates to building rustup which I can confirm this doesn't fix. However this reminds me of another issue that might be possibly related to the CARCH one, MARCH still looks to be hardcoded to x86_64, which causes btop to fail to build, would you like me to open a seperate issue on the makedeb repo for that?
my issue relates to building rustup which I can confirm this doesn't fix
What kind of error pops up when building with alpha/beta?
MARCH still looks to be hardcoded to x86_64
From what I saw this is only on stable at the moment, it looks like that got removed from the config on alpha and beta - they needed to be removed in order to build the makedeb packages for all the architectures in makedeb's CI.
I'll have a look at this soon, but I would assume that fixes it
This is still an issue when trying to run current makedeb on mist 0.12. If I comment out the cargo build line, I can manually run it separately, then create a working mist arm64.deb (at least on debian trixie, bout to try deb 12 ARM64 VM)
Note that if you don't have the specific rust ring -dev package installed, it will fail earlier during the ring build.
Compiling ring v0.16.20
Compiling link-cplusplus v1.0.9
Compiling rustls v0.21.5
The following warnings were emitted during compilation:
warning: Assembler messages:
warning: Error: unknown architecture `x86-64'
warning:
warning: Error: unrecognized option -march=x86-64
warning: cc1plus: error: unknown value ‘x86-64’ for ‘-march’
Currently the prebuilt mpr doesn't support arm64 so I can't install from there, and I've had issues building it from source with makedeb, building from binary installs but won't run, giving the following error.
-bash: /usr/bin/mist: cannot execute binary file: Exec format error