#987324 rust-hashbrown: missing ahash feature makes building hashlink crate impossible

#987324#5
Date:
2021-04-21 18:28:00 UTC
From:
To:
I'm trying to build the hashlink crate, which is needed by a transitive
dependency of future work on Sequoia (https://sequoia-pgp.org).

However, the build of hashlink 0.6.0 fails with an error:

```
error[E0599]: no variant or associated item named `default` found for enum `DefaultHashBuilder` in the current scope
  --> src/linked_hash_map.rs:50:57
   |
50 |             hash_builder: hash_map::DefaultHashBuilder::default(),
   |                                                         ^^^^^^^ variant or associated item not found in `DefaultHashBuilder`

error[E0599]: no variant or associated item named `default` found for enum `DefaultHashBuilder` in the current scope
  --> src/linked_hash_map.rs:60:57
   |
60 |             hash_builder: hash_map::DefaultHashBuilder::default(),
   |                                                         ^^^^^^^ variant or associated item not found in `DefaultHashBuilder`

error: aborting due to 2 previous errors
```

I reported this to the hashlink project upstream, and @nathaniel-daniel
identified the problem as being the stripping of the ahash feature from
the hashbrown crate in debian.

Presumably this means that we need the ahash crate in debian first; and
then we should enable that feature for the hashbrown crate.

#987324#14
Date:
2022-05-27 19:16:27 UTC
From:
To:
Package rust-ahash is now in Debian, which should help fix this bug.

 - Jonas

#987324#19
Date:
2022-05-28 12:49:00 UTC
From:
To:

I looked but the new packages don't seem to be installable.

#987324#24
Date:
2022-05-28 14:18:26 UTC
From:
To:
Quoting peter green (2022-05-28 14:49:00)

Yeah - as you know (since you filed the bugreport), all packages
involving librust-once-cell-dev currently fails to build from source due
to bug#1011645 :-(

I meant to say that the availability of the package is a step towards
this bugreport getting fixed - not that it was possible to fix right
now.

 - Jonas

#987324#29
Date:
2022-05-28 17:48:25 UTC
From:
To:
Quoting Jonas Smedegaard (2022-05-28 16:18:26)

Thanks for the quick fix of bug#1011645.

I have now released rust-ahash with a fix for the first of the above
bugs.  I don't recognize librust-atomic-polyfill-0.1+default-dev being
declared anywhere, however.  Please double-check that you used a
pristine Debian unstable system where you experience that error, and if
it persists then please file a bugreport.

Kind regards,

 - Jonas

#987324#34
Date:
2022-05-29 17:35:13 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
rust-hashbrown, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 987324@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Peter Michael Green <plugwash@debian.org> (supplier of updated rust-hashbrown package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 29 May 2022 16:45:06 +0000
Source: rust-hashbrown
Architecture: source
Version: 0.11.2-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Changed-By: Peter Michael Green <plugwash@debian.org>
Closes: 987324
Changes:
 rust-hashbrown (0.11.2-3) unstable; urgency=medium
 .
   * Team upload.
   * Package hashbrown 0.11.2 from crates.io using debcargo 2.5.0
   * Reinstate ahash feature (Closes: 987324)
   * Add patch to make testsuite work with rand 0.8.
   * Establish baseline for tests.
Checksums-Sha1:
 e3c2d6471c82531b2d9bea516d00ba7b01a15adf 2417 rust-hashbrown_0.11.2-3.dsc
 2401bf997e44a5515cc1569e145ec982af9101e4 4832 rust-hashbrown_0.11.2-3.debian.tar.xz
 2f75cc79f0258e3921af4eaf810af5d36e3aa0d0 9020 rust-hashbrown_0.11.2-3_source.buildinfo
Checksums-Sha256:
 82dd1db56905c73f556534bd8dbac848e8342a874f3ef690f157035b904066c7 2417 rust-hashbrown_0.11.2-3.dsc
 7ba36e001ce8552a73f33c867b95d2e4495db924f1c8627ebf335b3304ff5f3f 4832 rust-hashbrown_0.11.2-3.debian.tar.xz
 db66fc9b763d599762e6be03223e400908c7ee72801938fd8b5b05abb06314df 9020 rust-hashbrown_0.11.2-3_source.buildinfo
Files:
 0d771c0a71db6773ba33f4341c2c9125 2417 rust optional rust-hashbrown_0.11.2-3.dsc
 10c7966edf2cd41f87e76ea1c1a3c9e4 4832 rust optional rust-hashbrown_0.11.2-3.debian.tar.xz
 53953e890597909de2633c8b38f7eb2d 9020 rust optional rust-hashbrown_0.11.2-3_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJIBAEBCAAyFiEEU0DQATYMplbjSX63DEjqKnqP/XsFAmKTqqgUHHBsdWd3YXNo
QGRlYmlhbi5vcmcACgkQDEjqKnqP/XuT4w/+KZNTLSu32uabBq9bYRh6vlDJR0ns
9ZVEExgJLuaujC+D2uAPGBjl9VoN3e+Qrcqu2u1cyWiVQ5HQnavn07d0mGcP4KIm
7SSKkHkIxGrgUs3pVtyUWm/CYuPLr2X3tSLhzVr5t8VoM5kzkm3BZJ4aWqrjROYG
j+b2WunKuU5WrVB57Jm4KQN2HpPqyQmHIDsL0zNBvupelM/+U5M4211mKxYSz/zk
oRTyb1IONqph/y5SSQ28VagStENBMlt6KBTxBVlt+alvg+S74KmtnuiDyqowRCtp
7CEmqOywsQgJLRHph0Ifmu15TRcbxXo3P0reZ6SGKwAZWh9GVxk3pZGEElSafsDX
fcN1y4/JeXgkAxzF/uaCxzBC5y2CREv2EGZCF2Y0XY8WTQUk9fiDN5kraHvy4asG
N69w/0VwNVSJQT1KJ6jmNiAhxZTV8FNrOH72W5EzFpIArVxix5VK3J6vkzWs//tT
NoJXmf+XdhfKNs5wCTsdmzNecjuE2wyEv+KcChMEtiDswFN1yFYO23csdh25DB4V
jU0jKaKvXtq7ABeciWfGux1dpvYwTRXtaVFYvCaXP1BMKx4b6tny7McAhcueYS5p
pnI7Zc/kpfqjvww/jn3tocgy+P06Yrvg2Q06W1e6XHxzG+moeHpersLq1tEIKvBU
nKtIUNiIugSs0D8=
=8MQA
-----END PGP SIGNATURE-----

#987324#39
Date:
2022-05-29 22:26:23 UTC
From:
To:
looks like we both fixed it from opposite ends :)

I copied the errors from tracker.debian.org, unfortunately
tracker.debian.org doesn't distinguish between direct and indirect
dependencies and I didn't realize that ahash had a dependency on
once-cell.

Anyway, now the dependency issues are understood/fixed, I went ahead
and reinstated the feature in hashbrown.