openssl: 'make fips-checksums' with `enable-fips` occasionally requires `make clean`

With enable-fips, after rebasing or switching branches, it often happens that make update gets stuck with

mkdir sources-tmp
( \
  srcdir=`cd .; pwd`; \
  cd sources-tmp \
  && $srcdir/Configure enable-fips \
  && ./configdata.pm --query 'get_sources("providers/fips")' > sources1 \
  && $srcdir/Configure enable-fips no-asm \
  && ./configdata.pm --query 'get_sources("providers/fips")' > sources2 \
)
Configuring OpenSSL version 3.0.0-alpha17-dev for target linux-x86_64
Using os-specific seed configuration
../providers/libcommon.a is given as source for providers/libfips.a, but no such library is built
../providers/libdefault.a is given as source for libcrypto, but no such library is built
../providers/libdefault.a is given as source for libcrypto, but no such library is built

Failure!  Makefile wasn't produced.
Please read INSTALL.md and associated NOTES-* files.  You may also have to
look over your available compiler tool chain or change your configuration.

There are files missing
make: *** [Makefile:4034: providers/fips.module.sources] Error 2

The only workaround I found so far is a little drastic: make clean.

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Comments: 20 (20 by maintainers)

Most upvoted comments

Is this still a problem? We only do this on fresh checkouts and this isn’t run by make update, so it failing when switching branches etc isn’t such a deal anymore.

I’m not suggesting that the dependencies shouldn’t be fixed, just that fixing them isn’t essential for 3.0.

Probably a duplicate (philosophically speaking) of #15223

Not really. This is very definitely a different issue. I’m seeing this often.

Happy to discuss on the next OTC call, it seems kind of a waste of the group’s time.

CI does make fips-checksums on a fresh tree and in an out-of-tree configuration. But I haven’t been able to reproduce this problem even when I did make fips-checksums in an in-tree configuration.

Was the tree used clean?

Out of source configuration has problems with a build tree that isn’t clean and this make target is doing out of source configuration.

Ideally, the configuration would be fixed but I suspect it’s non-trivial to do.

Which does not mean that make fips-checksums won’t have the same issue.