[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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