PyO3 / maturin

Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
https://maturin.rs
Apache License 2.0
3.87k stars 268 forks source link

NetBSD support #703

Closed 0-wiz-0 closed 2 years ago

0-wiz-0 commented 2 years ago

Bug Description

I built and installed maturin to build orjson, but when I tried that, it reported that my operating system Netbsd was not supported. Please add support for NetBSD, rust supports it officially (see e.g. https://forge.rust-lang.org/infra/other-installation-methods.html).

Your Python version (python -V)

python 3.9.9

Your pip version (pip -V)

n/a

What bindings you're using

No response

Does cargo build work?

If on windows, have you checked that you aren't accidentally using unix path (those with the forward slash /)?

Steps to Reproduce

Try building orjson on NetBSD.

messense commented 2 years ago

I'd love to add NetBSD support but I don't have a NetBSD environment. Can you paste the output of python3 -m sysconfig here?

0-wiz-0 commented 2 years ago

Sure! (If you start with the FreeBSD support, you're usually not far off.)

Platform: "netbsd-9.99.92-amd64"
Python version: "3.9"
Current installation scheme: "posix_prefix"

Paths: 
    data = "/usr/pkg"
    include = "/usr/pkg/include/python3.9"
    platinclude = "/usr/pkg/include/python3.9"
    platlib = "/usr/pkg/lib/python3.9/site-packages"
    platstdlib = "/usr/pkg/lib/python3.9"
    purelib = "/usr/pkg/lib/python3.9/site-packages"
    scripts = "/usr/pkg/bin"
    stdlib = "/usr/pkg/lib/python3.9"

Variables: 
    ABIFLAGS = ""
    AC_APPLE_UNIVERSAL_BUILD = "0"
    AIX_BUILDDATE = "0"
    AIX_GENUINE_CPLUSPLUS = "0"
    ALT_SOABI = "0"
    ANDROID_API_LEVEL = "0"
    AR = "ar"
    ARFLAGS = "rcs"
    BASECFLAGS = "-Wno-unused-result -Wsign-compare"
    BASECPPFLAGS = ""
    BASEMODLIBS = ""
    BINDIR = "/usr/pkg/bin"
    BINLIBDEST = "/usr/pkg/lib/python3.9"
    BLDLIBRARY = "-L. -lpython3.9"
    BLDSHARED = "gcc -pthread -shared -L. -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib"
    BUILDEXE = ""
    BUILDPYTHON = "python"
    BUILD_GNU_TYPE = "x86_64--netbsd"
    BYTESTR_DEPS = "\"
    CC = "gcc -pthread"
    CCSHARED = "-fPIC"
    CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include"
    CFLAGSFORSHARED = "-fPIC"
    CFLAGS_ALIASING = ""
    CFLAGS_NODIST = ""
    CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
    CONFIGURE_CFLAGS = "-O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include"
    CONFIGURE_CFLAGS_NODIST = "-std=gnu99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden"
    CONFIGURE_CPPFLAGS = "-g -I/usr/include -I/usr/pkg/include"
    CONFIGURE_LDFLAGS = "-Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib"
    CONFIGURE_LDFLAGS_NODIST = ""
    CONFIG_ARGS = "'--enable-shared' '--with-openssl=/usr' '--with-system-ffi' '--without-ensurepip' '--without-pymalloc' '--prefix=/usr/pkg' '--build=x86_64--netbsd' '--host=x86_64--netbsd' '--mandir=/usr/pkg/man' '--enable-option-checking=yes' 'build_alias=x86_64--netbsd' 'host_alias=x86_64--netbsd' 'CC=gcc' 'CFLAGS=-O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include' 'LDFLAGS=-Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib' 'LIBS=' 'CPPFLAGS=-g -I/usr/include -I/usr/pkg/include' 'PKG_CONFIG=/scratch/lang/python39/work/.tools/bin/pkg-config' 'PKG_CONFIG_PATH=' 'PKG_CONFIG_LIBDIR=/scratch/lang/python39/work/.buildlink/lib/pkgconfig:/scratch/lang/python39/work/.buildlink/share/pkgconfig'"
    CONFINCLUDEDIR = "/usr/pkg/include"
    CONFINCLUDEPY = "/usr/pkg/include/python3.9"
    COREPYTHONPATH = ""
    COVERAGE_INFO = "/scratch/lang/python39/work/Python-3.9.9/coverage.info"
    COVERAGE_REPORT = "/scratch/lang/python39/work/Python-3.9.9/lcov-report"
    COVERAGE_REPORT_OPTIONS = "--no-branch-coverage --title "CPython lcov report""
    CPPFLAGS = "-I. -I./Include -g -I/usr/include -I/usr/pkg/include -g -I/usr/include -I/usr/pkg/include"
    CXX = "c++ -pthread"
    DESTDIRS = "/usr/pkg /usr/pkg/lib /usr/pkg/lib/python3.9 /usr/pkg/lib/python3.9/lib-dynload"
    DESTLIB = "/usr/pkg/lib/python3.9"
    DESTPATH = ""
    DESTSHARED = "/usr/pkg/lib/python3.9/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"
    DTRACE = ""
    DTRACE_DEPS = "\"
    DTRACE_HEADERS = ""
    DTRACE_OBJS = ""
    DYNLOADFILE = "dynload_shlib.o"
    ENABLE_IPV6 = "1"
    ENSUREPIP = "no"
    EXE = ""
    EXEMODE = "755"
    EXPORTSFROM = ""
    EXPORTSYMS = ""
    EXTRATESTOPTS = ""
    EXTRA_CFLAGS = ""
    EXT_SUFFIX = ".so"
    FILEMODE = "644"
    FLOAT_WORDS_BIGENDIAN = "0"
    FLOCK_NEEDS_LIBBSD = "0"
    GETPGRP_HAVE_ARG = "0"
    GITBRANCH = ""
    GITTAG = ""
    GITVERSION = ""
    GNULD = "yes"
    HAVE_ACCEPT4 = "1"
    HAVE_ACOSH = "1"
    HAVE_ADDRINFO = "1"
    HAVE_ALARM = "1"
    HAVE_ALIGNED_REQUIRED = "0"
    HAVE_ALLOCA_H = "0"
    HAVE_ALTZONE = "0"
    HAVE_ASINH = "1"
    HAVE_ASM_TYPES_H = "0"
    HAVE_ATANH = "1"
    HAVE_BIND_TEXTDOMAIN_CODESET = "1"
    HAVE_BLUETOOTH_BLUETOOTH_H = "0"
    HAVE_BLUETOOTH_H = "1"
    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_CHFLAGS = "1"
    HAVE_CHOWN = "1"
    HAVE_CHROOT = "1"
    HAVE_CLOCK = "1"
    HAVE_CLOCK_GETRES = "1"
    HAVE_CLOCK_GETTIME = "1"
    HAVE_CLOCK_SETTIME = "1"
    HAVE_COMPUTED_GOTOS = "1"
    HAVE_CONFSTR = "1"
    HAVE_CONIO_H = "0"
    HAVE_COPYSIGN = "1"
    HAVE_COPY_FILE_RANGE = "0"
    HAVE_CRYPT_H = "0"
    HAVE_CRYPT_R = "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_DECL_ISFINITE = "1"
    HAVE_DECL_ISINF = "1"
    HAVE_DECL_ISNAN = "1"
    HAVE_DECL_RTLD_DEEPBIND = "0"
    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_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_DLFCN_H = "1"
    HAVE_DLOPEN = "1"
    HAVE_DUP2 = "1"
    HAVE_DUP3 = "1"
    HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0"
    HAVE_DYNAMIC_LOADING = "1"
    HAVE_ENDIAN_H = "1"
    HAVE_EPOLL = "0"
    HAVE_EPOLL_CREATE1 = "0"
    HAVE_ERF = "1"
    HAVE_ERFC = "1"
    HAVE_ERRNO_H = "1"
    HAVE_EXECV = "1"
    HAVE_EXPLICIT_BZERO = "0"
    HAVE_EXPLICIT_MEMSET = "1"
    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_FINITE = "1"
    HAVE_FLOCK = "1"
    HAVE_FORK = "1"
    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 = "0"
    HAVE_FTRUNCATE = "1"
    HAVE_FUTIMENS = "1"
    HAVE_FUTIMES = "1"
    HAVE_FUTIMESAT = "0"
    HAVE_GAI_STRERROR = "1"
    HAVE_GAMMA = "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_GETADDRINFO = "1"
    HAVE_GETC_UNLOCKED = "1"
    HAVE_GETENTROPY = "0"
    HAVE_GETGRGID_R = "1"
    HAVE_GETGRNAM_R = "1"
    HAVE_GETGROUPLIST = "1"
    HAVE_GETGROUPS = "1"
    HAVE_GETHOSTBYNAME = "0"
    HAVE_GETHOSTBYNAME_R = "1"
    HAVE_GETHOSTBYNAME_R_3_ARG = "0"
    HAVE_GETHOSTBYNAME_R_5_ARG = "0"
    HAVE_GETHOSTBYNAME_R_6_ARG = "1"
    HAVE_GETITIMER = "1"
    HAVE_GETLOADAVG = "1"
    HAVE_GETLOGIN = "1"
    HAVE_GETNAMEINFO = "1"
    HAVE_GETPAGESIZE = "1"
    HAVE_GETPEERNAME = "1"
    HAVE_GETPGID = "1"
    HAVE_GETPGRP = "1"
    HAVE_GETPID = "1"
    HAVE_GETPRIORITY = "1"
    HAVE_GETPWENT = "1"
    HAVE_GETPWNAM_R = "1"
    HAVE_GETPWUID_R = "1"
    HAVE_GETRANDOM = "1"
    HAVE_GETRANDOM_SYSCALL = "0"
    HAVE_GETRESGID = "0"
    HAVE_GETRESUID = "0"
    HAVE_GETSID = "1"
    HAVE_GETSPENT = "0"
    HAVE_GETSPNAM = "0"
    HAVE_GETWD = "1"
    HAVE_GLIBC_MEMMOVE_BUG = "0"
    HAVE_GRP_H = "1"
    HAVE_HSTRERROR = "1"
    HAVE_HTOLE64 = "1"
    HAVE_HYPOT = "1"
    HAVE_IEEEFP_H = "1"
    HAVE_IF_NAMEINDEX = "1"
    HAVE_INET_ATON = "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 = "1"
    HAVE_LANGINFO_H = "1"
    HAVE_LARGEFILE_SUPPORT = "0"
    HAVE_LCHFLAGS = "1"
    HAVE_LCHMOD = "1"
    HAVE_LCHOWN = "1"
    HAVE_LGAMMA = "1"
    HAVE_LIBDL = "0"
    HAVE_LIBDLD = "0"
    HAVE_LIBIEEE = "0"
    HAVE_LIBINTL_H = "1"
    HAVE_LIBREADLINE = "1"
    HAVE_LIBRESOLV = "0"
    HAVE_LIBSENDFILE = "0"
    HAVE_LIBUTIL_H = "0"
    HAVE_LIBUUID = "1"
    HAVE_LINK = "1"
    HAVE_LINKAT = "1"
    HAVE_LINUX_CAN_BCM_H = "0"
    HAVE_LINUX_CAN_H = "0"
    HAVE_LINUX_CAN_J1939_H = "0"
    HAVE_LINUX_CAN_RAW_FD_FRAMES = "0"
    HAVE_LINUX_CAN_RAW_H = "0"
    HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "0"
    HAVE_LINUX_MEMFD_H = "0"
    HAVE_LINUX_NETLINK_H = "0"
    HAVE_LINUX_QRTR_H = "0"
    HAVE_LINUX_RANDOM_H = "0"
    HAVE_LINUX_TIPC_H = "0"
    HAVE_LINUX_VM_SOCKETS_H = "0"
    HAVE_LINUX_WAIT_H = "0"
    HAVE_LOCKF = "1"
    HAVE_LOG1P = "1"
    HAVE_LOG2 = "1"
    HAVE_LONG_DOUBLE = "1"
    HAVE_LSTAT = "1"
    HAVE_LUTIMES = "1"
    HAVE_MADVISE = "1"
    HAVE_MAKEDEV = "1"
    HAVE_MBRTOWC = "1"
    HAVE_MEMFD_CREATE = "0"
    HAVE_MEMORY_H = "1"
    HAVE_MEMRCHR = "1"
    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_NCURSES_H = "0"
    HAVE_NDIR_H = "0"
    HAVE_NETCAN_CAN_H = "1"
    HAVE_NETPACKET_PACKET_H = "0"
    HAVE_NET_IF_H = "1"
    HAVE_NICE = "1"
    HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0"
    HAVE_OPENAT = "1"
    HAVE_OPENPTY = "1"
    HAVE_PATHCONF = "1"
    HAVE_PAUSE = "1"
    HAVE_PIPE2 = "1"
    HAVE_PLOCK = "0"
    HAVE_POLL = "1"
    HAVE_POLL_H = "1"
    HAVE_POSIX_FADVISE = "1"
    HAVE_POSIX_FALLOCATE = "1"
    HAVE_POSIX_SPAWN = "1"
    HAVE_POSIX_SPAWNP = "1"
    HAVE_PREAD = "1"
    HAVE_PREADV = "1"
    HAVE_PREADV2 = "0"
    HAVE_PRLIMIT = "0"
    HAVE_PROCESS_H = "0"
    HAVE_PROTOTYPES = "1"
    HAVE_PTHREAD_CONDATTR_SETCLOCK = "1"
    HAVE_PTHREAD_DESTRUCTOR = "0"
    HAVE_PTHREAD_GETCPUCLOCKID = "1"
    HAVE_PTHREAD_H = "1"
    HAVE_PTHREAD_INIT = "0"
    HAVE_PTHREAD_KILL = "1"
    HAVE_PTHREAD_SIGMASK = "1"
    HAVE_PTY_H = "0"
    HAVE_PWRITE = "1"
    HAVE_PWRITEV = "1"
    HAVE_PWRITEV2 = "0"
    HAVE_READLINK = "1"
    HAVE_READLINKAT = "1"
    HAVE_READV = "1"
    HAVE_REALPATH = "1"
    HAVE_RENAMEAT = "1"
    HAVE_RL_APPEND_HISTORY = "1"
    HAVE_RL_CATCH_SIGNAL = "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_ROUND = "1"
    HAVE_RTPSPAWN = "0"
    HAVE_SCHED_GET_PRIORITY_MAX = "1"
    HAVE_SCHED_H = "1"
    HAVE_SCHED_RR_GET_INTERVAL = "1"
    HAVE_SCHED_SETAFFINITY = "0"
    HAVE_SCHED_SETPARAM = "1"
    HAVE_SCHED_SETSCHEDULER = "1"
    HAVE_SEM_CLOCKWAIT = "0"
    HAVE_SEM_GETVALUE = "1"
    HAVE_SEM_OPEN = "1"
    HAVE_SEM_TIMEDWAIT = "1"
    HAVE_SEM_UNLINK = "1"
    HAVE_SENDFILE = "0"
    HAVE_SETEGID = "1"
    HAVE_SETEUID = "1"
    HAVE_SETGID = "1"
    HAVE_SETGROUPS = "1"
    HAVE_SETHOSTNAME = "1"
    HAVE_SETITIMER = "1"
    HAVE_SETLOCALE = "1"
    HAVE_SETPGID = "1"
    HAVE_SETPGRP = "1"
    HAVE_SETPRIORITY = "1"
    HAVE_SETREGID = "1"
    HAVE_SETRESGID = "0"
    HAVE_SETRESUID = "0"
    HAVE_SETREUID = "1"
    HAVE_SETSID = "1"
    HAVE_SETUID = "1"
    HAVE_SETVBUF = "1"
    HAVE_SHADOW_H = "0"
    HAVE_SHM_OPEN = "1"
    HAVE_SHM_UNLINK = "1"
    HAVE_SIGACTION = "1"
    HAVE_SIGALTSTACK = "1"
    HAVE_SIGFILLSET = "1"
    HAVE_SIGINFO_T_SI_BAND = "1"
    HAVE_SIGINTERRUPT = "1"
    HAVE_SIGNAL_H = "1"
    HAVE_SIGPENDING = "1"
    HAVE_SIGRELSE = "1"
    HAVE_SIGTIMEDWAIT = "1"
    HAVE_SIGWAIT = "1"
    HAVE_SIGWAITINFO = "1"
    HAVE_SNPRINTF = "1"
    HAVE_SOCKADDR_ALG = "0"
    HAVE_SOCKADDR_SA_LEN = "1"
    HAVE_SOCKADDR_STORAGE = "1"
    HAVE_SOCKETPAIR = "1"
    HAVE_SPAWN_H = "1"
    HAVE_SSIZE_T = "1"
    HAVE_STATVFS = "1"
    HAVE_STAT_TV_NSEC = "1"
    HAVE_STAT_TV_NSEC2 = "1"
    HAVE_STDARG_PROTOTYPES = "1"
    HAVE_STDINT_H = "1"
    HAVE_STDLIB_H = "1"
    HAVE_STD_ATOMIC = "1"
    HAVE_STRDUP = "1"
    HAVE_STRFTIME = "1"
    HAVE_STRINGS_H = "1"
    HAVE_STRING_H = "1"
    HAVE_STRLCPY = "1"
    HAVE_STROPTS_H = "0"
    HAVE_STRSIGNAL = "1"
    HAVE_STRUCT_PASSWD_PW_GECOS = "1"
    HAVE_STRUCT_PASSWD_PW_PASSWD = "1"
    HAVE_STRUCT_STAT_ST_BIRTHTIME = "1"
    HAVE_STRUCT_STAT_ST_BLKSIZE = "1"
    HAVE_STRUCT_STAT_ST_BLOCKS = "1"
    HAVE_STRUCT_STAT_ST_FLAGS = "1"
    HAVE_STRUCT_STAT_ST_GEN = "1"
    HAVE_STRUCT_STAT_ST_RDEV = "1"
    HAVE_STRUCT_TM_TM_ZONE = "1"
    HAVE_SYMLINK = "1"
    HAVE_SYMLINKAT = "1"
    HAVE_SYNC = "1"
    HAVE_SYSCONF = "1"
    HAVE_SYSEXITS_H = "1"
    HAVE_SYS_AUDIOIO_H = "1"
    HAVE_SYS_BSDTTY_H = "0"
    HAVE_SYS_DEVPOLL_H = "0"
    HAVE_SYS_DIR_H = "0"
    HAVE_SYS_ENDIAN_H = "1"
    HAVE_SYS_EPOLL_H = "0"
    HAVE_SYS_EVENT_H = "1"
    HAVE_SYS_FILE_H = "1"
    HAVE_SYS_IOCTL_H = "1"
    HAVE_SYS_KERN_CONTROL_H = "0"
    HAVE_SYS_LOADAVG_H = "0"
    HAVE_SYS_LOCK_H = "1"
    HAVE_SYS_MEMFD_H = "0"
    HAVE_SYS_MKDEV_H = "0"
    HAVE_SYS_MMAN_H = "1"
    HAVE_SYS_MODEM_H = "0"
    HAVE_SYS_NDIR_H = "0"
    HAVE_SYS_PARAM_H = "1"
    HAVE_SYS_POLL_H = "1"
    HAVE_SYS_RANDOM_H = "1"
    HAVE_SYS_RESOURCE_H = "1"
    HAVE_SYS_SELECT_H = "1"
    HAVE_SYS_SENDFILE_H = "0"
    HAVE_SYS_SOCKET_H = "1"
    HAVE_SYS_STATVFS_H = "1"
    HAVE_SYS_STAT_H = "1"
    HAVE_SYS_SYSCALL_H = "1"
    HAVE_SYS_SYSMACROS_H = "0"
    HAVE_SYS_SYS_DOMAIN_H = "0"
    HAVE_SYS_TERMIO_H = "0"
    HAVE_SYS_TIMES_H = "1"
    HAVE_SYS_TIME_H = "1"
    HAVE_SYS_TYPES_H = "1"
    HAVE_SYS_UIO_H = "1"
    HAVE_SYS_UN_H = "1"
    HAVE_SYS_UTSNAME_H = "1"
    HAVE_SYS_WAIT_H = "1"
    HAVE_SYS_XATTR_H = "1"
    HAVE_TCGETPGRP = "1"
    HAVE_TCSETPGRP = "1"
    HAVE_TEMPNAM = "1"
    HAVE_TERMIOS_H = "1"
    HAVE_TERM_H = "1"
    HAVE_TGAMMA = "1"
    HAVE_TIMEGM = "1"
    HAVE_TIMES = "1"
    HAVE_TMPFILE = "1"
    HAVE_TMPNAM = "1"
    HAVE_TMPNAM_R = "0"
    HAVE_TM_ZONE = "1"
    HAVE_TRUNCATE = "1"
    HAVE_TZNAME = "0"
    HAVE_UCS4_TCL = "0"
    HAVE_UNAME = "1"
    HAVE_UNISTD_H = "1"
    HAVE_UNLINKAT = "1"
    HAVE_USABLE_WCHAR_T = "0"
    HAVE_UTIL_H = "1"
    HAVE_UTIMENSAT = "1"
    HAVE_UTIMES = "1"
    HAVE_UTIME_H = "1"
    HAVE_UUID_CREATE = "1"
    HAVE_UUID_ENC_BE = "1"
    HAVE_UUID_GENERATE_TIME_SAFE = "1"
    HAVE_UUID_H = "1"
    HAVE_UUID_UUID_H = "1"
    HAVE_WAIT3 = "1"
    HAVE_WAIT4 = "1"
    HAVE_WAITID = "1"
    HAVE_WAITPID = "1"
    HAVE_WCHAR_H = "1"
    HAVE_WCSCOLL = "1"
    HAVE_WCSFTIME = "1"
    HAVE_WCSXFRM = "1"
    HAVE_WMEMCMP = "1"
    HAVE_WORKING_TZSET = "1"
    HAVE_WRITEV = "1"
    HAVE_X509_VERIFY_PARAM_SET1_HOST = "1"
    HAVE_ZLIB_COPY = "1"
    HAVE__GETPTY = "0"
    HOST_GNU_TYPE = "x86_64--netbsd"
    INCLDIRSTOMAKE = "/usr/pkg/include /usr/pkg/include /usr/pkg/include/python3.9 /usr/pkg/include/python3.9"
    INCLUDEDIR = "/usr/pkg/include"
    INCLUDEPY = "/usr/pkg/include/python3.9"
    INSTALL = "/usr/bin/install -c -o pbulk -g builder"
    INSTALL_DATA = "/usr/bin/install -c -o pbulk -g builder -m 644"
    INSTALL_PROGRAM = "/usr/bin/install -c  -o pbulk -g builder -m 755"
    INSTALL_SCRIPT = "/usr/bin/install -c -o pbulk -g builder -m 755"
    INSTALL_SHARED = "/usr/bin/install -c -o pbulk -g builder -m 755"
    INSTSONAME = "libpython3.9.so.1.0"
    IO_H = "Modules/_io/_iomodule.h"
    IO_OBJS = "\"
    LDCXXSHARED = "c++ -pthread -shared"
    LDFLAGS = "-L. -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib"
    LDFLAGS_NODIST = ""
    LDLIBRARY = "libpython3.9.so"
    LDLIBRARYDIR = ""
    LDSHARED = "gcc -pthread -shared -L. -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib"
    LDVERSION = "3.9"
    LIBC = ""
    LIBDEST = "/usr/pkg/lib/python3.9"
    LIBDIR = "/usr/pkg/lib"
    LIBFFI_INCLUDEDIR = "/usr/pkg/include"
    LIBM = "-lm"
    LIBOBJDIR = "Python/"
    LIBOBJS = ""
    LIBPC = "/usr/pkg/lib/pkgconfig"
    LIBPL = "/usr/pkg/lib/python3.9/config-3.9"
    LIBPYTHON = ""
    LIBRARY = "libpython3.9.a"
    LIBRARY_OBJS = "\"
    LIBRARY_OBJS_OMIT_FROZEN = "\"
    LIBS = "-lcrypt -lintl -lpthread  -lutil -lm"
    LIBSUBDIRS = "tkinter tkinter/test tkinter/test/test_tkinter \"
    LINKCC = "gcc -pthread"
    LINKFORSHARED = "-Wl,--export-dynamic"
    LIPO_32BIT_FLAGS = ""
    LIPO_INTEL64_FLAGS = ""
    LLVM_PROF_ERR = "no"
    LLVM_PROF_FILE = ""
    LLVM_PROF_MERGER = "true"
    LN = "/bin/ln"
    LOCALMODLIBS = ""
    MACHDEP = "netbsd9"
    MACHDEP_OBJS = ""
    MACHDESTLIB = "/usr/pkg/lib/python3.9"
    MACOSX_DEPLOYMENT_TARGET = ""
    MAINCC = "gcc -pthread"
    MAJOR_IN_MKDEV = "0"
    MAJOR_IN_SYSMACROS = "0"
    MAKESETUP = "./Modules/makesetup"
    MANDIR = "/usr/pkg/man"
    MKDIR_P = "/bin/mkdir -p"
    MODBUILT_NAMES = "posix  errno  pwd  _sre  _codecs  _weakref  _functools  _operator  _collections  _abc  itertools  atexit  _signal  _stat  time  _thread  _locale  _io  faulthandler  _tracemalloc  _peg_parser  _symtable  xxsubtype"
    MODDISABLED_NAMES = ""
    MODLIBS = ""
    MODOBJS = "Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o  Modules/_sre.o  Modules/_codecsmodule.o  Modules/_weakref.o  Modules/_functoolsmodule.o  Modules/_operator.o  Modules/_collectionsmodule.o  Modules/_abc.o  Modules/itertoolsmodule.o  Modules/atexitmodule.o  Modules/signalmodule.o  Modules/_stat.o  Modules/timemodule.o  Modules/_threadmodule.o  Modules/_localemodule.o  Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o  Modules/faulthandler.o  Modules/_tracemalloc.o  Modules/_peg_parser.o  Modules/symtablemodule.o  Modules/xxsubtype.o"
    MODULE_OBJS = "\"
    MULTIARCH = ""
    MULTIARCH_CPPFLAGS = ""
    MVWDELCH_IS_EXPRESSION = "1"
    NO_AS_NEEDED = "-Wl,--no-as-needed"
    OBJECT_OBJS = "\"
    OPENSSL_INCLUDES = "-I/usr/include"
    OPENSSL_LDFLAGS = "-L/usr/lib"
    OPENSSL_LIBS = "-lssl -lcrypto"
    OPT = "-DNDEBUG -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include"
    OTHER_LIBTOOL_OPT = ""
    PACKAGE_BUGREPORT = "0"
    PACKAGE_NAME = "0"
    PACKAGE_STRING = "0"
    PACKAGE_TARNAME = "0"
    PACKAGE_URL = "0"
    PACKAGE_VERSION = "0"
    PARSER_HEADERS = "\"
    PARSER_OBJS = "\ \ Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o"
    PEGEN_HEADERS = "\"
    PEGEN_OBJS = "\"
    PGO_PROF_GEN_FLAG = "-fprofile-generate"
    PGO_PROF_USE_FLAG = "-fprofile-use -fprofile-correction"
    PLATLIBDIR = "lib"
    POBJS = "\"
    POSIX_SEMAPHORES_NOT_ENABLED = "0"
    PROFILE_TASK = "-m test --pgo"
    PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1"
    PTHREAD_SYSTEM_SCHED_SUPPORTED = "1"
    PURIFY = ""
    PY3LIBRARY = ""
    PYLONG_BITS_IN_DIGIT = "0"
    PYTHON = "python"
    PYTHONFRAMEWORK = ""
    PYTHONFRAMEWORKDIR = "no-framework"
    PYTHONFRAMEWORKINSTALLDIR = ""
    PYTHONFRAMEWORKPREFIX = ""
    PYTHONPATH = ""
    PYTHON_FOR_BUILD = "./python -E"
    PYTHON_HEADERS = "\"
    PYTHON_OBJS = "\"
    PY_BUILTIN_HASHLIB_HASHES = ""md5,sha1,sha256,sha512,sha3,blake2""
    PY_BUILTIN_MODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -std=gnu99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -g -I/usr/include -I/usr/pkg/include -g -I/usr/include -I/usr/pkg/include -fPIC -DPy_BUILD_CORE_BUILTIN"
    PY_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include"
    PY_CFLAGS_NODIST = "-std=gnu99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal"
    PY_COERCE_C_LOCALE = "1"
    PY_CORE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -std=gnu99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -g -I/usr/include -I/usr/pkg/include -g -I/usr/include -I/usr/pkg/include -fPIC -DPy_BUILD_CORE"
    PY_CORE_LDFLAGS = "-L. -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib"
    PY_CPPFLAGS = "-I. -I./Include -g -I/usr/include -I/usr/pkg/include -g -I/usr/include -I/usr/pkg/include"
    PY_FORMAT_SIZE_T = ""z""
    PY_LDFLAGS = "-L. -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -Wl,-zrelro -Wl,-znow -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib"
    PY_LDFLAGS_NODIST = ""
    PY_SSL_DEFAULT_CIPHERS = "1"
    PY_SSL_DEFAULT_CIPHER_STRING = "0"
    PY_STDMODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -O2 -g -fPIC -D_FORTIFY_SOURCE=2 -fstack-check -I/usr/include -I/usr/pkg/include -std=gnu99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -g -I/usr/include -I/usr/pkg/include -g -I/usr/include -I/usr/pkg/include -fPIC"
    Py_DEBUG = "0"
    Py_ENABLE_SHARED = "1"
    Py_HASH_ALGORITHM = "0"
    Py_TRACE_REFS = "0"
    QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \"
    READELF = "readelf"
    RESSRCDIR = "Mac/Resources/framework"
    RETSIGTYPE = "void"
    RUNSHARED = "LD_LIBRARY_PATH=/scratch/lang/python39/work/Python-3.9.9"
    SCRIPTDIR = "/usr/pkg/lib"
    SETPGRP_HAVE_ARG = "1"
    SHELL = "/bin/sh"
    SHLIBS = "-lcrypt -lintl -lpthread  -lutil -lm"
    SHLIB_SUFFIX = ".so"
    SHM_NEEDS_LIBRT = "1"
    SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0"
    SITEPATH = ""
    SIZEOF_DOUBLE = "8"
    SIZEOF_FLOAT = "4"
    SIZEOF_FPOS_T = "264"
    SIZEOF_INT = "4"
    SIZEOF_LONG = "8"
    SIZEOF_LONG_DOUBLE = "16"
    SIZEOF_LONG_LONG = "8"
    SIZEOF_OFF_T = "8"
    SIZEOF_PID_T = "4"
    SIZEOF_PTHREAD_KEY_T = "4"
    SIZEOF_PTHREAD_T = "8"
    SIZEOF_SHORT = "2"
    SIZEOF_SIZE_T = "8"
    SIZEOF_TIME_T = "8"
    SIZEOF_UINTPTR_T = "8"
    SIZEOF_VOID_P = "8"
    SIZEOF_WCHAR_T = "4"
    SIZEOF__BOOL = "1"
    SO = ".so"
    SOABI = "cpython-39"
    SRCDIRS = "Parser Parser/pegen Objects Python Modules Modules/_io Programs"
    SRC_GDB_HOOKS = "./Tools/gdb/libpython.py"
    STDC_HEADERS = "1"
    STRICT_SYSV_CURSES = "/* Don't use ncurses extensions */"
    STRIPFLAG = "-s"
    SUBDIRS = ""
    SUBDIRSTOO = "Include Lib Misc"
    SYSLIBS = "-lm"
    SYS_SELECT_WITH_SYS_TIME = "1"
    TCLTK_INCLUDES = ""
    TCLTK_LIBS = ""
    TESTOPTS = ""
    TESTPATH = ""
    TESTPYTHON = "LD_LIBRARY_PATH=/scratch/lang/python39/work/Python-3.9.9 ./python"
    TESTPYTHONOPTS = ""
    TESTRUNNER = "LD_LIBRARY_PATH=/scratch/lang/python39/work/Python-3.9.9 ./python ./Tools/scripts/run_tests.py"
    TESTTIMEOUT = "1200"
    TIMEMODULE_LIB = "0"
    TIME_WITH_SYS_TIME = "1"
    TM_IN_SYS_TIME = "0"
    TZPATH = "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
    UNICODE_DEPS = "\"
    UNIVERSALSDK = ""
    UPDATE_FILE = "python3 ./Tools/scripts/update_file.py"
    USE_COMPUTED_GOTOS = "0"
    VERSION = "3.9"
    WINDOW_HAS_FLAGS = "0"
    WITH_DECIMAL_CONTEXTVAR = "1"
    WITH_DOC_STRINGS = "1"
    WITH_DTRACE = "0"
    WITH_DYLD = "0"
    WITH_LIBINTL = "1"
    WITH_NEXT_FRAMEWORK = "0"
    WITH_PYMALLOC = "0"
    WITH_VALGRIND = "0"
    X87_DOUBLE_ROUNDING = "0"
    XMLLIBSUBDIRS = "xml xml/dom xml/etree xml/parsers xml/sax"
    abiflags = ""
    abs_builddir = "/scratch/lang/python39/work/Python-3.9.9"
    abs_srcdir = "/scratch/lang/python39/work/Python-3.9.9"
    base = "/usr/pkg"
    datarootdir = "/usr/pkg/share"
    exec_prefix = "/usr/pkg"
    installed_base = "/usr/pkg"
    installed_platbase = "/usr/pkg"
    platbase = "/usr/pkg"
    platlibdir = "lib"
    prefix = "/usr/pkg"
    projectbase = "/usr/pkg/bin"
    py_version = "3.9.9"
    py_version_nodot = "39"
    py_version_short = "3.9"
    srcdir = "/usr/pkg/lib/python3.9/config-3.9"
    userbase = "/home/wiz/.local"
messense commented 2 years ago

Thanks! Can you also paste the output of python3 -m pip debug --verbose? We need to know how to name the wheel.

0-wiz-0 commented 2 years ago

Sure:

pip version: pip 21.3.1 from /usr/pkg/lib/python3.9/site-packages/pip (python 3.9)
sys.version: 3.9.9 (main, Nov 16 2021, 16:04:00) 
[GCC 10.3.0]
sys.executable: /usr/pkg/bin/python3.9
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: netbsd9
sys.implementation:
  name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /usr/pkg/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
  CacheControl==0.12.6
  colorama==0.4.4
  distlib==0.3.3
  distro==1.6.0
  html5lib==1.1
  msgpack==1.0.2 (Unable to locate actual module version, using vendor.txt specified version)
  packaging==21.0
  pep517==0.12.0
  platformdirs==2.4.0
  progress==1.6
  pyparsing==2.4.7
  requests==2.26.0
  certifi==2021.05.30
  chardet==4.0.0
  idna==3.2
  urllib3==1.26.7
  resolvelib==0.8.0
  setuptools==44.0.0 (Unable to locate actual module version, using vendor.txt specified version)
  six==1.16.0
  tenacity==8.0.1 (Unable to locate actual module version, using vendor.txt specified version)
  tomli==1.0.3
  webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 33
  cp39-cp39-netbsd_9_99_92_amd64
  cp39-abi3-netbsd_9_99_92_amd64
  cp39-none-netbsd_9_99_92_amd64
  cp38-abi3-netbsd_9_99_92_amd64
  cp37-abi3-netbsd_9_99_92_amd64
  cp36-abi3-netbsd_9_99_92_amd64
  cp35-abi3-netbsd_9_99_92_amd64
  cp34-abi3-netbsd_9_99_92_amd64
  cp33-abi3-netbsd_9_99_92_amd64
  cp32-abi3-netbsd_9_99_92_amd64
  py39-none-netbsd_9_99_92_amd64
  py3-none-netbsd_9_99_92_amd64
  py38-none-netbsd_9_99_92_amd64
  py37-none-netbsd_9_99_92_amd64
  py36-none-netbsd_9_99_92_amd64
  py35-none-netbsd_9_99_92_amd64
  py34-none-netbsd_9_99_92_amd64
  py33-none-netbsd_9_99_92_amd64
  py32-none-netbsd_9_99_92_amd64
  py31-none-netbsd_9_99_92_amd64
  py30-none-netbsd_9_99_92_amd64
  cp39-none-any
  py39-none-any
  py3-none-any
  py38-none-any
  py37-none-any
  py36-none-any
  py35-none-any
  py34-none-any
  py33-none-any
  py32-none-any
  py31-none-any
  py30-none-any
messense commented 2 years ago

Can you try this branch to see if it works? https://github.com/messense/maturin/tree/netbsd

0-wiz-0 commented 2 years ago

That was fast, thank you!

I did try cargo build, which was successful, and then cargo test. The first time it seems I was missing virtualenv, so I installed that. Now it mostly works but I have two test failures:

> cargo test
    Finished test [unoptimized + debuginfo] target(s) in 0.11s
     Running unittests (target/debug/deps/maturin-a923ac55f435cad2)

running 24 tests
test build_options::test::test_extract_cargo_metadata_args ... ok
test auditwheel::policy::test::test_policy_musllinux_fixup_libc_so_name ... ok
test auditwheel::policy::test::test_policy_musllinux_tag ... ok
test build_options::test::test_get_min_python_minor ... ok
test auditwheel::policy::test::test_policy_manylinux_tag ... ok
test auditwheel::policy::test::test_load_policy ... ok
test metadata::test::test_path_to_content_type ... ok
test python_interpreter::test::test_calculate_macosx_platform_tag ... ok
test cargo_toml::test::test_old_classifier_works ... ok
test cargo_toml::test::test_metadata_from_cargo_toml ... ok
test build_options::test::test_old_extra_feature_args ... ok
test cargo_toml::test::test_metadata_from_cargo_toml_without_authors ... ok
test metadata::test::test_merge_metadata_from_pyproject_toml_with_customized_python_source_dir ... ok
test pyproject_toml::tests::test_warn_missing_maturin_version ... ok
test build_options::test::test_find_bridge_bin ... ok
test build_options::test::test_find_bridge_cffi ... ok
test metadata::test::test_merge_metadata_from_pyproject_toml ... ok
test metadata::test::test_metadata_from_cargo_toml_name_override ... ok
test metadata::test::test_metadata_from_cargo_toml ... ok
test build_options::test::test_find_bridge_pyo3_abi3 ... ok
test metadata::test::test_metadata_from_cargo_toml_rst ... ok
test build_options::test::test_find_bridge_pyo3 ... ok
test build_options::test::test_argument_splitting ... ok
test build_options::test::test_find_bridge_pyo3_feature ... ok

test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s

     Running unittests (target/debug/deps/maturin-2869307880cf2fdd)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/run.rs (target/debug/deps/run-cdac879093ea19b3)

running 20 tests
test locked_doesnt_build_without_cargo_lock ... ok
test abi3_without_version ... ok
test workspace_cargo_lock ... ok
test integration_hello_world ... ok
test integration_pyo3_pure ... FAILED
test integration_pyo3_mixed_py_subdir ... ok
test integration_pyo3_mixed_submodule ... ok
test integration_pyo3_mixed ... ok
test editable_pyo3_pure ... ok
test develop_pyo3_pure ... FAILED
Requirement already satisfied: cffi in ./test-crates/venvs/cffi-pure-develop/lib/python3.9/site-packages (1.15.0)
Requirement already satisfied: pycparser in ./test-crates/venvs/cffi-pure-develop/lib/python3.9/site-packages (from cffi) (2.21)
Requirement already satisfied: cffi in ./test-crates/venvs/cffi-mixed-develop/lib/python3.9/site-packages (1.15.0)
Requirement already satisfied: pycparser in ./test-crates/venvs/cffi-mixed-develop/lib/python3.9/site-packages (from cffi) (2.21)
Collecting boltons
  Using cached boltons-21.0.0-py2.py3-none-any.whl (193 kB)
Installing collected packages: boltons
Successfully installed boltons-21.0.0
test integration_cffi_mixed ... ok
test develop_hello_world ... ok
test integration_cffi_pure ... ok
test develop_cffi_pure ... ok
test develop_cffi_mixed ... ok
test editable_pyo3_mixed_py_subdir ... ok
test editable_pyo3_mixed ... ok
test develop_pyo3_mixed_submodule ... ok
test develop_pyo3_mixed has been running for over 60 seconds
test develop_pyo3_mixed_py_subdir has been running for over 60 seconds
test develop_pyo3_mixed_py_subdir ... ok
test develop_pyo3_mixed ... ok

failures:

---- integration_pyo3_pure stdout ----
🔗 Found pyo3 bindings with abi3 support for Python ≥ 3.6
🐍 Not using a specific python interpreter (With abi3, an interpreter is only required on windows)
📡 Using build options bindings from pyproject.toml
📖 Found type stub file at pyo3_pure.pyi
📦 Built wheel for abi3 Python ≥ 3.6 to /tmp/maturin/test-crates/pyo3-pure/target/wheels/pyo3_pure-2.1.2-cp36-abi3-netbsd_9_99_92_amd64.whl
pip install in /tmp/maturin/test-crates/venvs/pyo3-pure-3.9 failed running ["-m", "pip", "--disable-pip-version-check", "install", "--force-reinstall", "/tmp/maturin/test-crates/pyo3-pure/target/wheels/pyo3_pure-2.1.2-cp36-abi3-netbsd_9_99_92_amd64.whl"]: exit status: 2
--- Stdout:
Processing ./test-crates/pyo3-pure/target/wheels/pyo3_pure-2.1.2-cp36-abi3-netbsd_9_99_92_amd64.whl
--- Stderr:
ERROR: Exception:
Traceback (most recent call last):
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 164, in exc_logging_wrapper
    status = run_func(*args)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 338, in run
    requirement_set = resolver.resolve(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 73, in resolve
    collected = self.factory.collect_root_requirements(root_reqs)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 468, in collect_root_requirements
    req = self._make_requirement_from_install_req(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 430, in _make_requirement_from_install_req
    cand = self._make_candidate_from_link(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 201, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 281, in __init__
    super().__init__(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
    dist = self._prepare_distribution()
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 292, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 482, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 546, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 59, in _get_prepared_distribution
    return abstract_dist.get_metadata_distribution()
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py", line 26, in get_metadata_distribution
    return get_wheel_distribution(wheel, canonicalize_name(self.req.name))
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py", line 51, in get_wheel_distribution
    return Distribution.from_wheel(wheel, canonical_name)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py", line 37, in from_wheel
    with wheel.as_zipfile() as zf:
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/metadata/base.py", line 321, in as_zipfile
    return zipfile.ZipFile(self.location, allowZip64=True)
  File "/usr/pkg/lib/python3.9/zipfile.py", line 1257, in __init__
    self._RealGetContents()
  File "/usr/pkg/lib/python3.9/zipfile.py", line 1324, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
---

thread 'integration_pyo3_pure' panicked at 'pip install in /tmp/maturin/test-crates/venvs/pyo3-pure-3.9 failed running ["-m", "pip", "--disable-pip-version-check", "install", "--force-reinstall", "/tmp/maturin/test-crates/pyo3-pure/target/wheels/pyo3_pure-2.1.2-cp36-abi3-netbsd_9_99_92_amd64.whl"]: exit status: 2
--- Stdout:
Processing ./test-crates/pyo3-pure/target/wheels/pyo3_pure-2.1.2-cp36-abi3-netbsd_9_99_92_amd64.whl
--- Stderr:
ERROR: Exception:
Traceback (most recent call last):
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 164, in exc_logging_wrapper
    status = run_func(*args)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 338, in run
    requirement_set = resolver.resolve(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 73, in resolve
    collected = self.factory.collect_root_requirements(root_reqs)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 468, in collect_root_requirements
    req = self._make_requirement_from_install_req(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 430, in _make_requirement_from_install_req
    cand = self._make_candidate_from_link(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 201, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 281, in __init__
    super().__init__(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
    dist = self._prepare_distribution()
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 292, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 482, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 546, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 59, in _get_prepared_distribution
    return abstract_dist.get_metadata_distribution()
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py", line 26, in get_metadata_distribution
    return get_wheel_distribution(wheel, canonicalize_name(self.req.name))
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py", line 51, in get_wheel_distribution
    return Distribution.from_wheel(wheel, canonical_name)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py", line 37, in from_wheel
    with wheel.as_zipfile() as zf:
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-3.9/lib/python3.9/site-packages/pip/_internal/metadata/base.py", line 321, in as_zipfile
    return zipfile.ZipFile(self.location, allowZip64=True)
  File "/usr/pkg/lib/python3.9/zipfile.py", line 1257, in __init__
    self._RealGetContents()
  File "/usr/pkg/lib/python3.9/zipfile.py", line 1324, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
---
', tests/common/mod.rs:93:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- develop_pyo3_pure stdout ----
thread 'develop_pyo3_pure' panicked at 'Failed to install cffi: exit status: 2
---stdout:
Requirement already satisfied: pip in ./test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages (21.3.1)
Collecting cffi
  Using cached cffi-1.15.0.tar.gz (484 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: cffi
  Building wheel for cffi (setup.py): started
  Building wheel for cffi (setup.py): finished with status 'done'
  Created wheel for cffi: filename=cffi-1.15.0-cp39-cp39-netbsd_9_99_92_amd64.whl size=364478 sha256=1e7e22fcd09ca2a2ed0201ba39bc1d603af7b0020afb5e39634e464ec984888f
  Stored in directory: /home/wiz/.cache/pip/wheels/8e/0d/16/77c97b85a9f559c5412c85c129a2bae07c771d31e1beb03c40
---stderr:
ERROR: Exception:
Traceback (most recent call last):
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 164, in exc_logging_wrapper
    status = run_func(*args)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 360, in run
    _, build_failures = build(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/wheel_builder.py", line 346, in build
    wheel_file = _build_one(
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/wheel_builder.py", line 227, in _build_one
    _verify_one(req, wheel_path)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/wheel_builder.py", line 174, in _verify_one
    dist = get_wheel_distribution(FilesystemWheel(wheel_path), canonical_name)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py", line 51, in get_wheel_distribution
    return Distribution.from_wheel(wheel, canonical_name)
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py", line 37, in from_wheel
    with wheel.as_zipfile() as zf:
  File "/tmp/maturin/test-crates/venvs/pyo3-pure-develop/lib/python3.9/site-packages/pip/_internal/metadata/base.py", line 321, in as_zipfile
    return zipfile.ZipFile(self.location, allowZip64=True)
  File "/usr/pkg/lib/python3.9/zipfile.py", line 1257, in __init__
    self._RealGetContents()
  File "/usr/pkg/lib/python3.9/zipfile.py", line 1324, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
', tests/common/develop.rs:22:9

failures:
    develop_pyo3_pure
    integration_pyo3_pure

test result: FAILED. 18 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 66.95s

error: test failed, to rerun pass '--test run'

Am I missing another dependency or is there a bug here?

0-wiz-0 commented 2 years ago

Ah, found it in the middle, pyo3 is missing

0-wiz-0 commented 2 years ago

Ok, I need more guidance. I thought a pyo3 binary might be missing so I looked at https://github.com/PyO3/PyO3 but I'm not even sure how to make that build (I want to make a package for it for pkgsrc so I can install it from there). Or is there no pyo3 binary? I'm confused :)

messense commented 2 years ago

zipfile.BadZipFile: File is not a zip file

I've seen this error before, but it usually goes away when retry so I haven't found the root cause yet.

messense commented 2 years ago

704 shipped since v0.12.2. (The latest version is v0.12.3)