Docker Build Fails - Could not find liblzma using pkg-config
Created by: aario
-
I agree that I have searched opened and closed issues to prevent duplicates.
Description
Docker build fails in making the filesystem step (After the 2 seconds sleep):
error: failed to run custom build command for `rust-lzma v0.2.1`
process didn't exit successfully: `/home/aario/ops/src/redox/redox/cookbook/recipes/extrautils/build/target/release/build/rust-lzma-f05ef7d654184929/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'Could not find liblzma using pkg-config', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rust-lzma-0.2.1/build.rs:10:3
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Environment info
Here is how I ran the docker in interactive mode:
mkdir -p "$HOME/src/redox"
cd "$HOME/src/redox"
docker run --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
--security-opt label=disable \
--security-opt seccomp=unconfined \
--security-opt apparmor=unconfined \
-v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \
-v redox-"$(id -u)-$(id -g)"-rustup:/usr/local/rustup \
-v "$(pwd):$(pwd)" -w "$(pwd)" --rm -it redoxos/redox
- Operating system:
Docker taken from:
https://hub.docker.com/r/redoxos/redox/
Ran on:
Debian GNU/Linux 9 (stretch)
-
uname -a
:Linux 9a9e8bebffaf 4.15.0-1-amd64 #1 SMP Debian 4.15.4-1 (2018-02-18) x86_64 GNU/Linux
-
rustc -V
: Whatever rust the docker uses -
git rev-parse HEAD
: Whatever the docker uses.
Steps to reproduce
mkdir -p "$HOME/src/redox"
cd "$HOME/src/redox"
docker run --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
--security-opt label=disable \
--security-opt seccomp=unconfined \
--security-opt apparmor=unconfined \
-v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \
-v redox-"$(id -u)-$(id -g)"-rustup:/usr/local/rustup \
-v "$(pwd):$(pwd)" -w "$(pwd)" --rm -it redoxos/redox
bash ./bootstrap.sh
cd redox
make all
Behavior
- Expected behavior: As it just uses the docker environment in interactive mode, it should compile flawlessly.
- Bootstrap works
- make all command first step works
- make all command fails when it comes to making the iso image
.
.
.
Finished release [optimized] target(s) in 0.0 secs
Running `redoxfs/target/release/redoxfs build/filesystem.bin.partial build/filesystem/`
redoxfs: opening build/filesystem.bin.partial
redoxfs: opened filesystem on build/filesystem.bin.partial with uuid fedd1eb4-9f39-48f6-92d0-8219935e2196
redoxfs: mounted filesystem on build/filesystem.bin.partial to build/filesystem/
sleep 2
pgrep redoxfs
73
cp filesystem.toml build/bootloader build/kernel build/filesystem/
cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook -c filesystem.toml build/filesystem/
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running `installer/target/debug/redox_installer --cookbook=cookbook -c filesystem.toml build/filesystem/`
Install Config {
general: GeneralConfig {
prompt: false
},
packages: {
"coreutils": PackageConfig {
version: None,
git: None,
path: None
},
"drivers": PackageConfig {
version: None,
git: None,
path: None
},
"extrautils": PackageConfig {
version: None,
git: None,
path: None
},
"findutils": PackageConfig {
version: None,
git: None,
path: None
},
"installer": PackageConfig {
version: None,
git: None,
path: None
},
"ion": PackageConfig {
version: None,
git: None,
path: None
},
"logd": PackageConfig {
version: None,
git: None,
path: None
},
"netdb": PackageConfig {
version: None,
git: None,
path: None
},
"netstack": PackageConfig {
version: None,
git: None,
path: None
},
"netutils": PackageConfig {
version: None,
git: None,
path: None
},
"nulld": PackageConfig {
version: None,
git: None,
path: None
},
"orbdata": PackageConfig {
version: None,
git: None,
path: None
},
"orbital": PackageConfig {
version: None,
git: None,
path: None
},
"orbterm": PackageConfig {
version: None,
git: None,
path: None
},
"orbutils": PackageConfig {
version: None,
git: None,
path: None
},
"pkgutils": PackageConfig {
version: None,
git: None,
path: None
},
"ptyd": PackageConfig {
version: None,
git: None,
path: None
},
"randd": PackageConfig {
version: None,
git: None,
path: None
},
"redoxfs": PackageConfig {
version: None,
git: None,
path: None
},
"smith": PackageConfig {
version: None,
git: None,
path: None
},
"userutils": PackageConfig {
version: None,
git: None,
path: None
},
"uutils": PackageConfig {
version: None,
git: None,
path: None
},
"zerod": PackageConfig {
version: None,
git: None,
path: None
}
},
files: [
FileConfig {
path: "/etc/init.d/00_base",
data: "nulld\nzerod\nrandd\nlogd\nptyd\npcid /etc/pcid/filesystem.toml\n",
symlink: false
},
FileConfig {
path: "/etc/init.d/10_net",
data: "smolnetd\ndnsd\ndhcpd -b\n",
symlink: false
},
FileConfig {
path: "/etc/init.d/20_orbital",
data: "orbital display:3/activate orblogin launcher\n",
symlink: false
},
FileConfig {
path: "/etc/init.d/30_console",
data: "getty display:2\ngetty debug: -J\n",
symlink: false
},
FileConfig {
path: "/etc/net/dns",
data: "208.67.222.222\n",
symlink: false
},
FileConfig {
path: "/etc/net/ip",
data: "10.0.2.15\n",
symlink: false
},
FileConfig {
path: "/etc/net/ip_router",
data: "10.0.2.2\n",
symlink: false
},
FileConfig {
path: "/etc/net/ip_subnet",
data: "255.255.255.0\n",
symlink: false
},
FileConfig {
path: "/etc/net/mac",
data: "54-52-00-ab-cd-ef\n",
symlink: false
},
FileConfig {
path: "/etc/pkg.d/50_redox",
data: "https://static.redox-os.org/pkg",
symlink: false
},
FileConfig {
path: "/etc/group",
data: "root;0;root\nuser;1000;user\nsudo;1;user\n",
symlink: false
},
FileConfig {
path: "/etc/hostname",
data: "redox\n",
symlink: false
},
FileConfig {
path: "/etc/issue",
data: "########## Redox OS ##########\n# Login with the following: #\n# `user` #\n# `root`:`password` #\n##############################\n\n",
symlink: false
},
FileConfig {
path: "/etc/motd",
data: "Welcome to Redox OS!\n\n",
symlink: false
},
FileConfig {
path: "/usr/bin",
data: "/bin",
symlink: true
}
],
users: {
"root": UserConfig {
password: Some(
"$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk"
),
uid: Some(
0
),
gid: Some(
0
),
name: Some(
"root"
),
home: Some(
"/root"
),
shell: None
},
"user": UserConfig {
password: Some(
""
),
uid: None,
gid: None,
name: None,
home: None,
shell: None
}
}
} to build/filesystem/
Create directory build/filesystem/
repo - coreutils up to date
repo - drivers up to date
repo - building extrautils
cook - extrautils build
Compiling rust-lzma v0.2.1
Compiling bzip2-sys v0.1.5 (https://github.com/ids1024/bzip2-rs?branch=redox#0e8ed8aa)
error: failed to run custom build command for `rust-lzma v0.2.1`
process didn't exit successfully: `/home/aario/ops/src/redox/redox/cookbook/recipes/extrautils/build/target/release/build/rust-lzma-f05ef7d654184929/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'Could not find liblzma using pkg-config', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rust-lzma-0.2.1/build.rs:10:3
note: Run with `RUST_BACKTRACE=1` for a backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
./repo.sh failed.mk/filesystem.mk:2: recipe for target 'build/filesystem.bin' failed
make: *** [build/filesystem.bin] Error 1