Pip-installed glue has broken versions of key executables
After pip installing glue in a virtual environment (for example PyCBC's distributed CVMFS environments) we find that some of the key segment tools are not working:
ligolw_segments_from_cats_dqsegdb --separate-categories --segment-url https://segments.ligo.org --veto-file /home/tdent/tests/sarah_snr2p5_inj/output/results/1._analysis_time/1.01_segment_data/H1L1-CBC_VETO_DEFINER_CLEANED_C02_O2_1164556817-23176801.xml --veto-categories 1 --ifo-list H1 --gps-start-time 1187312718 --gps-end-time 1187740818
ligo_data_find requires M2Crypto
On CentOS 5 and other RHEL based platforms
this package is available from the EPEL
repository by doing
yum install m2crypto
For Debian Lenny this package is available
by doing
apt-get install python-m2crypto
Mac OS X users can find this package in
MacPorts.
No module named M2Crypto
Glue does not declare any sort of dependency on M2Crypto, yet it appears it is needed for critical codes like this one.
A further problem is that attempting to install M2Crypto seems to show that M2Crypto now will not install against latest versions of SWIG.
swig -python -D__x86_64__ -I/usr/include/python2.7 -I/ldcg/intel/2018u1/compilers_and_libraries_2018.1.163/linux/ipp/include -I/ldcg/intel/2018u1/compilers_and_libraries_2018.1.163/linux/mkl/include -I/ldcg/intel/2018u1/compilers_and_libraries_2018.1.163/linux/pstl/include -I/ldcg/intel/2018u1/compilers_and_libraries_2018.1.163/linux/tbb/include -I/ldcg/intel/2018u1/compilers_and_libraries_2018.1.163/linux/daal/include -I/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I/usr/local/include -I/usr/include -I/usr/include/openssl -includeall -modern -builtin -outdir /local/pfcouvar/pip-build-MNZ4gD/M2Crypto/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
SWIG/_ssl.i:897: Error: Syntax error in input(1).
error: command 'swig' failed with exit status 1
This is becoming a serious problem for PyCBC as we need this code for ongoing runs which are needed for forthcoming LVC-all publications (our distributed bundles currently cannot run end-to-end analyses). What is the recommended fix here? If M2Crypto isn't really needed in glue any more, can this be fixed and the code made to run without needing to install this.
If this is a dependency on glue can it be declared as such?
... If possible, I would also want to ask for a new release of glue with this fixed ASAP. If PyCBC people can help with this please let me know ... But this code is not anything that we are familiar with, so we cannot fix, or help to fix, without guidance.
THANKS!