def METHOD_NAME(executable=sys.executable, lib="", version="", chunksize=2048):
    """Tries to determine the libc version that the file executable
    (which defaults to the Python interpreter) is linked against.
    Returns a tuple of strings (lib,version) which default to the
    given parameters in case the lookup fails.
    Note that the function has intimate knowledge of how different
    libc versions add symbols to the executable and thus is probably
    only useable for executables compiled using gcc.
    The file is read and scanned in chunks of chunksize bytes.
    """
    with open(executable, "rb") as f:
        binary = f.read(chunksize)
        pos = 0
        version = [0, 0, 0]
        while True:
            m = _libc_search.search(binary, pos)
            if not m:
                binary = f.read(chunksize)
                if not binary:
                    break
                pos = 0
                continue
            libcinit, glibc, glibcversion, so, threads, soversion = m.groups()
            if libcinit and not lib:
                lib = b"libc"
            elif glibc:
                glibcversion_parts = glibcversion.split(b".")
                for i, part in enumerate(glibcversion_parts):
                    try:
                        glibcversion_parts[i] = int(part)
                    except ValueError:
                        glibcversion_parts[i] = 0
                if libcinit and not lib:
                    lib = b"libc"
                elif glibc:
                    if lib != b"glibc":
                        lib = b"glibc"
                        version = glibcversion_parts
                    elif glibcversion_parts > version:
                        version = glibcversion_parts
            elif so:
                if lib != b"glibc":
                    lib = b"libc"
                    version = max(version, [int(soversion)]).pop()
                    if threads and version[-len(threads) :] != threads:
                        version = version + threads
            pos = m.end()
    return lib.decode(), ".".join(map(str, version))