Re: [HTCondor-devel] HTCondor Python Bindings: propose to implement via pybind11 instead of Boost?


Date: Tue, 24 Apr 2018 16:07:44 -0500
From: Todd Tannenbaum <tannenba@xxxxxxxxxxx>
Subject: Re: [HTCondor-devel] HTCondor Python Bindings: propose to implement via pybind11 instead of Boost?
On 4/24/2018 3:23 PM, Brian Bockelman wrote:


On Apr 24, 2018, at 3:05 PM, Greg Thain <gthain@xxxxxxxxxxx <mailto:gthain@xxxxxxxxxxx>> wrote:

On 04/24/2018 02:46 PM, Todd Tannenbaum wrote:
Hi all,

Currently our increasingly popular HTCondor python bindings are implemented via Boost.Python. *Now that all HTCondor supported platforms have C++11*-compatible compilers, I propose we consider implementing our bindings via pybind11 [see below for description] instead.

Note that RHEL6 doesn't fully support c++11.

pybind11 needs gcc 4.8 or VC++ 2015.  RHEL 6 is gcc 4.4.  RHEL 7 is gcc 4.8.

I'm feeling increasing frustrated by the age of the default c++ compilers on RHEL.  There are packages for EL that provide modern gcc's that statically link in the c++ libraries, so that they run on stock el6/7s.  Perhaps this is a path we should consider, even though it inconveniences our downstream friends?


Ugh.  C++11.  Who uses such an old language?  :)  (I work with people who are cranky that we didn't switch to C++17 until last month)


Ugh indeed. Rar, I thought RHEL6 had enough C++11-isms to support pybind11. I think this will have to wait until we know when we can sunset RHEL6...

What's the remaining RHEL6 lifetime?

"Full support" for RHEL6 ended May 2016, and maintenance 1 support ended back in May 2017. So as of today, RHEL6 does not even get support for new device drivers -- essentially just security updates. You could buy a server from Dell tomorrow that has hardware (RAID card, whatever) that RHEL6 will not ever support. RHEL6 "Product retirement" is Nov 2020.

Can we do this changeover at release boundaries?  It feels like it's perhaps a bit early on that...

Otherwise, we could live with things ifdef'd between pybind11 and boost for awhile.  We are historically bad at ripping out old code, aren't we?


I guess I'd rather wait until we know when HTCondor can stop supporting RHEL6, and then move at that time so we don't have to maintain ifdefs. Esp if we can stop worrying about RHEL6 sooner rather than later. Any wisdom with your OSG or CMS/WLCG hat on when RHEL6 can sunset?

regards,
Todd


--
Todd Tannenbaum <tannenba@xxxxxxxxxxx> University of Wisconsin-Madison
Center for High Throughput Computing   Department of Computer Sciences
HTCondor Technical Lead                1210 W. Dayton St. Rm #4257
Phone: (608) 263-7132                  Madison, WI 53706-1685
[← Prev in Thread] Current Thread [Next in Thread→]