The setup.py file contains this: def has_function(function_name, include_dirs=None, libraries=None, library_dirs=None): """Checks if a given functions exists in the current platform.""" compiler = distutils.ccompiler.new_compiler() with muted(sys.stdout, sys.stderr): result = compiler.has_function( function_name, include_dirs=include_dirs, libraries=libraries, library_dirs=library_dirs) if os.path.exists('a.out'): os.remove('a.out') return result And with the current Fedora version of python3-setuptools, this triggers an implicit function declaration for memmem: if has_function('memmem'): module.define_macros.append(('HAVE_MEMMEM', '1')) (And for strlcpy, strlcat as well, but those are fine because we do not actually implement them.) I hope we can patch python3-setuptools soon, so that we do not need to workaround this in python-yara.
Verified as fixed via bug 2153037.