Closed ramanagali closed 3 years ago
i am trying to install thriftpy2 in RHEL 8.2 Oopta(AWS Ec2 instance), getting below error. Please help to provide workaround/fix for this as this is one of the dependency for BentoML
$ pip install thriftpy2 Defaulting to user installation because normal site-packages is not writeable Collecting thriftpy2 Using cached thriftpy2-0.4.12.tar.gz (356 kB) Requirement already satisfied: ply<4.0,>=3.4 in /usr/lib/python3.6/site-packages (from thriftpy2) (3.9) Building wheels for collected packages: thriftpy2 Building wheel for thriftpy2 (setup.py) ... error ERROR: Command errored out with exit status 1: command: /bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-_loyb3ks cwd: /tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/ Complete output (96 lines): running bdist_wheel The [wheel] section is deprecated. Use [bdist_wheel] instead. running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/_compat.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/hook.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/http.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/rpc.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/server.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/thrift.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/tornado.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/utils.py -> build/lib.linux-x86_64-3.6/thriftpy2 creating build/lib.linux-x86_64-3.6/thriftpy2/contrib copying thriftpy2/contrib/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib creating build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/exc.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/lexer.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/parser.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser creating build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/binary.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/compact.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/exc.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/json.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/multiplex.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol creating build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/_ssl.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/socket.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/sslsocket.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/client.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/processor.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/rpc.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/server.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/socket.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking copying thriftpy2/contrib/tracking/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking copying thriftpy2/contrib/tracking/tracker.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/binary.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/compact.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/buffered.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/framed.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport creating build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered copying thriftpy2/transport/buffered/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered creating build/lib.linux-x86_64-3.6/thriftpy2/transport/framed copying thriftpy2/transport/framed/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport/framed creating build/lib.linux-x86_64-3.6/thriftpy2/transport/memory copying thriftpy2/transport/memory/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport/memory running egg_info writing thriftpy2.egg-info/PKG-INFO writing dependency_links to thriftpy2.egg-info/dependency_links.txt writing requirements to thriftpy2.egg-info/requires.txt writing top-level names to thriftpy2.egg-info/top_level.txt reading manifest file 'thriftpy2.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'thriftpy2.egg-info/SOURCES.txt' creating build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/protocol/cybin/cybin.c -> build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/protocol/cybin/cybin.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/protocol/cybin/endian_port.h -> build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/transport/cybase.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/cybase.pxd -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/cybase.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/contrib/tracking/tracking.thrift -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking copying thriftpy2/transport/buffered/cybuffered.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered copying thriftpy2/transport/buffered/cybuffered.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered copying thriftpy2/transport/framed/cyframed.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport/framed copying thriftpy2/transport/framed/cyframed.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport/framed copying thriftpy2/transport/memory/cymemory.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport/memory copying thriftpy2/transport/memory/cymemory.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport/memory running build_ext building 'thriftpy2.transport.cybase' extension creating build/temp.linux-x86_64-3.6 creating build/temp.linux-x86_64-3.6/thriftpy2 creating build/temp.linux-x86_64-3.6/thriftpy2/transport gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python3.6m -c thriftpy2/transport/cybase.c -o build/temp.linux-x86_64-3.6/thriftpy2/transport/cybase.o thriftpy2/transport/cybase.c:17:10: fatal error: Python.h: No such file or directory #include "Python.h" ^~~~~~~~~~ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Failed building wheel for thriftpy2 Running setup.py clean for thriftpy2 Failed to build thriftpy2 Installing collected packages: thriftpy2 Running setup.py install for thriftpy2 ... error ERROR: Command errored out with exit status 1: command: /bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-y28fgtla/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/bambooagent/.local/include/python3.6m/thriftpy2 cwd: /tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/ Complete output (95 lines): running install running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/_compat.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/hook.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/http.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/rpc.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/server.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/thrift.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/tornado.py -> build/lib.linux-x86_64-3.6/thriftpy2 copying thriftpy2/utils.py -> build/lib.linux-x86_64-3.6/thriftpy2 creating build/lib.linux-x86_64-3.6/thriftpy2/contrib copying thriftpy2/contrib/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib creating build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/exc.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/lexer.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser copying thriftpy2/parser/parser.py -> build/lib.linux-x86_64-3.6/thriftpy2/parser creating build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/binary.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/compact.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/exc.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/json.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol copying thriftpy2/protocol/multiplex.py -> build/lib.linux-x86_64-3.6/thriftpy2/protocol creating build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/_ssl.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/socket.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/sslsocket.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/client.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/processor.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/rpc.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/server.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio copying thriftpy2/contrib/aio/socket.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking copying thriftpy2/contrib/tracking/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking copying thriftpy2/contrib/tracking/tracker.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/binary.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol copying thriftpy2/contrib/aio/protocol/compact.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/protocol creating build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/base.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/buffered.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport copying thriftpy2/contrib/aio/transport/framed.py -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/aio/transport creating build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered copying thriftpy2/transport/buffered/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered creating build/lib.linux-x86_64-3.6/thriftpy2/transport/framed copying thriftpy2/transport/framed/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport/framed creating build/lib.linux-x86_64-3.6/thriftpy2/transport/memory copying thriftpy2/transport/memory/__init__.py -> build/lib.linux-x86_64-3.6/thriftpy2/transport/memory running egg_info writing thriftpy2.egg-info/PKG-INFO writing dependency_links to thriftpy2.egg-info/dependency_links.txt writing requirements to thriftpy2.egg-info/requires.txt writing top-level names to thriftpy2.egg-info/top_level.txt reading manifest file 'thriftpy2.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'thriftpy2.egg-info/SOURCES.txt' creating build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/protocol/cybin/cybin.c -> build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/protocol/cybin/cybin.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/protocol/cybin/endian_port.h -> build/lib.linux-x86_64-3.6/thriftpy2/protocol/cybin copying thriftpy2/transport/cybase.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/cybase.pxd -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/transport/cybase.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport copying thriftpy2/contrib/tracking/tracking.thrift -> build/lib.linux-x86_64-3.6/thriftpy2/contrib/tracking copying thriftpy2/transport/buffered/cybuffered.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered copying thriftpy2/transport/buffered/cybuffered.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport/buffered copying thriftpy2/transport/framed/cyframed.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport/framed copying thriftpy2/transport/framed/cyframed.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport/framed copying thriftpy2/transport/memory/cymemory.c -> build/lib.linux-x86_64-3.6/thriftpy2/transport/memory copying thriftpy2/transport/memory/cymemory.pyx -> build/lib.linux-x86_64-3.6/thriftpy2/transport/memory running build_ext building 'thriftpy2.transport.cybase' extension creating build/temp.linux-x86_64-3.6 creating build/temp.linux-x86_64-3.6/thriftpy2 creating build/temp.linux-x86_64-3.6/thriftpy2/transport gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python3.6m -c thriftpy2/transport/cybase.c -o build/temp.linux-x86_64-3.6/thriftpy2/transport/cybase.o thriftpy2/transport/cybase.c:17:10: fatal error: Python.h: No such file or directory #include "Python.h" ^~~~~~~~~~ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Command errored out with exit status 1: /bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xof573ek/thriftpy2_a6f27656530249cc883bad409b02c0b6/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-y28fgtla/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/bambooagent/.local/include/python3.6m/thriftpy2 Check the logs for full command output.
You can try to fix this by using stackoverflow: https://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory
i am trying to install thriftpy2 in RHEL 8.2 Oopta(AWS Ec2 instance), getting below error. Please help to provide workaround/fix for this as this is one of the dependency for BentoML