randombit / botan

Cryptography Toolkit
https://botan.randombit.net
BSD 2-Clause "Simplified" License
2.6k stars 570 forks source link

FIX: `ninja tests` fails to build with shared library #4336

Closed reneme closed 2 months ago

reneme commented 2 months ago

When explicitly building a specific target (e.g. ninja tests) from scratch, the job dependency pointed specifically to 'libbotan-3.so.6'. This target will explicitly build just 'libbotan-3.so.6' but fail to set up the required symlinks; most notably: 'libbotan-3.so'. As a result, the linker command with -L. -lbotan-3 will fail to find the shared object.

Now, the binary targets depend on the logical 'libs' target that includes setting the symlinks as needed.

Note that this only happened when explicitly building 'tests', 'cli', etc. When building "all targets" via just ninja it worked fine. Perhaps modulo a race condition, but I didn't look deeper into that.

coveralls commented 2 months ago

Coverage Status

coverage: 91.282% (+0.007%) from 91.275% when pulling d8460ebb9e351d822be5e16038aebe80141cb938 on Rohde-Schwarz:fix/ninja_shared into 33c953a108d93c6a569a59bfebfafd0efd103db4 on randombit:master.