twisted-iocpsupport error when using pip on ubuntu / debian io.h missing

Question:

Receiving error:

 Building wheel for twisted-iocpsupport (PEP 517): started
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmpv8s6qz76 build_wheel /tmp/tmp9l8hgcva
       cwd: /tmp/pip-install-qsr4j4x_/twisted-iocpsupport
  Complete output (13 lines):
  running bdist_wheel
  running build
  running build_ext
  building 'twisted_iocpsupport.iocpsupport' extension
  creating build
  creating build/temp.linux-x86_64-3.8
  creating build/temp.linux-x86_64-3.8/twisted_iocpsupport
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Itwisted_iocpsupport -I/usr/include/pyth
on3.8 -c twisted_iocpsupport/iocpsupport.c -o build/temp.linux-x86_64-3.8/twisted_iocpsupport/iocpsupport.o
  twisted_iocpsupport/iocpsupport.c:631:10: fatal error: io.h: No such file or directory
    631 | #include "io.h"
        |          ^~~~~~
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for twisted-iocpsupport
  Building wheel for twisted-iocpsupport (PEP 517): finished with status 'error'

with

channels==3.0.3
daphne==3.0.1
Twisted==21.2.0
twisted-iocpsupport==1.0.1

In a docker environment:

FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get -y install python3 python3-pip

WORKDIR /usr/src/app

# Copy requirements
COPY requirements.txt ./

RUN pip3 install -r requirements.txt

also no chance on python:3.8 or debian:10.8
including python-dev in the apt command also does not help.

Not sure what type of io.h file is required and how to obtain it. On google nothing really pops up and in the 2500 open issues on twistedmatrix, I cannot find anything related to this. The release seems to be from today 1st March 2021. Same error on 1.0.0

Asked By: Richard

||

Answers:

twisted-iocpsupport is a package providing bindings to the Windows "I/O Completion Ports" APIs. These are Windows-only APIs.

You cannot use this package on Debian. Fortunately, you also don’t need to as you have access to a good Linux-based non-blocking I/O system – epoll – which is supported in Twisted without the use of any additional packages.

Answered By: Jean-Paul Calderone

if you are working on Amazon Linux Platform 2 then also it is not needed that twisted package dependencies it will throw error if you have used it in your dependencies as per screenshot given below .

enter image description here

Answered By: Ashish Anil Waykar
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.