Hi All,
I have hit a problem with my python-3.13 update that I have not been
able to figure a way out from.
I had got to the updating of python3-cryptography. The newer version
used in combination with python 3.13 is now requiring a lot of rust
crates to be installed. So far I have had to install 21 new rust crates
and update quite a few others.
The updates have gone fine until I installed rust-const-random-macro
which then required rust-tiny-keccak which then required rust-crunchy.
Then rust-tiny-keccak failed to compile with the following log output.
Feb 4 15:52:36: Building rust-tiny-keccak make: Entering directory
'/home/user/sandbox/ipfire-2.x/lfs'
make: Nothing to be done for 'download'.
make: Leaving directory '/home/user/sandbox/ipfire-2.x/lfs'
make: Entering directory '/usr/src/lfs'
tiny-keccak-2.0.2.tar.gz checksum OK
====================================== Installing tiny-keccak-2.0.2 ...
Install started; saving file list to /usr/src/lsalr ...
cd /usr/src/tiny-keccak-2.0.2 && rm Cargo.toml.orig
cd /usr/src/tiny-keccak-2.0.2 && mkdir -p
/usr/src/tiny-keccak-2.0.2/.cargo && echo "${CARGO_CONFIG}" >
/usr/src/tiny-keccak-2.0.2/.cargo/config && rm -f Cargo.lock
cd /usr/src/tiny-keccak-2.0.2 &&
CARGOPATH=/usr/src/tiny-keccak-2.0.2/.cargo RUSTC_BOOTSTRAP=1 cargo
--offline build --release -Z avoid-dev-deps -j16
warning: `/usr/src/tiny-keccak-2.0.2/.cargo/config` is deprecated in
favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink
`config` to `config.toml`
Compiling crunchy v0.2.3
Compiling tiny-keccak v2.0.2 (/usr/src/tiny-keccak-2.0.2)
Running `rustc --crate-name build_script_build --edition=2021
/usr/share/cargo/registry/crunchy-0.2.3/build.rs --error-format=json
--json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type
bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off
--cfg 'feature="default"' --cfg 'feature="limit_128"' --check-cfg
'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "limit_1024",
"limit_128", "limit_2048", "limit_256", "limit_512", "limit_64",
"std"))' -C metadata=ac4fd721ed21a1bd -C
extra-filename=-ac4fd721ed21a1bd --out-dir
/usr/src/tiny-keccak-2.0.2/target/release/build/crunchy-ac4fd721ed21a1bd
-C strip=debuginfo -L
dependency=/usr/src/tiny-keccak-2.0.2/target/release/deps --cap-lints
allow -Copt-level=3 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1
--cap-lints=warn`
Running `rustc --crate-name build_script_build --edition=2018
build.rs --error-format=json
--json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type
bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off
--cfg 'feature="default"' --check-cfg 'cfg(docsrs)' --check-cfg
'cfg(feature, values("cshake", "default", "fips202", "k12", "keccak",
"kmac", "parallel_hash", "sha3", "shake", "sp800", "tuple_hash"))' -C
metadata=716aee7b2cfdb0c1 -C extra-filename=-716aee7b2cfdb0c1 --out-dir
/usr/src/tiny-keccak-2.0.2/target/release/build/tiny-keccak-716aee7b2cfdb0c1
-C strip=debuginfo -L
dependency=/usr/src/tiny-keccak-2.0.2/target/release/deps -Copt-level=3
-Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1 --cap-lints=warn`
error: You need to specify at least one hash function you intend to use.
Available options:
keccak, shake, sha3, cshake, kmac, tuple_hash, parallel_hash,
k12, fips202, sp800
e.g.
tiny-keccak = { version = "2.0.0", features = ["sha3"] }
--> build.rs:13:1
|
13 | / compile_error!(
14 | | "You need to specify at least one hash function you intend to
use. \
15 | | Available options:\n\
16 | | keccak, shake, sha3, cshake, kmac, tuple_hash, parallel_hash,
k12, fips202, sp800\n\
17 | | e.g.\n\
18 | | tiny-keccak = { version = \"2.0.0\", features = [\"sha3\"] }"
19 | | );
| |_^
error: could not compile `tiny-keccak` (build script) due to 1 previous
error
Caused by:
process didn't exit successfully: `rustc --crate-name
build_script_build --edition=2018 build.rs --error-format=json
--json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type
bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off
--cfg 'feature="default"' --check-cfg 'cfg(docsrs)' --check-cfg
'cfg(feature, values("cshake", "default", "fips202", "k12", "keccak",
"kmac", "parallel_hash", "sha3", "shake", "sp800", "tuple_hash"))' -C
metadata=716aee7b2cfdb0c1 -C extra-filename=-716aee7b2cfdb0c1 --out-dir
/usr/src/tiny-keccak-2.0.2/target/release/build/tiny-keccak-716aee7b2cfdb0c1
-C strip=debuginfo -L
dependency=/usr/src/tiny-keccak-2.0.2/target/release/deps -Copt-level=3
-Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1 --cap-lints=warn` (exit
status: 1)
warning: build failed, waiting for other jobs to finish...
make: *** [rust-tiny-keccak:78: /usr/src/log/tiny-keccak-2.0.2] Error 101
The rust-const-random-macro contains the following dependencies section
within its cargo.toml file:-
[dependencies.tiny-keccak]
version = "2.0.2"
features = ["shake"]
but that is in the rust crate that comes after tiny-keccak gets compiled
successfully.
I can't figure out how to tell the rust compilation of tiny-keccak to
specify the various hash functions and in terms of the
const-random-macro crate to specify the shake hash function. I would
have expected that by default it would specify all of the available hash
functions. Also it seems to me that the compilation command includes a
list of the hash functions
--cfg 'feature="default"' --check-cfg 'cfg(docsrs)' --check-cfg
'cfg(feature, values("cshake", "default", "fips202", "k12", "keccak",
"kmac", "parallel_hash", "sha3", "shake", "sp800", "tuple_hash"))'
Any help or guidance on how I should deal with this issue would be very
gladly accepted.
I only have 16 python modules and around 7 applications that use python
left to build with python-3.13 . It feels so close to completing but
with rust-tiny-keccak it feels so far still.
Regards,
Adolf.
Sent from my laptop