Mailing List Archives
Public Access
|
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [HTCondor-users] virtualenv, pip and htcondor (python)
- Date: Tue, 03 Jan 2017 11:11:23 -0600
- From: Brian Bockelman <bbockelm@xxxxxxxxxxx>
- Subject: Re: [HTCondor-users] virtualenv, pip and htcondor (python)
> On Jan 3, 2017, at 10:29 AM, L Kreczko <L.Kreczko@xxxxxxxxxxxxx> wrote:
>
> Hi Jaime,
>
> Thanks a lot.
>
> Finally got around to work a bit more on the setup.py.
>
> I've created a few docker images to be able to test the procedure in a more reliable manner:
> git clone https://github.com/kreczko/htcondor-1.git
> git checkout worlds-weirdest-setup.py
> cd docker
> # build containers
> docker-compose build htcondor-ubuntu
> docker-compose build htcondor-centos6
> docker-compose build htcondor-centos7
>
> # you can also try to directly install the modules:
> python setup.py install
>
> However, on my local machine the configuration fails for python, since cmake discovers two versions of python (2.7.11 & 3.5.2) and attempts to find headers for the latter only (for some reason I can find only 3.5.1 headers.
> Is there a way to point the configure script/cmake to the python version currently in use rather than the latest available?
> This is important for pip install with virtualenv or conda.
I think you can force a particular version by setting the following CMake variable:
PYTHONLIBS_VERSION_STRING
I.e.,
cmake -DPYTHONLIBS_VERSION_STRING="2.7.11"
>
> Am I considering all libraries (or too many)? Currently, I am copying
> - ./src/python-bindings/classad.so
> - ./src/python-bindings/htcondor.so
> to the python site-packages directory
> and
> - ./src/python-bindings/libpyclassad2.7_X_Y_X.so
> - ./src/condor_utils/libcondor_utils_X_Y_Z.so
> to /usr/lib (ubuntu) or /usr/lib64 (centos)
>
Those sound correct for the direct dependencies - did you use 'ldd' to suss out all the system dependencies?
> This one is also needed, but should already be present after a condor install:
> ./bld_external/classads-X.Y.Z/install/lib/libclassad.so
>
Well, it should actually look for something like "libclassad.so.7". The major version ("7") is relatively important because that should catch ABI breaks.
Brian