Home-Manager build error from openldap: provider and consumer databases differ

I can’t build home-manager after updating my nixos flake today.

> home-manager switch <...>
error: Cannot build '/nix/store/r6kxpsfcvfkcnipf5qdsmszdp1hqrcrb-openldap-2.6.13.drv'.
       Reason: builder failed with exit code 2.
       Output paths:
         /nix/store/df6x0vhbsmdcd04d9adg0k709mik8jpf-openldap-2.6.13
         /nix/store/p7cqv1kjps759wwzzl5w1hphlnjk49yf-openldap-2.6.13-dev
         /nix/store/pr2xhznkl6xj03n2aiy2xydc9m15acmp-openldap-2.6.13-devdoc
         /nix/store/pxh2x9mx7zk0wcvywhj4j9nw6gvi9129-openldap-2.6.13-man
       Last 25 log lines:
       > Using ldapsearch to check that consumer slapd is running...
       > Using ldapadd to populate the provider directory...
       > Waiting 7 seconds for syncrepl to receive changes...
       > Using ldapmodify to modify provider directory...
       > Waiting 7 seconds for syncrepl to receive changes...
       > Performing modrdn alone on the provider...
       > Waiting 7 seconds for syncrepl to receive changes...
       > Performing modify alone on the provider...
       > Waiting 7 seconds for syncrepl to receive changes...
       > Performing larger modify on the provider...
       > Waiting 7 seconds for syncrepl to receive changes...
       > Try updating the consumer slapd...
       > Using ldapsearch to read all the entries from the provider...
       > Using ldapsearch to read all the entries from the consumer...
       > Filtering provider results...
       > Filtering consumer results...
       > Comparing retrieved entries from provider and consumer...
       > test failed - provider and consumer databases differ
       > >>>>> 00:04:37 Failed   test017-syncreplication-refresh for mdb after 41 seconds
       > (exit 1)
       > make[2]: *** [Makefile:319: mdb-yes] Error 1
       > make[2]: Leaving directory '/build/openldap-2.6.13/tests'
       > make[1]: *** [Makefile:286: test] Error 2
       > make[1]: Leaving directory '/build/openldap-2.6.13/tests'
       > make: *** [Makefile:297: test] Error 2
       For full logs, run:
         nix log /nix/store/r6kxpsfcvfkcnipf5qdsmszdp1hqrcrb-openldap-2.6.13.drv
error: Cannot build '/nix/store/xnadh1r7j1sgnjpyw2lv9v687cd13qib-bottles-63.2-fhsenv-rootfs.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/izdlbdprddc418f5d8bjwa7kn1z5wx8f-bottles-63.2-fhsenv-rootfs
error: Cannot build '/nix/store/hf09716z0vkllf2m9j5x3ywbqxjgzm3a-bottles-cli-63.2-fhsenv-rootfs.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/2qr55vg19jyz024a72dkn8fykfyr7hy7-bottles-cli-63.2-fhsenv-rootfs
error: Build failed due to failed dependency
error: Build failed due to failed dependency
error: Cannot build '/nix/store/acpb54qwv6zkf2jq9749iqy8ww2l8p7p-bottles-63.2-bwrap.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/dh2x9qmnir5w5zby6abgdk8s666vrl5s-bottles-63.2-bwrap
error: Cannot build '/nix/store/cvnyw3hsvcigf3blavdmbksnjhc6sdrl-bottles-cli-63.2-bwrap.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/zmz6fx4r3qpjr8iyh41jv4s34yylcbnb-bottles-cli-63.2-bwrap
error: Build failed due to failed dependency
error: Build failed due to failed dependency
error: Cannot build '/nix/store/56zmzkg0k7dfyhd086b76x41m2lm5q5g-bottles-63.2.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/ki58kcllhzi04830vmk4bb3lyf9vcvnw-bottles-63.2
error: Cannot build '/nix/store/64j2wnr0jd1kvqzj1v1inx5pxi6v4zm6-bottles-cli-63.2.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/1wfwajzg2kw7czkdi88r7ivvkv6bc9zq-bottles-cli-63.2
error: Build failed due to failed dependency
error: Cannot build '/nix/store/x03akj6l7q87ni4bb5d8h7b1jc8kgnar-bottles-63.2.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/7ip3xab7g20zmr8sqsbwkadb5ap2b535-bottles-63.2
error: Build failed due to failed dependency
error: Cannot build '/nix/store/yp4bn1935wy4jdbcgig024vqf75dkqy6-home-manager-path.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/y72fddbq8w9pqpbxwb4bakz157155rzy-home-manager-path
error: Build failed due to failed dependency
error: Cannot build '/nix/store/jjxw8cw07i5hskviivjf45jxvzji5240-activation-script.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/g7f95w8awipg90xa3i25l1lixgp7zk2g-activation-script
error: Cannot build '/nix/store/jgx793152syvsq00c6ylmbif9wchy5jr-hm_fontconfigconf.d10hmfonts.conf.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/0rw6qs798l1cpyl9paksmk41knks2a0m-hm_fontconfigconf.d10hmfonts.conf
error: Cannot build '/nix/store/kk9d82y1sz0adni5n2k38lps12qjdzpc-home-manager-generation.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/4p3kkizm4wzcdgg7ghxf85pwvar1m1p5-home-manager-generation
error: Build failed due to failed dependency
> nix log <...>
>>>>> 00:03:54 starting e[1mtest016-subrefe[m for mdb...
running defines.sh
running slapadd to build slapd database...
starting slapd on tcp/ip port 9011...
testing slapd searching...
testing managedsait searching at c=us...
testing managedsait searching at referral object...
testing managedsait searching below referral object...
testing base searching at c=us...
testing one-level searching at c=us...
testing subtree searching at c=us...
testing base searching at o=abc,c=us...
testing one-level searching at o=abc,c=us...
testing subtree searching at o=abc,c=us...
testing base searching at uid=xxx,o=abc,c=us...
testing one-level searching at uid=xxx,o=abc,c=us...
testing subtree searching at uid=xxx,o=abc,c=us...
filtering ldapsearch results...
filtering expected ldif for comparison...
comparing filter output...
>>>>> test succeeded
>>>>> 00:03:56 finished test016-subref for mdb after 2 seconds.

>>>>> 00:03:56 starting e[1mtest017-syncreplication-refreshe[m for mdb...
running defines.sh
starting provider slapd on tcp/ip port 9011...
using ldapsearch to check that provider slapd is running...
using ldapadd to create the context prefix entry in the provider...
starting consumer slapd on tcp/ip port 9012...
using ldapsearch to check that consumer slapd is running...
using ldapadd to populate the provider directory...
waiting 7 seconds for syncrepl to receive changes...
using ldapmodify to modify provider directory...
waiting 7 seconds for syncrepl to receive changes...
performing modrdn alone on the provider...
waiting 7 seconds for syncrepl to receive changes...
performing modify alone on the provider...
waiting 7 seconds for syncrepl to receive changes...
performing larger modify on the provider...
waiting 7 seconds for syncrepl to receive changes...
try updating the consumer slapd...
using ldapsearch to read all the entries from the provider...
using ldapsearch to read all the entries from the consumer...
filtering provider results...
filtering consumer results...
comparing retrieved entries from provider and consumer...
test failed - provider and consumer databases differ
>>>>> 00:04:37 failed   test017-syncreplication-refresh for mdb after 41 seconds
(exit 1)
make[2]: *** [makefile:319: mdb-yes] error 1
make[2]: leaving directory '/build/openldap-2.6.13/tests'
make[1]: *** [makefile:286: test] error 2
make[1]: leaving directory '/build/openldap-2.6.13/tests'
make: *** [makefile:297: test] error 2

I saw this on the log:

comparing retrieved entries from provider and consumer...
test failed - provider and consumer databases differ

I’m using nixos unstable.

I thought home-manager database entries would update automatically with nix flake update.

Do I need to do something else?

Any help would be appreciated,

Thanks.

This looks like an upstream build failure. Likely some change to the openldap test suite. Not much you can do but report the bug and wait, or debug it yourself.

You can probably reproduce the build failure with:

nix build --inputs-from . nixpkgs#openldap

If you can, report it on the nixpkgs repo. If you cannot, it’s something else and I’m mistaken. Pretty sure I’m right, but I’m too lazy to dig through the hydra UI to confirm.


A quick local fix in the meantime would be to override the openldap package you’re using, setting its doCheck = false;. I give you 10:1 odds that the test failure doesn’t have any practical impact on the built binary.

Though I question why a home-manager config would have openldap installed in the first place; another “fix” could be figuring out why that’s in your closure and removing it.

This is 32bit openldap and affects lutris as well. Somewhere in nixpkgs issue tracker is a discussion about the lutris issue with a fixing overlay.

1 Like

The easiest solution I did was to install Lutris and Bottles from the Stable package.

This is the only solution that worked for me.

It doesn’t seem like the most efficient one, since I had to reinstall about 3gb of dependencies for bottles, but it did the trick.

I tried the fixing overlays mentioned above from the issue tracker and none of them worked on my system. I just kept getting the same errors.

The bug has already been reported on github, so we’re just waiting for a fix.