Re: OpenVDB Jenkins builds broken due to Boost Python not found


Larry Gritz
 

Agreed about pybind11. I can't recommend it strongly enough.

Kimball did a good job of explaining what I was getting at, but I'll make a pitch on the TAC list in a new thread as well.

-- lg

On Oct 27, 2018, at 11:51 PM, Kimball Thurston <kthurston@...> wrote:

switch to pybind11? ;-P

This is what Larry was talking about the last meeting, and in a much more concrete manner than I had babbled about in our first meeting.

I think it is a great idea to make a repo that has template cmake macros and a collection of all the Find* things we need for the various projects in ASWF. People can then request those Find* be pushed upstream to cmake, and each project can keep a stash of what the current ones they need are, and rev versions as necessary to get whatever new macros, etc. they want.

Back to your actual question, in OpenEXR, we do a very similar thing to compile for a specific python variant, except don't have a period between when asking for boost:

.... <paraphrasing a bit here>

##### NB: with a period between maj.minor
find_package(PythonLibs ${OPENEXR_PYTHON_MAJOR}.${OPENEXR_PYTHON_MINOR}
##### NB: withOUT a period between
find_package(Boost COMPONENTS python${OPENEXR_PYTHON_MAJOR}${OPENEXR_PYTHON_MINOR})
if (NOT Boost_PYTHON${OPENEXR_PYTHON_MAJOR}${OPENEXR_PYTHON_MINOR}_FOUND)
   message(WARNING "requested boost python version not found...")
endif()
#####
find_package(NumPy)

....

Hope that helps,
Kimball

From: main@... <main@...> on behalf of Thanh Ha <thanh.ha@...>
Sent: Saturday, October 27, 2018 7:36:02 AM
To: main@...
Subject: [ASWF] OpenVDB Jenkins builds broken due to Boost Python not found
 
*Originates outside of Weta Digital


Hi Everyone,

Since the move of OpenVDB to ASWF. The Jenkins build is now broken due to CMake not able to find the python boost library, you can see the error message here:


I've traced it down to this commit which changed causing the build to now fail:


I'm not sure what Linux distro that patch was targetting but on Ubuntu 16.04 the boost python library is located in /usr/include/boost/python/ (with no trailing version number). I guess we need to improve the CMake script to detect if there is a trailing version or not. Does anyone else have any other recommendations on what we should do here?

Thanks,
Thanh


--
Larry Gritz




Join main@lists.aswf.io to automatically receive all group messages.