#10991·poetry

Silent use of a shared, non-isolated Python environment when using a version manager with symlinked version directories (e.g. mise)

Author: VictorColombCreated Jul 23, 2026Updated Jul 29, 2026
Labelskind/bugstatus/triage

Description

When Poetry itself is installed under a Python version manager that exposes the same interpreter through two different paths — an "unversioned" symlink (e.g. .../python/3.14) and the concrete "fully versioned" install directory it points to (e.g. .../python/3.14.6) — GenericEnv.is_venv() returns True for that plain, non-isolated interpreter. This causes EnvManager.create_venv() to believe "we're already inside a virtualenv" and return early, without ever creating a project-specific isolated venv — even with virtualenvs.create = true and no active VIRTUAL_ENV. Poetry then installs/updates/removes packages directly into the shared, non-isolated interpreter, silently, with no warning that isolation was skipped.

mise uses exactly this layout: ~/.local/share/mise/installs/python/3.14 is a symlink to ~/.local/share/mise/installs/python/3.14.6. Poetry itself, installed via mise use [email protected], ends up running from an internal venv built from the 3.14 symlink path, while the interpreter's own sys.base_prefix resolves to the 3.14.6 concrete directory — two different path strings for the same, non-virtualenv install.

Reproduction

  1. Install mise, then mise use [email protected] && mise use [email protected] in an empty project directory (or replicate manually: create a real Python install at pyroot/3.14.6/, and a symlink pyroot/3.14 -> 3.14.6; install Poetry using the pyroot/3.14 interpreter).
  2. poetry init -n && poetry add requests
  3. poetry env info — expected: a fresh isolated venv. Actual: reports the shared pyroot/3.14 install directly as "Virtualenv", with no isolation and no warning.
  4. poetry sync on a second, unrelated project sharing the same pyroot/3.14 interpreter will silently install/remove that project's dependencies into the same shared install, corrupting both projects' environments.

Expected behavior

Poetry should create an isolated virtualenv (in-project or cache-dir, per config) whenever the resolved "system" interpreter is not genuinely activated as a virtualenv — regardless of whether a version manager exposes it through a symlinked, differently-named path than its own sys.base_prefix resolves to.

Root cause

get_system_env() (poetry/utils/env/env_manager.py:598-616):

python
prefix, base_prefix = Path(sys.prefix), Path(cls.get_base_prefix())
env: Env = SystemEnv(prefix)
if not naive:
    env = GenericEnv(base_prefix, child_env=env)
return env

Here sys is Poetry's own running interpreter. When Poetry is installed via mise, its internal venv's sys.base_prefix is the unversioned symlink path .../python/3.14. This becomes path for the constructed GenericEnv.

GenericEnv extends VirtualEnv, whose __init__ (poetry/utils/env/virtual_env.py:35-44) does, since base=None:

python
if base is None:
    output = self.run_python_script(GET_BASE_PREFIX)
    self._base = Path(output.strip())

This runs a script using the .../python/3.14 interpreter to ask for its own sys.base_prefix — which resolves to the concrete .../python/3.14.6 directory (a different string than .../python/3.14, even though it's the same, non-isolated install).

GenericEnv.is_venv() (poetry/utils/env/generic_env.py:104-106):

python
def is_venv(self) -> bool:
    return self._path != self._base

self._path (.../python/3.14) != self._base (.../python/3.14.6) → True, even though this is not a virtualenv (running that interpreter shows sys.prefix == sys.base_prefix when queried on itself).

This True then short-circuits EnvManager.create_venv() (poetry/utils/env/env_manager.py:366-390):

python
env = self.get(reload=True)
if not env.is_sane():
    force = True
if env.is_venv() and not force:
    # Already inside a virtualenv.
    ...
    return env

env.is_sane() returns True, so force stays False, and is_venv() == True causes an immediate return — no venv is ever created, and every poetry install/sync from then on operates directly on the shared interpreter.

Workarounds

Manually pre-create the in-project venv (or even just the directory + pyvenv.cfg) before running any Poetry command from that directory — this makes in_project_venv_exists() (which only checks Path.is_dir(), not is_venv()) succeed before Poetry ever reaches the system-env fallback path.

Poetry Installation Method

other

Operating System

Linux (Fedora 44, kernel 6.x)

Poetry Version

2.4.1

Poetry Configuration

bash
cache-dir = "/home/***/.cache/pypoetry"
data-dir = "/home/***/.local/share/mise/installs/poetry/2.4.1"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = false
keyring.enabled = true
python.installation-dir = "{data-dir}/python"  # /home/***/.local/share/mise/installs/poetry/2.4.1/python
requests.max-retries = 0
solver.lazy-wheel = true
solver.min-release-age = 0
solver.min-release-age-exclude = null
solver.min-release-age-exclude-source = null
system-git-client = false
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/***/.cache/pypoetry/virtualenvs
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false

Python Sysconfig

sysconfig.log
Platform: "linux-x86_64"
Python version: "3.14"
Current installation scheme: "venv"

Paths: 
data = "/home/***/***/.venv"
include = "/home/***/.local/share/mise/installs/python/3.14.6/include/python3.14"
platinclude = "/home/***/.local/share/mise/installs/python/3.14.6/include/python3.14"
platlib = "/home/***/***/.venv/lib/python3.14/site-packages"
platstdlib = "/home/***/***/.venv/lib/python3.14"
purelib = "/home/***/***/.venv/lib/python3.14/site-packages"
scripts = "/home/***/***/.venv/bin"
stdlib = "/home/***/.local/share/mise/installs/python/3.14.6/lib/python3.14"

Variables: 
ABIFLAGS = ""
ABI_THREAD = ""
AC_APPLE_UNIVERSAL_BUILD = "0"
AIX_BUILDDATE = "0"
AIX_GENUINE_CPLUSPLUS = "0"
ALIGNOF_LONG = "8"
ALIGNOF_MAX_ALIGN_T = "16"
ALIGNOF_SIZE_T = "8"
ALT_SOABI = "0"
ANDROID_API_LEVEL = "0"
APP_STORE_COMPLIANCE_PATCH = ""
AR = "ar"
ARFLAGS = "rcs"
BASECFLAGS = "-fno-strict-overflow -Wsign-compare -Wunreachable-code"
BASECPPFLAGS = ""
BASEMODLIBS = ""
BINDIR = "/home/***/.local/share/mise/installs/python/3.14.6/bin"
BINLIBDEST = "/home/***/.local/share/mise/installs/python/3.14.6/lib/python3.14"
BLDLIBRARY = "-L. -lpython3.14"
BLDSHARED = "cc -pthread -shared -Wl,-z,noexecstack -Wl,--exclude-libs,ALL"
BOOTSTRAP_HEADERS = "\\"
BUILDEXE = ""
BUILDPYTHON = "python"
BUILD_GNU_TYPE = "x86_64-unknown-linux-gnu"
BUILD_SCRIPTS_DIR = "build/scripts-3.14"
BYTESTR_DEPS = "\\"
CC = "cc -pthread"
CCSHARED = "-fPIC"
CFLAGS = "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC"
CFLAGSFORSHARED = "-fPIC"
CFLAGS_ALIASING = ""
CFLAGS_CEVAL = "-finline-max-stacksize=512"
CODECS_COMMON_HEADERS = "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
COMPILEALL_OPTS = "-j0"
CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
CONFIGURE_CFLAGS = "-O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC"
CONFIGURE_CFLAGS_NODIST = "-fno-semantic-interposition -flto=thin -g -fno-pie -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -D_Py_TIER2=3 -D_Py_JIT"
CONFIGURE_CPPFLAGS = "-O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC"
CONFIGURE_LDFLAGS = "-Wl,-z,noexecstack -Wl,--exclude-libs,ALL"
CONFIGURE_LDFLAGS_NODIST = "-fno-semantic-interposition -flto=thin -g -Wl,--emit-relocs"
CONFIGURE_LDFLAGS_NOLTO = "-flto=thin"
CONFIG_ARGS = "'--build=x86_64-unknown-linux-gnu' '--host=x86_64-unknown-linux-gnu' '--prefix=/install' '--with-openssl=/tools/deps' '--with-system-expat' '--with-system-libmpdec' '--without-ensurepip' '--with-readline=editline' '--with-tail-call-interp' '--enable-static-libpython-for-interpreter' '--enable-shared' '--with-mimalloc' '--enable-optimizations' '--enable-bolt' '--enable-experimental-jit=yes-off' '--with-lto' '--with-build-python=/tools/host/bin/python3.14' 'ac_cv_func_explicit_bzero=no' '--with-dbmliborder=bdb' 'build_alias=x86_64-unknown-linux-gnu' 'host_alias=x86_64-unknown-linux-gnu' 'PKG_CONFIG=pkg-config --static' 'PKG_CONFIG_PATH=/tools/deps/share/pkgconfig:/tools/deps/lib/pkgconfig' 'CC=clang' 'CFLAGS=-O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC ' 'LDFLAGS=-Wl,-z,noexecstack -Wl,--exclude-libs,ALL ' 'CPPFLAGS=-O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC ' 'PROFILE_TASK=-m test --pgo -j 4 --ignore test.test_bytes.BytesTest.test_from_format'"
CONFINCLUDEDIR = "/home/***/.local/share/mise/installs/python/3.14.6/include"
CONFINCLUDEPY = "/home/***/.local/share/mise/installs/python/3.14.6/include/python3.14"
COREPYTHONPATH = ""
COVERAGE_INFO = "/build/Python-3.14.6/coverage.info"
COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
COVERAGE_REPORT = "/build/Python-3.14.6/lcov-report"
COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.14 LCOV report [commit $(shell )]""
CPPFLAGS = "-I. -I./Include -O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC"
CXX = "c++ -pthread"
DESTDIRS = "/home/***/.local/share/mise/installs/python/3.14.6 /home/***/.local/share/mise/installs/python/3.14.6/lib /home/***/.local/share/mise/installs/python/3.14.6/lib/python3.14 /home/***/.local/share/mise/installs/python/3.14.6/lib/python3.14/lib-dynload"
DESTLIB = "/home/***/.local/share/mise/installs/python/3.14.6/lib/python3.14"
DESTPATH = ""
DESTSHARED = "/home/***/.local/share/mise/installs/python/3.14.6/lib/python3.14/lib-dynload"
DFLAGS = ""
DIRMODE = "755"
DIST = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy"
DISTDIRS = "Include Lib Misc Ext-dummy"
DISTFILES = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
DLINCLDIR = "."
DLLLIBRARY = ""
DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 = "0"
DOUBLE_IS_BIG_ENDIAN_IEEE754 = "0"
DOUBLE_IS_LITTLE_ENDIAN_IEEE754 = "1"
DSYMUTIL = ""
DSYMUTIL_PATH = ""
DTRACE = ""
DTRACE_DEPS = "\\"
DTRACE_HEADERS = ""
DTRACE_OBJS = ""
DYNLOADFILE = "dynload_shlib.o"
EMSCRIPTEN_DIR = "./Platforms/emscripten"
ENABLE_IPV6 = "1"
ENSUREPIP = "no"
EXE = ""
EXEMODE = "755"
EXENAME = "/home/***/.local/share/mise/installs/python/3.14.6/bin/python3.14"
EXPORTSFROM = ""
EXPORTSYMS = ""
EXTRATESTOPTS = ""
EXTRA_CFLAGS = ""
EXT_SUFFIX = ".cpython-314-x86_64-linux-gnu.so"
FILEMODE = "644"
FREEZE_MODULE = "/tools/host/bin/python3.14 ./Programs/_freeze_module.py"
FREEZE_MODULE_BOOTSTRAP = "/tools/host/bin/python3.14 ./Programs/_freeze_module.py"
FREEZE_MODULE_BOOTSTRAP_DEPS = "./Programs/_freeze_module.py"
FREEZE_MODULE_DEPS = "./Programs/_freeze_module.py"
FROZEN_FILES_IN = "\\"
FROZEN_FILES_OUT = "\\"
GETPGRP_HAVE_ARG = "0"
GITBRANCH = ""
GITTAG = ""
GITVERSION = ""
GNULD = "yes"
HAVE_ACCEPT = "1"
HAVE_ACCEPT4 = "1"
HAVE_ACOSH = "1"
HAVE_ADDRINFO = "1"
HAVE_ALARM = "1"
HAVE_ALIGNED_REQUIRED = "0"
HAVE_ALLOCA_H = "1"
HAVE_ALTZONE = "0"
HAVE_ASINH = "1"
HAVE_ASM_TYPES_H = "1"
HAVE_ATANH = "1"
HAVE_BACKTRACE = "1"
HAVE_BIND = "1"
HAVE_BIND_TEXTDOMAIN_CODESET = "1"
HAVE_BLUETOOTH_BLUETOOTH_H = "0"
HAVE_BLUETOOTH_H = "0"
HAVE_BROKEN_MBSTOWCS = "0"
HAVE_BROKEN_NICE = "0"
HAVE_BROKEN_PIPE_BUF = "0"
HAVE_BROKEN_POLL = "0"
HAVE_BROKEN_POSIX_SEMAPHORES = "0"
HAVE_BROKEN_PTHREAD_SIGMASK = "0"
HAVE_BROKEN_SEM_GETVALUE = "0"
HAVE_BROKEN_UNSETENV = "0"
HAVE_BUILTIN_ATOMIC = "1"
HAVE_BZLIB_H = "1"
HAVE_CHFLAGS = "0"
HAVE_CHMOD = "1"
HAVE_CHOWN = "1"
HAVE_CHROOT = "1"
HAVE_CLOCK = "1"
HAVE_CLOCK_GETRES = "1"
HAVE_CLOCK_GETTIME = "1"
HAVE_CLOCK_NANOSLEEP = "1"
HAVE_CLOCK_SETTIME = "1"
HAVE_CLOCK_T = "1"
HAVE_CLOSEFROM = "0"
HAVE_CLOSE_RANGE = "0"
HAVE_COMPUTED_GOTOS = "1"
HAVE_CONFSTR = "1"
HAVE_CONIO_H = "0"
HAVE_CONNECT = "1"
HAVE_COPY_FILE_RANGE = "0"
HAVE_CTERMID = "1"
HAVE_CTERMID_R = "0"
HAVE_CURSES_FILTER = "1"
HAVE_CURSES_H = "1"
HAVE_CURSES_HAS_KEY = "1"
HAVE_CURSES_IMMEDOK = "1"
HAVE_CURSES_IS_PAD = "1"
HAVE_CURSES_IS_TERM_RESIZED = "1"
HAVE_CURSES_RESIZETERM = "1"
HAVE_CURSES_RESIZE_TERM = "1"
HAVE_CURSES_SYNCOK = "1"
HAVE_CURSES_TYPEAHEAD = "1"
HAVE_CURSES_USE_ENV = "1"
HAVE_CURSES_WCHGAT = "1"
HAVE_DB_H = "1"
HAVE_DECL_RTLD_DEEPBIND = "1"
HAVE_DECL_RTLD_GLOBAL = "1"
HAVE_DECL_RTLD_LAZY = "1"
HAVE_DECL_RTLD_LOCAL = "1"
HAVE_DECL_RTLD_MEMBER = "0"
HAVE_DECL_RTLD_NODELETE = "1"
HAVE_DECL_RTLD_NOLOAD = "1"
HAVE_DECL_RTLD_NOW = "1"
HAVE_DECL_TZNAME = "0"
HAVE_DECL_UT_NAMESIZE = "1"
HAVE_DEVICE_MACROS = "1"
HAVE_DEV_PTC = "0"
HAVE_DEV_PTMX = "1"
HAVE_DIRECT_H = "0"
HAVE_DIRENT_D_TYPE = "1"
HAVE_DIRENT_H = "1"
HAVE_DIRFD = "1"
HAVE_DLADDR = "1"
HAVE_DLADDR1 = "1"
HAVE_DLFCN_H = "1"
HAVE_DLOPEN = "1"
HAVE_DUP = "1"
HAVE_DUP2 = "1"
HAVE_DUP3 = "1"
HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0"
HAVE_DYNAMIC_LOADING = "1"
HAVE_EDITLINE_READLINE_H = "0"
HAVE_ENDIAN_H = "1"
HAVE_EPOLL = "1"
HAVE_EPOLL_CREATE1 = "1"
HAVE_ERF = "1"
HAVE_ERFC = "1"
HAVE_ERRNO_H = "1"
HAVE_EVENTFD = "1"
HAVE_EXECINFO_H = "1"
HAVE_EXECV = "1"
HAVE_EXPLICIT_BZERO = "0"
HAVE_EXPLICIT_MEMSET = "0"
HAVE_EXPM1 = "1"
HAVE_FACCESSAT = "1"
HAVE_FCHDIR = "1"
HAVE_FCHMOD = "1"
HAVE_FCHMODAT = "1"
HAVE_FCHOWN = "1"
HAVE_FCHOWNAT = "1"
HAVE_FCNTL_H = "1"
HAVE_FDATASYNC = "1"
HAVE_FDOPENDIR = "1"
HAVE_FDWALK = "0"
HAVE_FEXECVE = "1"
HAVE_FFI_CLOSURE_ALLOC = "1"
HAVE_FFI_PREP_CIF_VAR = "1"
HAVE_FFI_PREP_CLOSURE_LOC = "1"
HAVE_FLOCK = "1"
HAVE_FORK = "1"
HAVE_FORK1 = "0"
HAVE_FORKPTY = "1"
HAVE_FPATHCONF = "1"
HAVE_FSEEK64 = "0"
HAVE_FSEEKO = "1"
HAVE_FSTATAT = "1"
HAVE_FSTATVFS = "1"
HAVE_FSYNC = "1"
HAVE_FTELL64 = "0"
HAVE_FTELLO = "1"
HAVE_FTIME = "1"
HAVE_FTRUNCATE = "1"
HAVE_FUTIMENS = "1"
HAVE_FUTIMES = "1"
HAVE_FUTIMESAT = "1"
HAVE_GAI_STRERROR = "1"
HAVE_GCC_ASM_FOR_MC68881 = "0"
HAVE_GCC_ASM_FOR_X64 = "1"
HAVE_GCC_ASM_FOR_X87 = "1"
HAVE_GCC_UINT128_T = "1"
HAVE_GDBM_DASH_NDBM_H = "0"
HAVE_GDBM_H = "0"
HAVE_GDBM_NDBM_H = "0"
HAVE_GETADDRINFO = "1"
HAVE_GETC_UNLOCKED = "1"
HAVE_GETEGID = "1"
HAVE_GETENTROPY = "0"
HAVE_GETEUID = "1"
HAVE_GETGID = "1"
HAVE_GETGRENT = "1"
HAVE_GETGRGID = "1"
HAVE_GETGRGID_R = "1"
HAVE_GETGRNAM_R = "1"
HAVE_GETGROUPLIST = "1"
HAVE_GETGROUPS = "1"
HAVE_GETHOSTBYADDR = "1"
HAVE_GETHOSTBYNAME = "1"
HAVE_GETHOSTBYNAME_R = "1"
HAVE_GETHOSTBYNAME_R_3_ARG = "0"
HAVE_GETHOSTBYNAME_R_5_ARG = "0"
HAVE_GETHOSTBYNAME_R_6_ARG = "1"
HAVE_GETHOSTNAME = "1"
HAVE_GETITIMER = "1"
HAVE_GETLOADAVG = "1"
HAVE_GETLOGIN = "1"
HAVE_GETLOGIN_R = "1"
HAVE_GETNAMEINFO = "1"
HAVE_GETPAGESIZE = "1"
HAVE_GETPEERNAME = "1"
HAVE_GETPGID = "1"
HAVE_GETPGRP = "1"
HAVE_GETPID = "1"
HAVE_GETPPID = "1"
HAVE_GETPRIORITY = "1"
HAVE_GETPROTOBYNAME = "1"
HAVE_GETPWENT = "1"
HAVE_GETPWNAM_R = "1"
HAVE_GETPWUID = "1"
HAVE_GETPWUID_R = "1"
HAVE_GETRANDOM = "0"
HAVE_GETRANDOM_SYSCALL = "0"
HAVE_GETRESGID = "1"
HAVE_GETRESUID = "1"
HAVE_GETRUSAGE = "1"
HAVE_GETSERVBYNAME = "1"
HAVE_GETSERVBYPORT = "1"
HAVE_GETSID = "1"
HAVE_GETSOCKNAME = "1"
HAVE_GETSPENT = "1"
HAVE_GETSPNAM = "1"
HAVE_GETUID = "1"
HAVE_GETWD = "1"
HAVE_GLIBC_MEMMOVE_BUG = "0"
HAVE_GRANTPT = "1"
HAVE_GRP_H = "1"
HAVE_HSTRERROR = "1"
HAVE_HTOLE64 = "1"
HAVE_IF_NAMEINDEX = "1"
HAVE_INET_ATON = "1"
HAVE_INET_NTOA = "1"
HAVE_INET_PTON = "1"
HAVE_INITGROUPS = "1"
HAVE_INTTYPES_H = "1"
HAVE_IO_H = "0"
HAVE_IPA_PURE_CONST_BUG = "0"
HAVE_KILL = "1"
HAVE_KILLPG = "1"
HAVE_KQUEUE = "0"
HAVE_LANGINFO_H = "1"
HAVE_LARGEFILE_SUPPORT = "0"
HAVE_LCHFLAGS = "0"
HAVE_LCHMOD = "0"
HAVE_LCHOWN = "1"
HAVE_LIBDB = "1"
HAVE_LIBDL = "1"
HAVE_LIBDLD = "0"
HAVE_LIBIEEE = "0"
HAVE_LIBINTL_H = "1"
HAVE_LIBSENDFILE = "0"
HAVE_LIBSQLITE3 = "1"
HAVE_LIBUTIL_H = "0"
HAVE_LINK = "1"
HAVE_LINKAT = "1"
HAVE_LINK_H = "1"
HAVE_LINUX_AUXVEC_H = "1"
HAVE_LINUX_CAN_BCM_H = "1"
HAVE_LINUX_CAN_H = "1"
HAVE_LINUX_CAN_J1939_H = "0"
HAVE_LINUX_CAN_RAW_FD_FRAMES = "1"
HAVE_LINUX_CAN_RAW_H = "1"
HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "0"
HAVE_LINUX_FS_H = "1"
HAVE_LINUX_LIMITS_H = "1"
HAVE_LINUX_MEMFD_H = "1"
HAVE_LINUX_NETFILTER_IPV4_H = "0"
HAVE_LINUX_NETLINK_H = "1"
HAVE_LINUX_QRTR_H = "0"
HAVE_LINUX_RANDOM_H = "1"
HAVE_LINUX_SCHED_H = "1"
HAVE_LINUX_SOUNDCARD_H = "1"
HAVE_LINUX_TIPC_H = "1"
HAVE_LINUX_VM_SOCKETS_H = "1"
HAVE_LINUX_WAIT_H = "1"
HAVE_LISTEN = "1"
HAVE_LOCKF = "1"
HAVE_LOG1P = "1"
HAVE_LOG2 = "1"
HAVE_LOGIN_TTY = "1"
HAVE_LONG_DOUBLE = "1"
HAVE_LSTAT = "1"
HAVE_LUTIMES = "1"
HAVE_LZMA_H = "0"
HAVE_MADVISE = "1"
HAVE_MAKEDEV = "1"
HAVE_MAXLOGNAME = "0"
HAVE_MBRTOWC = "1"
HAVE_MEMFD_CREATE = "0"
HAVE_MEMRCHR = "1"
HAVE_MINIX_CONFIG_H = "0"
HAVE_MKDIRAT = "1"
HAVE_MKFIFO = "1"
HAVE_MKFIFOAT = "1"
HAVE_MKNOD = "1"
HAVE_MKNODAT = "1"
HAVE_MKTIME = "1"
HAVE_MMAP = "1"
HAVE_MREMAP = "1"
HAVE_NANOSLEEP = "1"
HAVE_NCURSES = "0"
HAVE_NCURSESW = "0"
HAVE_NCURSESW_CURSES_H = "1"
HAVE_NCURSESW_NCURSES_H = "1"
HAVE_NCURSESW_PANEL_H = "1"
HAVE_NCURSES_CURSES_H = "0"
HAVE_NCURSES_H = "1"
HAVE_NCURSES_NCURSES_H = "0"
HAVE_NCURSES_PANEL_H = "0"
HAVE_NDBM_H = "0"
HAVE_NDIR_H = "0"
HAVE_NETCAN_CAN_H = "0"
HAVE_NETDB_H = "1"
HAVE_NETINET_IN_H = "1"
HAVE_NETLINK_NETLINK_H = "0"
HAVE_NETPACKET_PACKET_H = "1"
HAVE_NET_ETHERNET_H = "1"
HAVE_NET_IF_H = "1"
HAVE_NICE = "1"
HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0"
HAVE_OPENAT = "1"
HAVE_OPENDIR = "1"
HAVE_OPENPTY = "1"
HAVE_PANEL = "0"
HAVE_PANELW = "0"
HAVE_PANEL_H = "1"
HAVE_PATHCONF = "1"
HAVE_PAUSE = "1"
HAVE_PIPE = "1"
HAVE_PIPE2 = "1"
HAVE_PLOCK = "0"
HAVE_POLL = "1"
HAVE_POLL_H = "1"
HAVE_POSIX_FADVISE = "1"
HAVE_POSIX_FALLOCATE = "1"
HAVE_POSIX_OPENPT = "1"
HAVE_POSIX_SPAWN = "1"
HAVE_POSIX_SPAWNP = "1"
HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP = "0"
HAVE_PREAD = "1"
HAVE_PREADV = "1"
HAVE_PREADV2 = "0"
HAVE_PRLIMIT = "1"
HAVE_PROCESS_H = "0"
HAVE_PROCESS_VM_READV = "1"
HAVE_PROTOTYPES = "1"
HAVE_PTHREAD_CONDATTR_SETCLOCK = "1"
HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP = "0"
HAVE_PTHREAD_DESTRUCTOR = "0"
HAVE_PTHREAD_GETATTR_NP = "1"
HAVE_PTHREAD_GETCPUCLOCKID = "1"
HAVE_PTHREAD_GETNAME_NP = "1"
HAVE_PTHREAD_GET_NAME_NP = "0"
HAVE_PTHREAD_H = "1"
HAVE_PTHREAD_INIT = "0"
HAVE_PTHREAD_KILL = "1"
HAVE_PTHREAD_SETNAME_NP = "1"
HAVE_PTHREAD_SET_NAME_NP = "0"
HAVE_PTHREAD_SIGMASK = "1"
HAVE_PTHREAD_STUBS = "0"
HAVE_PTSNAME = "1"
HAVE_PTSNAME_R = "1"
HAVE_PTY_H = "1"
HAVE_PWRITE = "1"
HAVE_PWRITEV = "1"
HAVE_PWRITEV2 = "0"
HAVE_READLINE_READLINE_H = "0"
HAVE_READLINK = "1"
HAVE_READLINKAT = "1"
HAVE_READV = "1"
HAVE_REALPATH = "1"
HAVE_RECVFROM = "1"
HAVE_RENAMEAT = "1"
HAVE_RL_APPEND_HISTORY = "1"
HAVE_RL_CATCH_SIGNAL = "1"
HAVE_RL_COMPDISP_FUNC_T = "1"
HAVE_RL_COMPLETION_APPEND_CHARACTER = "1"
HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK = "1"
HAVE_RL_COMPLETION_MATCHES = "1"
HAVE_RL_COMPLETION_SUPPRESS_APPEND = "1"
HAVE_RL_PRE_INPUT_HOOK = "1"
HAVE_RL_RESIZE_TERMINAL = "1"
HAVE_RTPSPAWN = "0"
HAVE_SCHED_GET_PRIORITY_MAX = "1"
HAVE_SCHED_H = "1"
HAVE_SCHED_RR_GET_INTERVAL = "1"
HAVE_SCHED_SETAFFINITY = "1"
HAVE_SCHED_SETPARAM = "1"
HAVE_SCHED_SETSCHEDULER = "1"
HAVE_SEM_CLOCKWAIT = "0"
HAVE_SEM_GETVALUE = "1"
HAVE_S