ck-env icon indicating copy to clipboard operation
ck-env copied to clipboard

install python libraries on Fedora

Open me2x opened this issue 6 years ago • 1 comments

When installing the libraries as per the readme

$ ck install package --tags=lib,python-package,numpy

on the Fedora system, the linking to the build folder is not correct and the libraries are not detected by ck env.

specification of the OS:

$ck detect platform
***************************************************************************************
Detecting OS and CPU features ...

OS CK UOA:            linux-64 (4258b5fe54828a50)

OS name:              Fedora 28 (Workstation Edition)
Short OS name:        Linux 5.0.9
Long OS name:         Linux-5.0.9-100.fc28.x86_64-x86_64-with-fedora-28-Twenty_Eight
OS bits:              64
OS ABI:               x86_64

Platform init UOA:    42818da3a0789331

output of install is:

*** Installation path used: /home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64
  -----------------------------------
  Resolving software dependencies ...

*** Dependency 1 = python (Python interpreter):

    Resolved. CK environment UID = cf74dffbfce54916 (detected version 3.6.8)
  -----------------------------------

Installing to /home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64

**************************************************************

Cleanup: removing /home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64/python_deps_site
Installing 'numpy' and its dependencies to '/home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64/python_deps_site/lib/python3.6/site-packages' ...
Collecting numpy
  Using cached https://files.pythonhosted.org/packages/c1/e2/4db8df8f6cddc98e7d7c537245ef2f4e41a1ed17bf0c3177ab3cc6beac7f/numpy-1.16.3-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: numpy
Successfully installed numpy-1.16.3

Setting up environment for installed package ...
  (full path = /home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64/build/numpy/__init__.py)

  Software entry found: lib.python.numpy (6a10047b1bcd16fc)

  -----------------------------------
  Resolving software dependencies ...

*** Dependency 1 = python (Python interpreter):

    Resolved. CK environment UID = cf74dffbfce54916 (detected version 3.6.8)
  -----------------------------------
CK error: [package] software not found in a specified path (/home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64/build/numpy/__init__.py)!

The problem is the linking to the build folder inside the CK-TOOLS folder: the automatically created link is build -> /home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64/python_deps_site/lib/python3.6/site-packages However, the correct location of the installed library is: /home/emanuele/CK-TOOLS/lib-python-numpy-compiler.python-3.6.8-linux-64/python_deps_site/lib64/python3.6/site-packages

This happened to me to all the dependencies required to run MLPerf Inference - Object Detection - SSD-MobileNet that were installed with ck install.

A simple workaround is to modify the link manually and re-run installation to register the packages.

me2x avatar May 07 '19 12:05 me2x

Last time we tested something on RedHat about two years ago, so no wonder that things don't quite work out of the box. I've remembered we used to fix a similar issue for Caffe post-installation like this:

CAFFE_LIB1=${INSTALL_DIR}/install/lib
CAFFE_LIB2=${INSTALL_DIR}/install/lib64

if [ ! -d "${CAFFE_LIB1}" ] && [ -d "${CAFFE_LIB2}" ] ; then
  echo ""
  echo "Renaming lib64 to lib "
  echo ""

  mv ${CAFFE_LIB2} ${CAFFE_LIB1}
fi

but perhaps we can come up with a more elegant solution now.

psyhtest avatar May 07 '19 14:05 psyhtest