On Fri, Feb 19, 2021 at 9:14 AM Peter Maydell wrote: > On Fri, 19 Feb 2021 at 16:08, Warner Losh wrote: > > FreeBSD builds packages on the oldest supported version in the stable > branch. Due to forward compatibility, that means all supported versions of > FreeBSD 12.x will work. Recently, FreeBSD 12.1 became unsupported, so the > build machines clicked forward to 12.2. Since there's no 'forward > compatibility' guarantees, this problem was hit. While you can run binaries > compiled on old versions of the software on new versions of the system, you > can't necessarily do the inverse because new symbols are introduced (in > this case close_range). > > It makes perfect sense that you don't want to support older > versions forever and that at some point newer packages aren't > valid on old systems, but I don't understand why an > older 12.1 system then says "but I'm going to go ahead and > install these won't-work packages anyway" rather than > "oh dear, I'm out of support, there are no newer packages > available, I will install whatever the last archived version > of the package for my OS version is" (or "I will install nothing"). > I'm surprised this doesn't break a lot of real-world users... > That's a reasonable expectation. I'd kinda expected that to be the default, but it looks like it might not be. I'll see if I can get the freebsd vm updated to use something safer and/or work with the pkg folks to get it to do the safe thing here if there's no easy way to do this with command line / config settings. I think the issue is that we set IGNORE_OSVERSION which is needed for the case when we were running 12.0 packages on 12.1, but it's harmful for this case. This highlights, I think, a rough edge in pkg. Short term, I'll bump things up to 12.2 which will take care of the immediate issue. I should have a patch by later in the day.... I may also have a patch to detect the mismatch directly and report it until this issue can be resolved in FreeBSD's pkg. Warner