kiwitcms / Kiwi

open source test management system with over 2 million downloads!
https://kiwitcms.org
GNU General Public License v2.0
992 stars 297 forks source link

Cannot find libpython3.5m.so.rh-python35-1.0 when trying to run migrate command during setup #322

Closed galaxyAbstractor closed 6 years ago

galaxyAbstractor commented 6 years ago

Description of problem

I've followed the instructions here by first running docker pull kiwitcms/kiwi, then cloning this repo and running docker-compose up -d and so far so good, I can access the kiwi in the browser, but obviously I get a 500 error since I haven't run the migrations yet. But when trying to run docker exec -it kiwi_web /Kiwi/manage.py migrate, I get this error:

victor@SATORI:~/Docker/kiwi$ sudo docker exec -it kiwi_web /Kiwi/manage.py migrate
python: error while loading shared libraries: libpython3.5m.so.rh-python35-1.0: cannot open shared object file: No such file or directory

Component (web, API, etc)

web

Version or commit hash (if applicable)

11213b2

How often reproducible

Always

Steps to Reproduce

  1. Follow instructions at http://kiwitcms.readthedocs.io/en/latest/installing_docker.html
  2. Try to run the migrate command

Actual results

Get error that `libpython3.5m.so.rh-python35-1.0' cannot be found

Expected results

Migrations being run

atodorov commented 6 years ago

@galaxyAbstractor can you tell me the version of the Kiwi docker image that you are using? Did you build your own version or use the one from Docker Hub?

What is your host operating system and version ?

I tried the latest one and I'm not able to reproduce, migrations run fine for me.

The error that you posted appears to be something wrong with the python installation inside of the container. Try opening a /bin/bash shell inside the container and give me the output of rpm -qa and python --version.

Also try to look for some errors during initialization.

galaxyAbstractor commented 6 years ago

Hi!

The version I got is "latest", so I assume that means 4.1.4 on docker hub. I also tried to build it myself from this repo, but it failed with the same issue at the line RUN virtualenv /venv.

I'm on Ubuntu 17.10 64-bit.

Output from rpm -qa:

 [root@09fb37917670 /]# rpm -qa
libgcrypt-devel-1.5.3-14.el7.x86_64
centos-release-7-4.1708.el7.centos.x86_64
openssl-1.0.2k-8.el7.x86_64
filesystem-3.2-21.el7.x86_64
npm-3.10.10-1.6.12.3.1.el7.x86_64
libverto-devel-0.2.5-4.el7.x86_64
openssl-devel-1.0.2k-8.el7.x86_64
glibc-common-2.17-196.el7_4.2.x86_64
initscripts-9.49.39-1.el7_4.1.x86_64
nspr-4.13.1-1.0.el7_3.x86_64
cyrus-sasl-devel-2.1.26-21.el7.x86_64
ncurses-libs-5.9-14.20130511.el7_4.x86_64
apr-util-devel-1.5.2-6.el7.x86_64
libsepol-2.5-6.el7.x86_64
rh-python35-runtime-2.0-2.el7.x86_64
libselinux-2.5-11.el7.x86_64
rh-python35-python-pip-7.1.0-2.el7.noarch
info-5.1-4.el7.x86_64
rh-python35-python-3.5.1-11.el7.x86_64
rh-python35-python-virtualenv-13.1.2-2.el7.noarch
popt-1.13-16.el7.x86_64
httpd-devel-2.4.6-67.el7.centos.6.x86_64
nss-util-3.28.4-3.el7.x86_64
mod_ssl-2.4.6-67.el7.centos.6.x86_64
elfutils-libelf-0.168-8.el7.x86_64
gcc-4.8.5-16.el7_4.2.x86_64
libgpg-error-1.12-3.el7.x86_64
systemd-libs-219-42.el7_4.10.x86_64
libacl-2.2.51-12.el7.x86_64
tzdata-2018d-1.el7.noarch
libxml2-2.9.1-6.el7_2.3.x86_64
libgcrypt-1.5.3-14.el7.x86_64
lua-5.1.4-15.el7.x86_64
cpio-2.11-25.el7_4.x86_64
sqlite-3.7.17-8.el7.x86_64
gawk-4.0.2-4.el7_3.1.x86_64
diffutils-3.3-4.el7.x86_64
expat-2.1.0-10.el7_3.x86_64
libcap-ng-0.7.5-4.el7.x86_64
nss-softokn-3.28.3-8.el7_4.x86_64
p11-kit-0.23.5-3.el7.x86_64
file-libs-5.11-33.el7.x86_64
tar-1.26-32.el7.x86_64
pinentry-0.8.1-17.el7.x86_64
elfutils-default-yama-scope-0.168-8.el7.noarch
ncurses-5.9-14.20130511.el7_4.x86_64
libsemanage-2.5-8.el7.x86_64
libtasn1-4.10-1.el7.x86_64
ca-certificates-2017.2.14-71.el7.noarch
openssl-libs-1.0.2k-8.el7.x86_64
shadow-utils-4.1.5.1-24.el7.x86_64
libmount-2.23.2-43.el7_4.2.x86_64
shared-mime-info-1.8-3.el7.x86_64
cracklib-2.9.0-11.el7.x86_64
libpwquality-1.2.3-4.el7.x86_64
pkgconfig-0.27.1-4.el7.x86_64
dbus-glib-0.100-7.el7.x86_64
libutempter-1.1.6-4.el7.x86_64
nss-pem-1.0.3-4.el7.x86_64
nss-sysinit-3.28.4-15.el7_4.x86_64
libssh2-1.4.3-10.el7_2.1.x86_64
curl-7.29.0-42.el7_4.1.x86_64
rpm-4.11.3-25.el7.x86_64
libuser-0.60-7.el7_1.x86_64
qrencode-libs-3.4.1-3.el7.x86_64
device-mapper-1.02.140-8.el7.x86_64
cryptsetup-libs-1.7.4-3.el7_4.1.x86_64
dbus-1.6.12-17.el7.x86_64
iputils-20160308-10.el7.x86_64
python-libs-2.7.5-58.el7.x86_64
libxml2-python-2.9.1-6.el7_2.3.x86_64
python-iniparse-0.4-9.el7.noarch
pyliblzma-0.5.3-11.el7.x86_64
python-urlgrabber-3.10-8.el7.noarch
python-chardet-2.2.1-1.el7_1.noarch
hostname-3.13-3.el7.x86_64
pth-2.0.7-23.el7.x86_64
gpgme-1.3.2-5.el7.x86_64
rpm-build-libs-4.11.3-25.el7.x86_64
yum-plugin-fastestmirror-1.1.31-42.el7.noarch
yum-utils-1.1.31-42.el7.noarch
rootfiles-8.1-11.el7.noarch
libdb-5.3.21-21.el7_4.x86_64
kmod-20-15.el7_4.7.x86_64
kmod-libs-20-15.el7_4.7.x86_64
libdb-utils-5.3.21-21.el7_4.x86_64
bind-license-9.9.4-51.el7_4.2.noarch
kpartx-0.4.9-111.el7_4.2.x86_64
apr-util-1.5.2-6.el7.x86_64
centos-logos-70.0.6-3.el7.centos.noarch
httpd-2.4.6-67.el7.centos.6.x86_64
centos-release-scl-rh-2-2.el7.centos.noarch
gpg-pubkey-352c64e5-52ae6884
libgcc-4.8.5-16.el7_4.2.x86_64
libmpc-1.0.1-3.el7.x86_64
apr-devel-1.4.8-3.el7_4.1.x86_64
zlib-devel-1.2.7-17.el7.x86_64
iptables-1.4.21-18.3.el7_4.x86_64
cpp-4.8.5-16.el7_4.2.x86_64
perl-parent-0.225-244.el7.noarch
perl-podlators-2.5.1-3.el7.noarch
perl-Pod-Escapes-1.04-292.el7.noarch
perl-Encode-2.51-7.el7.x86_64
perl-libs-5.16.3-292.el7.x86_64
perl-Socket-2.010-4.el7.x86_64
perl-threads-1.87-4.el7.x86_64
perl-Carp-1.26-244.el7.noarch
perl-Exporter-5.68-3.el7.noarch
perl-Time-Local-1.2300-2.el7.noarch
perl-File-Temp-0.23.01-3.el7.noarch
perl-PathTools-3.40-5.el7.x86_64
perl-Pod-Simple-3.28-4.el7.noarch
perl-5.16.3-292.el7.x86_64
mariadb-libs-5.5.56-2.el7.x86_64
glibc-headers-2.17-196.el7_4.2.x86_64
xml-common-0.6.3-39.el7.noarch
libgomp-4.8.5-16.el7_4.2.x86_64
libkadm5-1.15.1-8.el7.x86_64
zip-3.0-11.el7.x86_64
xz-devel-5.2.2-1.el7.x86_64
libxslt-1.1.28-5.el7.x86_64
redhat-rpm-config-9.1.0-76.el7.centos.noarch
pcre-devel-8.32-17.el7.x86_64
libuv-1.10.2-1.el7.x86_64
libselinux-devel-2.5-11.el7.x86_64
libgpg-error-devel-1.12-3.el7.x86_64
make-3.82-23.el7.x86_64
setup-2.8.71-7.el7.noarch
http-parser-2.7.1-5.el7_4.x86_64
basesystem-10.0-7.el7.centos.noarch
nodejs-6.12.3-1.el7.x86_64
ncurses-base-5.9-14.20130511.el7_4.noarch
krb5-devel-1.15.1-8.el7.x86_64
nss-softokn-freebl-3.28.3-8.el7_4.x86_64
sysvinit-tools-2.88-14.dsf.el7.x86_64
glibc-2.17-196.el7_4.2.x86_64
cyrus-sasl-2.1.26-21.el7.x86_64
openldap-devel-2.4.44-5.el7.x86_64
bash-4.2.46-29.el7_4.x86_64
scl-utils-20130529-18.el7_4.x86_64
pcre-8.32-17.el7.x86_64
rh-python35-python-setuptools-18.0.1-2.el7.noarch
zlib-1.2.7-17.el7.x86_64
rh-python35-python-libs-3.5.1-11.el7.x86_64
xz-libs-5.2.2-1.el7.x86_64
rh-python35-python-devel-3.5.1-11.el7.x86_64
bzip2-libs-1.0.6-13.el7.x86_64
rh-python35-2.0-2.el7.x86_64
chkconfig-1.7.4-1.el7.x86_64
mariadb-devel-5.5.56-2.el7.x86_64
sed-4.2.2-5.el7.x86_64
libxslt-devel-1.1.28-5.el7.x86_64
libffi-3.0.13-18.el7.x86_64
mod_wsgi-3.4-12.el7_0.x86_64
libattr-2.4.46-12.el7.x86_64
systemd-219-42.el7_4.10.x86_64
libcap-2.22-9.el7.x86_64
libstdc++-4.8.5-16.el7_4.2.x86_64
libcom_err-1.42.9-10.el7.x86_64
readline-6.2-10.el7.x86_64
grep-2.20-3.el7.x86_64
libuuid-2.23.2-43.el7_4.2.x86_64
libidn-1.28-4.el7.x86_64
findutils-4.5.11-5.el7.x86_64
dbus-libs-1.6.12-17.el7.x86_64
audit-libs-2.7.6-3.el7.x86_64
libassuan-2.1.0-3.el7.x86_64
xz-5.2.2-1.el7.x86_64
keyutils-libs-1.5.8-3.el7.x86_64
acl-2.2.51-12.el7.x86_64
cyrus-sasl-lib-2.1.26-21.el7.x86_64
elfutils-libs-0.168-8.el7.x86_64
gmp-6.0.0-15.el7.x86_64
ustr-1.0.4-16.el7.x86_64
libverto-0.2.5-4.el7.x86_64
p11-kit-trust-0.23.5-3.el7.x86_64
krb5-libs-1.15.1-8.el7.x86_64
coreutils-8.22-18.el7.x86_64
libblkid-2.23.2-43.el7_4.2.x86_64
glib2-2.50.3-3.el7.x86_64
gzip-1.5-9.el7.x86_64
cracklib-dicts-2.9.0-11.el7.x86_64
pam-1.1.8-18.el7.x86_64
procps-ng-3.3.10-16.el7.x86_64
gobject-introspection-1.50.0-1.el7.x86_64
nss-3.28.4-15.el7_4.x86_64
nss-tools-3.28.4-15.el7_4.x86_64
libcurl-7.29.0-42.el7_4.1.x86_64
rpm-libs-4.11.3-25.el7.x86_64
openldap-2.4.44-5.el7.x86_64
util-linux-2.23.2-43.el7_4.2.x86_64
hardlink-1.0-19.el7.x86_64
device-mapper-libs-1.02.140-8.el7.x86_64
dracut-033-502.el7_4.1.x86_64
gdbm-1.10-8.el7.x86_64
python-2.7.5-58.el7.x86_64
dbus-python-1.1.1-9.el7.x86_64
python-gobject-base-3.22.0-1.el7_4.1.x86_64
yum-metadata-parser-1.1.4-10.el7.x86_64
python-pycurl-7.19.0-19.el7.x86_64
pyxattr-0.5.1-5.el7.x86_64
python-kitchen-1.1.1-5.el7.noarch
gnupg2-2.0.22-4.el7.x86_64
pygpgme-0.3-9.el7.x86_64
rpm-python-4.11.3-25.el7.x86_64
yum-plugin-ovl-1.1.31-42.el7.noarch
passwd-0.79-4.el7.x86_64
vim-minimal-7.4.160-2.el7.x86_64
gpg-pubkey-f4a80eb5-53a7ff4b
binutils-2.25.1-32.base.el7_4.2.x86_64
yum-3.4.3-154.el7.centos.1.noarch
apr-1.4.8-3.el7_4.1.x86_64
httpd-tools-2.4.6-67.el7.centos.6.x86_64
mailcap-2.1.41-2.el7.noarch
epel-release-7-11.noarch
centos-release-scl-2-2.el7.centos.noarch
gpg-pubkey-f2ee9d55-560cfc0a
mpfr-3.1.1-4.el7.x86_64
libmnl-1.0.3-7.el7.x86_64
libnfnetlink-1.0.1-4.el7.x86_64
libnetfilter_conntrack-1.0.6-1.el7_3.x86_64
iproute-3.10.0-87.el7.x86_64
groff-base-1.22.2-8.el7.x86_64
perl-HTTP-Tiny-0.033-3.el7.noarch
perl-Pod-Perldoc-3.20-4.el7.noarch
perl-Text-ParseWords-3.29-4.el7.noarch
perl-Pod-Usage-1.63-3.el7.noarch
perl-macros-5.16.3-292.el7.x86_64
perl-Time-HiRes-1.9725-3.el7.x86_64
perl-Storable-2.45-3.el7.x86_64
perl-Filter-1.49-3.el7.x86_64
perl-constant-1.27-2.el7.noarch
perl-threads-shared-1.43-6.el7.x86_64
perl-File-Path-2.09-2.el7.noarch
perl-Scalar-List-Utils-1.27-248.el7.x86_64
perl-Getopt-Long-2.40-2.el7.noarch
libicu-50.1.2-15.el7.x86_64
kernel-headers-3.10.0-693.21.1.el7.x86_64
glibc-devel-2.17-196.el7_4.2.x86_64
iso-codes-3.46-2.el7.noarch
libcom_err-devel-1.42.9-10.el7.x86_64
expat-devel-2.1.0-10.el7_3.x86_64
dwz-0.11-3.el7.x86_64
libxml2-devel-2.9.1-6.el7_2.3.x86_64
perl-srpm-macros-1-8.el7.noarch
scl-utils-build-20130529-18.el7_4.x86_64
libdb-devel-5.3.21-21.el7_4.x86_64
libsepol-devel-2.5-6.el7.x86_64
keyutils-libs-devel-1.5.8-3.el7.x86_64

Output of python --version is the same error as when trying to run migrate.

If I run export LD_LIBRARY_PATH=/opt/rh/rh-python35/root/usr/lib64 in the bash inside the container, it seems to work, which makes me believe there is something wrong when the envs are set in the Dockerfile. Before I ran the export, LD_LIBRARY_PATH was empty.

I'm using Docker version 18.03.0-ce, build 0520e24

atodorov commented 6 years ago

To me it looks like that when Docker is starting the container it doesn't respect the ENV settings from the image or that for some reason they are ignored. When you open /bin/bash inside the container the default Python version should be 3.5.

Have you modified your docker-compose.yaml file ?

Also try some older version of docker to see if you can reproduce. It may be some incompatibility between versions.

I have docker-1.12.6-71.git3e8e77d.el7.x86_64 which was also used to build the image and it runs just fine.

atodorov commented 6 years ago

Ping. Any news wrt previous comments ?

galaxyAbstractor commented 6 years ago

I checked now, and made sure I had a clean install by cloning the git repo again into a new folder. Then I tried running make docker-image and got the same error. I tried doing docker build --no-cache . as well but it fails at the same place.

I originally tried with Docker 1.13 and originally got the python error in that version, which lead me to update docker in case I was using an old one, but the error still remained.

I'm gonna try to dig deeper after work, but I suspect it is something with my computer since we seem to have been able to install kiwi successfully on a different computer.

atodorov commented 6 years ago

Closing this since it is a month old and there doesn't seem to be clear way to reproduce. In all cases we've migrated to Python 3.6 so maybe try that one out.