On Sat, May 06, 2017 at 07:49:10PM -0500, Amit Kulkarni wrote: > > [...] > > So I figured to build kernel and then userland, the errors went away. > But when the correct binary versions of the > libssl.so/libtls.so/libcrypto.so are present on the system and I use > sysclean like so, I get this message from sysclean > > $ doas sysclean -f > /usr/local/bin/sysclean: warn: discard better version: > /usr/lib/libcrypto.so.41.2 > /usr/local/bin/sysclean: warn: discard better version: /usr/lib/libtls.so.15.6 > /usr/local/bin/sysclean: warn: discard better version: /usr/lib/libssl.so.43.3 > > Why is the highest and possibly correct version of libraries being > warned against? Is this a bug or is this because we are in the middle > of the bump of minor libraries, and inconsistent behaviour which will > sorted out in a day or two? >
Hi, sysclean uses system locate databases for the list of "expected" files: - /usr/lib/locate/src.db - /usr/X11R6/lib/locate/xorg.db and it lists files present on the filesystem, but not in this list of expected files. You could consult these locate databases directly: $ locate -d /usr/lib/locate/src.db:/usr/X11R6/lib/locate/xorg.db libc.so base61:/usr/lib/libc.so.89.5 base61:/usr/lib/libc.so.89.5.a These databases are built using informations from /usr/src/distrib/sets/. Several things could explains the warnings you see with sysclean: - you built and installed only a part of the tree: a new file is installed, but the locate databases aren't refreshed. as you said you built kernel and userland, I assume you ran a "make build", and so, the locate databases should be refreshed. - temporary unsync in src/distrib/sets/. Generally, it is sorted out quickly. sysclean doesn't list a library when the major/minor is bigger than the one from "expected" list, but it emits a warning. It is the expected behaviour: you have information that something weird is here (unsync in some way) and could require manual inspection, but the file isn't listed (there warning is on stderr, and not on stdout) so it couldn't be unlinked per error. It was the safer way I found to report this kind of unsync. In your case, if you consult locate databases, you should see base61:/usr/lib/libcrypto.so.41.1 to be present, but not base61:/usr/lib/libcrypto.so.41.2. On your filesystem, /usr/lib/libcrypto.so.41.{1,2} are here both. Currently, cvs log showed that src/distrib/sets/lists/base/mi has been resync by tb@ on 2017/05/06 20:49:59 in order to include the lib bump you saw. If your source repository doesn't include this commit, but included the libraries bump, the warning from sysclean are normal: there are unsync between sets/lists and installed files. Thanks. -- Sebastien Marie