On 7/4/21 10:45 PM, Thomas Monjalon wrote: > 02/07/2021 14:53, Andrew Rybchenko: >> On 7/2/21 3:30 PM, Thomas Monjalon wrote: >>> 02/07/2021 10:43, Andrew Rybchenko: >>>> On 7/1/21 4:05 PM, Andrew Rybchenko wrote: >>>>> On 7/1/21 3:34 PM, David Marchand wrote: >>>>>> On Thu, Jul 1, 2021 at 11:22 AM Andrew Rybchenko >>>>>> <andrew.rybche...@oktetlabs.ru> wrote: >>>>>>> The build works fine for me on FC34, but it has >>>>>>> libatomic-11.1.1-3.fc34.x86_64 installed. >>>>>> I first produced the issue on my "old" FC32. >>>>>> Afaics, for FC33 and later, gcc now depends on libatomic and the >>>>>> problem won't be noticed. >>>>>> FC32 and before are EOL, but I then reproduced the issue on RHEL 8 >>>>>> (and Intel CI reported it on Centos 8 too). >>>>> I see. Thanks for the clarification. >>>>> >>>>>>> I'd like to understand what we're trying to solve here. >>>>>>> Are we trying to make meson to report the missing library >>>>>>> correctly? >>>>>>> >>>>>>> If so, I think I can do simple check using cc.links() >>>>>>> which will fail if the library is not found. I'll >>>>>>> test that it works as expected if the library is not >>>>>>> completely installed. >>>>>>> >>>>>> I tried below diff, and it works for me. >>>>>> "works" as in net/sfc gets disabled without libatomic installed: >>> [...] >>>>>> # for gcc compiles we need -latomic for 128-bit atomic ops >>>>>> if cc.get_id() == 'gcc' >>>>>> + code = '''#include <stdio.h> >>>>>> + void main() { printf("Atomilink me.\n"); } >>>>>> + ''' >>>>>> + if not cc.links(code, args: '-latomic', name: 'libatomic link >>>>>> check') >>>>>> + build = false >>>>>> + reason = 'missing dependency, "libatomic"' >>>>>> + subdir_done() >>>>>> + endif >>>>>> ext_deps += cc.find_library('atomic') >>>>>> endif >>>>> Many thanks, LGTM. I'll pick it up and add comments why >>>>> it is checked this way. >>>>> >>>> I've send v4 with the problem fixed. However, I'm afraid >>>> build test systems should be updated to have libatomic >>>> correctly installed. Otherwise, they do not really check >>>> net/sfc build. >>> When testing on old systems, sfc won't be tested anymore after this >>> patchset. >>> On recent systems, sfc should be enabled I guess. >>> I don't see how to manage better, sorry. >>> >> I see. I thought that it is possible to install missing >> package on corresponding systems to make build coverage >> better. >> >> Now I automatically test build on problematic distros >> with previously missing packages installed. So I have >> internal build coverage anyway. > David asked for installing libatomic: > https://inbox.dpdk.org/ci/CAJFAV8xCNBL4yEZU0c=djgys+13qm7uz7e2qnukmum7eakk...@mail.gmail.com/ > > We should wait for it to be installed otherwise ABI check will fail.
Yes, I see. Thanks.