The cargo-c package creates a cargo subcommand to build and install C-ABI compatible dynamic and static libraries.
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Download (HTTP): https://github.com/lu-zero/cargo-c/archive/v0.10.11/cargo-c-0.10.11.tar.gz
Download MD5 sum: 727bcba75cf4e65313bb3a1b084bb57e
Download size: 36 KB
Estimated disk space required: 827 MB
Estimated build time: 0.7 SBU
libssh2-1.11.1 and SQLite-3.49.1
An Internet connection is needed for building this package. The system certificate store may need to be set up with make-ca-1.15 before building this package.
First, download a file to ensure that cargo uses the dependency versions specified by the upstream developers when this cargo-c version (0.10.11) was released. Without this, the latest versions of the dependencies would be used and they might cause breakages:
curl -LO https://github.com/lu-zero/cargo-c/releases/download/v0.10.11/Cargo.lock
Normally we would put such a download into an “Additional Downloads”
section. But in this case we cannot tell the package name and
version from the file name Cargo.lock
, so it's better not to put the
ambiguously-named file outside the cargo-c-0.10.11
directory. We use curl here because the cURL-8.12.1 package should have been installed
as a required dependency of rustc-1.85.0.
The md5sum of the file should be d39f6c60470dc6aff66fac7a86b6b261
.
Install cargo-c by running the following commands:
[ ! -e /usr/include/libssh2.h ] || export LIBSSH2_SYS_USE_PKG_CONFIG=1 && [ ! -e /usr/include/sqlite3.h ] || export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 && cargo build --release
To test the results, issue: cargo test --release.
Now, as the root
user:
install -vm755 target/release/cargo-{capi,cbuild,cinstall,ctest} /usr/bin/