Bug 1201389

Summary: condor-python package installs libpyclassad to the wrong place
Product: [Fedora] Fedora Reporter: Matt Williams <matt>
Component: condorAssignee: matt
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 21CC: abakrim5, bbockelm, eerlands, matt, tomspur, tstclair
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: condor-8.3.8-1.fc23 condor-8.5.0-1.fc21 condor-8.5.0-1.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-26 13:19:28 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:
Attachments:
Description Flags
Install libpyclassad to the right location none

Description Matt Williams 2015-03-12 15:47:06 UTC
Description of problem:

When trying to import the htcondor python module (provided by the condor-python package), the import fails with an ImportError. It says that it can't find the file libpyclassad2.7_8_3_1.so. This file is installed to /usr/lib64/python2.7/site-packages/ which is not in the ld library path.

It can be seen that the file is not found by running:

  $ ldd /usr/lib64/python2.7/site-packages/htcondor.so | grep libpyclassad

which gives:

  libpyclassad2.7_8_3_1.so => not found

Running with a temporary LD_LIBRARY_PATH allows the process to work:

  $ LD_LIBRARY_PATH=/usr/lib64/python2.7/site-packages/ python2 -c 'import htcondor; print htcondor.version()'

  $CondorVersion: 8.3.1 Nov 23 2014 BuildID: RH-8.3.1-1.fc21 $

Since libpyclassad2.7_8_3_1.so is versioned, there should be no reason not to install it to /usr/lib64 since there should be no name clash.


Version-Release number of selected component (if applicable):
condor-python 8.3.1-1.fc21


How reproducible:
Every time


Steps to Reproduce:
  $ yum install condor-python -y
  $ python2 -c 'import htcondor; print htcondor.version()'


Actual results:
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
  ImportError: libpyclassad2.7_8_3_1.so: cannot open shared object file: No such file or directory


Expected results:
Module successfully imported and version number printed.

Comment 1 Matt Williams 2015-03-12 16:23:46 UTC
I note that htcondor.so (the actual python package that is imported) has an RPATH set:

  $ chrpath --list /usr/lib64/python2.7/site-packages/htcondor.so
  /usr/lib64/python2.7/site-packages/htcondor.so: RUNPATH=$ORIGIN/../:/lib64:/usr/lib64:$ORIGIN/../condor

so it will look in:

  /usr/lib64/python2.7/
  /lib64
  /usr/lib64
  /usr/lib64/python2.7/condor

for its link dependencies, So in the .spec file, libpyclassad2.7_%{srcver}.so could be installed to any of them.

Comment 2 Matt Williams 2015-03-13 09:55:51 UTC
Created attachment 1001322 [details]
Install libpyclassad to the right location

Here's a suggestion for the fix for this problem.

Comment 3 abakrim5 2015-04-22 12:07:22 UTC
Hi Matt Williams,

im trying the above command to check libpyclassad but its not found, it shows me:

[root@condorexec21 htcondorProject]# sudo ldd /usr/local/lib/python2.7/site-packages/htcondor.so | grep libpyclassad
ldd: warning: you do not have execution permission for `/usr/local/lib/python2.7/site-packages/htcondor.so'
/usr/local/lib/python2.7/site-packages/htcondor.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/lib/python2.7/site-packages/htcondor.so)
	libpyclassad2.7_8_0_5.so => not found



i checked /usr/lib/condor and did not contain libpyclassad2.7_8_0_5.so.! it contains other classad library version. should i add libpyclassad2.7_8_0_5.so to /usr/lib/condor? and where can i find it? 
thanks

Comment 4 Matt Williams 2015-04-23 11:01:25 UTC
(I've updated Fedora so some version numbers here may have changed but nothing else has)

libpyclassad2.7_8_3_1.so is currently installed to /usr/lib64/python2.7/site-packages/libpyclassad2.7_8_3_1.so by condor-python-8.3.1-1.fc21.x86_64

/usr/lib64/python2.7/site-packages/htcondor.so is looking for the file but the linker can't find it (that is what causes the "not found" error you posted above).

With the current set up, libpyclassad2.7_8_3_1.so needs to be changed to be installed to one of the following:

  /usr/lib64/python2.7/
  /lib64/
  /usr/lib64/
  /usr/lib64/python2.7/condor/

since these are the places that the linker is looking for it. I think that /usr/lib64/ ({_libdir} in RPM) probably makes the most sense.

Comment 5 Fedora Update System 2015-10-01 20:04:25 UTC
condor-8.3.8-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-bb2930f3a6

Comment 6 Fedora Update System 2015-10-01 20:07:15 UTC
condor-8.3.8-1.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-dc8ffbb46b

Comment 7 Fedora Update System 2015-10-01 20:11:59 UTC
condor-8.3.8-1.fc21 has been submitted as an update to Fedora 21. https://bodhi.fedoraproject.org/updates/FEDORA-2015-a499c5d11f

Comment 8 Fedora Update System 2015-10-04 01:36:52 UTC
condor-8.3.8-1.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update condor'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-dc8ffbb46b

Comment 9 Fedora Update System 2015-10-04 01:52:59 UTC
condor-8.3.8-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update condor'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-bb2930f3a6

Comment 10 Fedora Update System 2015-10-04 02:20:56 UTC
condor-8.3.8-1.fc21 has been pushed to the Fedora 21 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update condor'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-a499c5d11f

Comment 11 Fedora Update System 2015-10-09 06:16:20 UTC
condor-8.3.8-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2015-10-15 01:11:26 UTC
condor-8.5.0-1.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-296761c893

Comment 13 Fedora Update System 2015-10-15 01:14:15 UTC
condor-8.5.0-1.fc21 has been submitted as an update to Fedora 21. https://bodhi.fedoraproject.org/updates/FEDORA-2015-7b408f7011

Comment 14 Fedora Update System 2015-10-16 08:51:23 UTC
condor-8.5.0-1.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update condor'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-296761c893

Comment 15 Fedora Update System 2015-10-16 14:19:28 UTC
condor-8.5.0-1.fc21 has been pushed to the Fedora 21 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update condor'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-7b408f7011

Comment 16 Fedora Update System 2015-10-26 13:19:17 UTC
condor-8.5.0-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2015-10-26 13:23:19 UTC
condor-8.5.0-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.