Bug 1042884

Summary: Potential issues caused by non-namespaced RPM provides and libraries
Product: Red Hat Software Collections Reporter: Honza Horak <hhorak>
Component: pythonAssignee: Matej Stuchlik <mstuchli>
Status: CLOSED ERRATA QA Contact: Jan Kepler <jkejda>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rh-python34CC: bkabrda, jberan, jkejda, mstuchli
Target Milestone: ---   
Target Release: 2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rh-python34-python-3.4.2-6.el7 rh-python34-python-3.4.2-6.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-04 08:49:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1042837    

Description Honza Horak 2013-12-13 14:56:33 UTC
Collection python33 seems to provide unprefixed RPM providers, which can be also caused by shipping the same libraries as could be shipped outside of SCL environment. Refer to tracker bug #1042837 for more info why this can be problem and check/fix all suspicious provides, please.

General discussions about the issues and why unprefixed symbols/libraries are problem should take place in the tracker bug #1042837.

Components checked for collection python33:
python33
python33-build
python33-mod_wsgi
python33-numpy
python33-numpy-f2py
python33-python
python33-python-bson
python33-python-coverage
python33-python-debug
python33-python-devel
python33-python-docutils
python33-python-jinja2
python33-python-libs
python33-python-markupsafe
python33-python-nose
python33-python-nose-docs
python33-python-psycopg2
python33-python-psycopg2-doc
python33-python-pygments
python33-python-pymongo
python33-python-pymongo-gridfs
python33-python-setuptools
python33-python-simplejson
python33-python-six
python33-python-sphinx
python33-python-sphinx-doc
python33-python-sqlalchemy
python33-python-test
python33-python-tkinter
python33-python-tools
python33-python-virtualenv
python33-runtime
python33-scipy
python33-suitesparse
python33-suitesparse-devel
python33-suitesparse-doc
python33-suitesparse-static
python33-tbb
python33-tbb-devel
python33-tbb-doc

Potential problems found in collection python33 by components:
-----------------------------------------------------------------
Suspicious provides for package python33-mod_wsgi
mod_wsgi.so()(64bit)

Suspicious provides for package python33-numpy
_capi.cpython-33m.so()(64bit)
_compiled_base.cpython-33m.so()(64bit)
_dotblas.cpython-33m.so()(64bit)
_dummy.cpython-33m.so()(64bit)
fftpack_lite.cpython-33m.so()(64bit)
lapack_lite.cpython-33m.so()(64bit)
mtrand.cpython-33m.so()(64bit)
multiarray.cpython-33m.so()(64bit)
multiarray_tests.cpython-33m.so()(64bit)
scalarmath.cpython-33m.so()(64bit)
umath.cpython-33m.so()(64bit)
umath_tests.cpython-33m.so()(64bit)

Suspicious provides for package python33-python-coverage
tracer.cpython-33m.so()(64bit)

Suspicious provides for package python33-python-debug
_bisect.cpython-33dm.so()(64bit)
_bz2.cpython-33dm.so()(64bit)
_codecs_cn.cpython-33dm.so()(64bit)
_codecs_hk.cpython-33dm.so()(64bit)
_codecs_iso2022.cpython-33dm.so()(64bit)
_codecs_jp.cpython-33dm.so()(64bit)
_codecs_kr.cpython-33dm.so()(64bit)
_codecs_tw.cpython-33dm.so()(64bit)
_crypt.cpython-33dm.so()(64bit)
_csv.cpython-33dm.so()(64bit)
_ctypes.cpython-33dm.so()(64bit)
_ctypes_test.cpython-33dm.so()(64bit)
_curses.cpython-33dm.so()(64bit)
_curses_panel.cpython-33dm.so()(64bit)
_datetime.cpython-33dm.so()(64bit)
_dbm.cpython-33dm.so()(64bit)
_decimal.cpython-33dm.so()(64bit)
_elementtree.cpython-33dm.so()(64bit)
_gdbm.cpython-33dm.so()(64bit)
_hashlib.cpython-33dm.so()(64bit)
_heapq.cpython-33dm.so()(64bit)
_json.cpython-33dm.so()(64bit)
_lsprof.cpython-33dm.so()(64bit)
_lzma.cpython-33dm.so()(64bit)
_multibytecodec.cpython-33dm.so()(64bit)
_multiprocessing.cpython-33dm.so()(64bit)
_pickle.cpython-33dm.so()(64bit)
_posixsubprocess.cpython-33dm.so()(64bit)
_random.cpython-33dm.so()(64bit)
_socket.cpython-33dm.so()(64bit)
_sqlite3.cpython-33dm.so()(64bit)
_ssl.cpython-33dm.so()(64bit)
_struct.cpython-33dm.so()(64bit)
_testbuffer.cpython-33dm.so()(64bit)
_testcapi.cpython-33dm.so()(64bit)
_tkinter.cpython-33dm.so()(64bit)
array.cpython-33dm.so()(64bit)
atexit.cpython-33dm.so()(64bit)
audioop.cpython-33dm.so()(64bit)
binascii.cpython-33dm.so()(64bit)
cmath.cpython-33dm.so()(64bit)
fcntl.cpython-33dm.so()(64bit)
grp.cpython-33dm.so()(64bit)
libpython3.3dm.so.1.0()(64bit)
math.cpython-33dm.so()(64bit)
mmap.cpython-33dm.so()(64bit)
nis.cpython-33dm.so()(64bit)
ossaudiodev.cpython-33dm.so()(64bit)
parser.cpython-33dm.so()(64bit)
pyexpat.cpython-33dm.so()(64bit)
readline.cpython-33dm.so()(64bit)
resource.cpython-33dm.so()(64bit)
select.cpython-33dm.so()(64bit)
spwd.cpython-33dm.so()(64bit)
syslog.cpython-33dm.so()(64bit)
termios.cpython-33dm.so()(64bit)
time.cpython-33dm.so()(64bit)
unicodedata.cpython-33dm.so()(64bit)
zlib.cpython-33dm.so()(64bit)

Suspicious provides for package python33-python-libs
_bisect.cpython-33m.so()(64bit)
_bz2.cpython-33m.so()(64bit)
_codecs_cn.cpython-33m.so()(64bit)
_codecs_hk.cpython-33m.so()(64bit)
_codecs_iso2022.cpython-33m.so()(64bit)
_codecs_jp.cpython-33m.so()(64bit)
_codecs_kr.cpython-33m.so()(64bit)
_codecs_tw.cpython-33m.so()(64bit)
_crypt.cpython-33m.so()(64bit)
_csv.cpython-33m.so()(64bit)
_ctypes.cpython-33m.so()(64bit)
_curses.cpython-33m.so()(64bit)
_curses_panel.cpython-33m.so()(64bit)
_datetime.cpython-33m.so()(64bit)
_dbm.cpython-33m.so()(64bit)
_decimal.cpython-33m.so()(64bit)
_elementtree.cpython-33m.so()(64bit)
_gdbm.cpython-33m.so()(64bit)
_hashlib.cpython-33m.so()(64bit)
_heapq.cpython-33m.so()(64bit)
_json.cpython-33m.so()(64bit)
_lsprof.cpython-33m.so()(64bit)
_lzma.cpython-33m.so()(64bit)
_multibytecodec.cpython-33m.so()(64bit)
_multiprocessing.cpython-33m.so()(64bit)
_pickle.cpython-33m.so()(64bit)
_posixsubprocess.cpython-33m.so()(64bit)
_random.cpython-33m.so()(64bit)
_socket.cpython-33m.so()(64bit)
_sqlite3.cpython-33m.so()(64bit)
_ssl.cpython-33m.so()(64bit)
_struct.cpython-33m.so()(64bit)
array.cpython-33m.so()(64bit)
atexit.cpython-33m.so()(64bit)
audioop.cpython-33m.so()(64bit)
binascii.cpython-33m.so()(64bit)
cmath.cpython-33m.so()(64bit)
fcntl.cpython-33m.so()(64bit)
grp.cpython-33m.so()(64bit)
libpython3.3m.so.1.0()(64bit)
libpython3.so()(64bit)
math.cpython-33m.so()(64bit)
mmap.cpython-33m.so()(64bit)
nis.cpython-33m.so()(64bit)
ossaudiodev.cpython-33m.so()(64bit)
parser.cpython-33m.so()(64bit)
pyexpat.cpython-33m.so()(64bit)
readline.cpython-33m.so()(64bit)
resource.cpython-33m.so()(64bit)
select.cpython-33m.so()(64bit)
spwd.cpython-33m.so()(64bit)
syslog.cpython-33m.so()(64bit)
termios.cpython-33m.so()(64bit)
time.cpython-33m.so()(64bit)
unicodedata.cpython-33m.so()(64bit)
xxlimited.cpython-33m.so()(64bit)
zlib.cpython-33m.so()(64bit)

Suspicious provides for package python33-python-psycopg2
_psycopg.cpython-33m.so()(64bit)

Suspicious provides for package python33-python-simplejson
_speedups.cpython-33m.so()(64bit)

Suspicious provides for package python33-python-test
_ctypes_test.cpython-33m.so()(64bit)
_testbuffer.cpython-33m.so()(64bit)
_testcapi.cpython-33m.so()(64bit)

Suspicious provides for package python33-python-tkinter
_tkinter.cpython-33m.so()(64bit)

Suspicious provides for package python33-scipy
__odrpack.cpython-33m.so()(64bit)
__umfpack.cpython-33m.so()(64bit)
_arpack.cpython-33m.so()(64bit)
_bsr.cpython-33m.so()(64bit)
_cblas.cpython-33m.so()(64bit)
_clapack.cpython-33m.so()(64bit)
_cobyla.cpython-33m.so()(64bit)
_coo.cpython-33m.so()(64bit)
_csc.cpython-33m.so()(64bit)
_csgraph.cpython-33m.so()(64bit)
_csr.cpython-33m.so()(64bit)
_dia.cpython-33m.so()(64bit)
_distance_wrap.cpython-33m.so()(64bit)
_dop.cpython-33m.so()(64bit)
_fblas.cpython-33m.so()(64bit)
_fftpack.cpython-33m.so()(64bit)
_fitpack.cpython-33m.so()(64bit)
_flapack.cpython-33m.so()(64bit)
_flinalg.cpython-33m.so()(64bit)
_hierarchy_wrap.cpython-33m.so()(64bit)
_interpolate.cpython-33m.so()(64bit)
_iterative.cpython-33m.so()(64bit)
_lbfgsb.cpython-33m.so()(64bit)
_min_spanning_tree.cpython-33m.so()(64bit)
_minpack.cpython-33m.so()(64bit)
_nd_image.cpython-33m.so()(64bit)
_nnls.cpython-33m.so()(64bit)
_odepack.cpython-33m.so()(64bit)
_quadpack.cpython-33m.so()(64bit)
_rank.cpython-33m.so()(64bit)
_shortest_path.cpython-33m.so()(64bit)
_slsqp.cpython-33m.so()(64bit)
_spectral.cpython-33m.so()(64bit)
_superlu.cpython-33m.so()(64bit)
_tools.cpython-33m.so()(64bit)
_traversal.cpython-33m.so()(64bit)
_ufuncs.cpython-33m.so()(64bit)
_ufuncs_cxx.cpython-33m.so()(64bit)
_vq.cpython-33m.so()(64bit)
_zeros.cpython-33m.so()(64bit)
calc_lwork.cpython-33m.so()(64bit)
cblas.cpython-33m.so()(64bit)
ckdtree.cpython-33m.so()(64bit)
clapack.cpython-33m.so()(64bit)
convolve.cpython-33m.so()(64bit)
dfitpack.cpython-33m.so()(64bit)
fblas.cpython-33m.so()(64bit)
flapack.cpython-33m.so()(64bit)
futil.cpython-33m.so()(64bit)
interpnd.cpython-33m.so()(64bit)
lsoda.cpython-33m.so()(64bit)
minpack2.cpython-33m.so()(64bit)
mio5_utils.cpython-33m.so()(64bit)
mio_utils.cpython-33m.so()(64bit)
moduleTNC.cpython-33m.so()(64bit)
mvn.cpython-33m.so()(64bit)
qhull.cpython-33m.so()(64bit)
sigtools.cpython-33m.so()(64bit)
specfun.cpython-33m.so()(64bit)
spline.cpython-33m.so()(64bit)
statlib.cpython-33m.so()(64bit)
streams.cpython-33m.so()(64bit)
vode.cpython-33m.so()(64bit)
vonmises_cython.cpython-33m.so()(64bit)

Suspicious provides for package python33-suitesparse
libamd.so.2()(64bit)
libbtf.so.1()(64bit)
libcamd.so.2()(64bit)
libccolamd.so.2()(64bit)
libcholmod.so.2()(64bit)
libcolamd.so.2()(64bit)
libcxsparse.so.3()(64bit)
libklu.so.1()(64bit)
libldl.so.2()(64bit)
librbio.so.2()(64bit)
libspqr.so.1()(64bit)
libsuitesparseconfig.so.4()(64bit)
libumfpack.so.5()(64bit)

Suspicious provides for package python33-tbb
libtbb.so.2()(64bit)
libtbbmalloc.so.2()(64bit)
libtbbmalloc_proxy.so.2()(64bit)

Suspicious provides for package python33-tbb-devel
pkgconfig(tbb) = 4.1.3
pkgconfig(tbbmalloc) = 4.1.3
pkgconfig(tbbmalloc_proxy) = 4.1.3

Comment 2 Marcela Mašláňová 2013-12-18 11:18:21 UTC
Please, apply for libraries like libperl.so, libruby.so, libv8.so prefix, as documented in http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentation/1/html/Software_Collections_Guide/sect-Prefixing_the_Library_Major_soname_with_the_Collection_Name.html.

Comment 3 Bohuslav "Slavek" Kabrda 2013-12-18 14:46:44 UTC
Ok, so out of these, there are some provides that might theoretically be problematic:

Suspicious provides for package python33-python-debug
libpython3.3dm.so.1.0()(64bit)

Suspicious provides for package python33-python-libs
libpython3.3m.so.1.0()(64bit)
libpython3.so()(64bit)

Suspicious provides for package python33-suitesparse
libamd.so.2()(64bit)
libbtf.so.1()(64bit)
libcamd.so.2()(64bit)
libccolamd.so.2()(64bit)
libcholmod.so.2()(64bit)
libcolamd.so.2()(64bit)
libcxsparse.so.3()(64bit)
libklu.so.1()(64bit)
libldl.so.2()(64bit)
librbio.so.2()(64bit)
libspqr.so.1()(64bit)
libsuitesparseconfig.so.4()(64bit)
libumfpack.so.5()(64bit)

Suspicious provides for package python33-tbb
libtbb.so.2()(64bit)
libtbbmalloc.so.2()(64bit)
libtbbmalloc_proxy.so.2()(64bit)

Suspicious provides for package python33-tbb-devel
pkgconfig(tbb) = 4.1.3
pkgconfig(tbbmalloc) = 4.1.3
pkgconfig(tbbmalloc_proxy) = 4.1.3


So this will require patching python33-python, python33-suitesparse and python33-tbb (only the first one applies to RHEL 7).
Because of changing the libpython.so provide, all of python binary extension packages will need to be rebuilt (all of these apply to RHEL 7, too). That means 8 packages:
python33-mod_wsgi
python33-numpy
python33-python
python33-python-coverage
python33-python-psycopg2
python33-python-pymongo
python33-python-simplejson
python33-scipy

Comment 5 Bohuslav "Slavek" Kabrda 2015-01-09 07:46:22 UTC
Moving to RHSCL 2.0, rh-python34. This won't get fixed in python33 to not break existing builds depending on it.

Comment 10 errata-xmlrpc 2015-06-04 08:49:23 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2015-1058.html