Bug 1479550

Summary: add `enchant` package to the python builder image
Product: Red Hat Software Collections Reporter: Aleksandar Kostadinov <akostadi>
Component: rh-python35-containerAssignee: Python Maintainers <python-maint>
Status: CLOSED UPSTREAM QA Contact: BaseOS QE - Apps <qe-baseos-apps>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rh-python35CC: aos-bugs, cstratak, hhorak, jokerman, jorton, mifiedle, mmccomas, qe-baseos-apps, thrcka, torsava, xtian
Target Milestone: ---Keywords: FutureFeature
Target Release: 2.4   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1470866 Environment:
Last Closed: 2017-08-21 11:42:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1470866    
Bug Blocks:    

Description Aleksandar Kostadinov 2017-08-08 19:12:03 UTC
+++ This bug was initially created as a clone of Bug #1470866 +++

Description of problem:
Trying to create a python app using sti build but library is missing.

Version-Release number of selected component (if applicable):
2.7 and 3.5

How reproducible:
always

Steps to Reproduce:
1. oc new-app python:2.7~https://github.com/sopel-irc/sopel.git
2. oc new-app python:3.5~https://github.com/sopel-irc/sopel.git
3. oc new-app python:latest~https://github.com/sopel-irc/sopel.git

4. oc logs -f bc/sopel

Actual results:

  Sti build fails like:

> ---> Installing dependencies ...
> You are using pip version 7.1.0, however version 9.0.1 is available.
> You should consider upgrading via the 'pip install --upgrade pip' command.
> Collecting xmltodict (from -r requirements.txt (line 1))
> Downloading xmltodict-0.11.0-py2.py3-none-any.whl
> Collecting pytz (from -r requirements.txt (line 2))
> Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
> Collecting praw (from -r requirements.txt (line 3))
> Downloading praw-5.0.1-py2.py3-none-any.whl (86kB)
> Collecting pyenchant (from -r requirements.txt (line 4))
> Downloading pyenchant-1.6.8.tar.gz (63kB)
> Complete output from command python setup.py egg_info:
> Traceback (most recent call last):
> File "<string>", line 20, in <module>
> File "/tmp/pip-build-qSAnGK/pyenchant/setup.py", line 210, in <module>
> import enchant
> File "enchant/__init__.py", line 92, in <module>
> from enchant import _enchant as _e
> File "enchant/_enchant.py", line 145, in <module>
> raise ImportError(msg)
> ImportError: The 'enchant' C library was not found. Please install it via your > OS package manager, or use a pre-built binary wheel from PyPI.
> ----------------------------------------
> Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-qSAnGK/pyenchant

Expected results:
build succeeds

Additional info:

Please add `enchant` package to the python builder image. Initially I requested a mechanism to add random dependencies but this feature has been rejected by upstream s2i project [1]. That's why I'm requesting a specific fix for people to be able to deploy the sopel bot project.

[1] https://github.com/openshift/source-to-image/issues/786

Comment 2 Joe Orton 2017-08-08 20:17:37 UTC
Sorry to keep redirecting you, best place is to file against https://github.com/sclorg/s2i-python-container/issues to request a fix there.  We can track against a specific python s2i image here too.

Comment 3 Joe Orton 2017-08-08 20:21:52 UTC
(I presume it's actually enchant-devel which is required here, to be able to build against the library.)

Comment 4 Aleksandar Kostadinov 2017-08-09 05:48:12 UTC
It is in fact `enchant`. There is no `-devel` package available but it works.

Thank you, filed https://github.com/sclorg/s2i-python-container/issues/207