RCOSDP / RDM-osf.io

Facilitating Open Science
https://rcos.nii.ac.jp
Apache License 2.0
13 stars 24 forks source link

docker-compose up failed with `linux/tipc.h: No such file or directory` #511

Closed hiroyuki-sato closed 1 month ago

hiroyuki-sato commented 2 months ago

Hello, team.

Overview

docker-compose up requirements failed with exit code 1 netifaces.c:131:14: fatal error: linux/tipc.h: No such file or directory error.txt

Wordaround (If Swift doesn't use)

addons/swift/requirements.txt

diff --git a/addons/swift/requirements.txt b/addons/swift/requirements.txt
index b282ab5631..585825b527 100644
--- a/addons/swift/requirements.txt
+++ b/addons/swift/requirements.txt
@@ -1,2 +1,2 @@
-python-keystoneclient==3.13.0
+#python-keystoneclient==3.13.0
 python-swiftclient==3.4.0

Problem

requirements-1  | Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3.6/site-packages (from requests>=2.14.2->python-keystoneclient==3.13.0->-r /code/addons/swift/requirements.txt (line 1)) (2020.12.5)
requirements-1  | Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3.6/site-packages (from requests>=2.14.2->python-keystoneclient==3.13.0->-r /code/addons/swift/requirements.txt (line 1)) (3.6)
requirements-1  | Using legacy 'setup.py install' for netifaces, since package 'wheel' is not installed.
requirements-1  | Using legacy 'setup.py install' for positional, since package 'wheel' is not installed.
requirements-1  | Installing collected packages: netifaces, netaddr, iso8601, debtcollector, stevedore, rfc3986, oslo.utils, os-service-types, msgpack, positional, oslo.serialization, oslo.config, keystoneauth1, python-swiftclient, python-keystoneclient
requirements-1  |     Running setup.py install for netifaces: started
requirements-1  |     Running setup.py install for netifaces: finished with status 'error'
requirements-1  |     ERROR: Command errored out with exit status 1:
requirements-1  |      command: /usr/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-d_7us1js/netifaces_b7a96080fbc946c287b01df91362921d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-d_7us1js/netifaces_b7a96080fbc946c287b01df91362921d/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-rrxu5une/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python3.6m/netifaces
requirements-1  |          cwd: /tmp/pip-install-d_7us1js/netifaces_b7a96080fbc946c287b01df91362921d/
requirements-1  |     Complete output (19 lines):
requirements-1  |     running install
requirements-1  |     running build
requirements-1  |     running build_ext
requirements-1  |     checking for getifaddrs...found.
requirements-1  |     checking for getnameinfo...found.
requirements-1  |     checking for IPv6 socket IOCTLs...not found.
requirements-1  |     checking for optional header files...netpacket/packet.h.
requirements-1  |     checking whether struct sockaddr has a length field...no.
requirements-1  |     checking which sockaddr_xxx structs are defined...in in6 un ll.
requirements-1  |     checking for routing socket support...no.
requirements-1  |     checking for sysctl(CTL_NET...) support...no.
requirements-1  |     checking for netlink support...no.
requirements-1  |     building 'netifaces' extension
requirements-1  |     gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fomit-frame-pointer -g -Os -fomit-frame-pointer -g -Os -fomit-frame-pointer -g -DTHREAD_STACK_SIZE=0x100000 -fPIC -DNETIFACES_VERSION=0.11.0 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_LL=1 -I/usr/include/python3.6m -c netifaces.c -o build/temp.linux-x86_64-3.6/netifaces.o
requirements-1  |     netifaces.c:131:14: fatal error: linux/tipc.h: No such file or directory
requirements-1  |      #    include <linux/tipc.h>
requirements-1  |                   ^~~~~~~~~~~~~~
requirements-1  |     compilation terminated.
requirements-1  |     error: command 'gcc' failed with exit status 1
requirements-1  |     ----------------------------------------
requirements-1  | ERROR: Command errored out with exit status 1: /usr/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-d_7us1js/netifaces_b7a96080fbc946c287b01df91362921d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-d_7us1js/netifaces_b7a96080fbc946c287b01df91362921d/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-rrxu5une/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python3.6m/netifaces Check the logs for full command output.
requirements-1  | WARNING: You are using pip version 21.0; however, version 21.3.1 is available.
requirements-1  | You should consider upgrading via the '/usr/bin/python3.6 -m pip install --upgrade pip' command.
requirements-1 exited with code 1
hiroyuki-sato commented 1 month ago

Use a self-build RDM-osf.io image instead of the original osf.io.