OK, take 2 on the first one: https://github.com/OpenImageIO/oiio/pull/2144
> On Jan 13, 2019, at 10:44 PM, Steve Hwan <[email protected]> wrote: > > Personally, I prefer the first approach. > But those that know me, coding and otherwise, know I can live with a pretty > high amount of clutter. > > > > > > On Sun, Jan 13, 2019 at 10:16 PM Larry Gritz <[email protected] > <mailto:[email protected]>> wrote: > Alternate, minimal approach: https://github.com/OpenImageIO/oiio/pull/2145 > <https://github.com/OpenImageIO/oiio/pull/2145> > > Pros/cons: This just makes a compile error if the pybind headers (when it > reads them in py_oiio.h) don't have a new enough version. That's fairly > foolproof, but you don't know that it's the wrong version until most of the > way through the build. (Do we care?) The approach of #2144 tried to figure it > all out at cmake setup time, before the main build gets underway, which is > nicer, but it was a lot more clutter of the build scripts, and it's going to > be way more clutter to make it robust in light of the fact that the place > where the version numbers were stored changed between pybind11 2.1 and 2.2. > > Opinions? > > >> On Jan 13, 2019, at 9:34 PM, Larry Gritz <[email protected] >> <mailto:[email protected]>> wrote: >> >> Thanks, this was helpful. Seems that the file that contains the version >> numbers *moved* at some point, making this even more complex. I'm going to >> test out a different approach... >> >> >> >>> On Jan 13, 2019, at 8:26 PM, Steve Hwan <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> For fun, I went into my local src/cmake/externalpackages.cmake file and >>> removed the "detail" in that path in all 4 occurrences and got a different >>> error: >>> So with that change (removing "detail" from the pybind/common.h path), it >>> can now identify the version, and warn that it doesn't meet the minimum. >>> But for some reason, it can't build pybind11 anymore, breading with some >>> REGEX thing. >>> >>> CMake Warning at src/cmake/externalpackages.cmake:550 (message): >>> pybind11 from /usr/include is too old (2.0), minimum is 2.2.0, downloading >>> our own. >>> Call Stack (most recent call first): >>> CMakeLists.txt:201 (find_or_download_pybind11) >>> >>> >>> -- Building local Pybind11 >>> CMake Error at src/cmake/externalpackages.cmake:577 (string): >>> string sub-command REGEX, mode MATCHALL needs at least 5 arguments total >>> to >>> command. >>> Call Stack (most recent call first): >>> CMakeLists.txt:201 (find_or_download_pybind11) >>> >>> >>> CMake Error at src/cmake/externalpackages.cmake:579 (string): >>> string sub-command REGEX, mode MATCHALL needs at least 5 arguments total >>> to >>> command. >>> Call Stack (most recent call first): >>> CMakeLists.txt:201 (find_or_download_pybind11) >>> >>> >>> CMake Warning at src/cmake/externalpackages.cmake:584 (message): >>> pybind11 from >>> /mnt/d/Users/svhwan/developer_builds/oiio_2.0.4/oiio/ext/pybind11/include >>> is too old (2.0), minimum is 2.2.0. >>> Call Stack (most recent call first): >>> CMakeLists.txt:201 (find_or_download_pybind11) >>> >>> >>> CMake Error at src/cmake/externalpackages.cmake:590 (message): >>> pybind11 is missing! If it's not on your system, you need to install it, >>> or >>> build with either -DBUILD_MISSING_DEPS=ON or -DBUILD_PYBIND11_FORCE=ON. >>> Or >>> build with -DUSE_PYTHON=OFF. >>> Call Stack (most recent call first): >>> CMakeLists.txt:201 (find_or_download_pybind11) >>> >>> >>> -- Configuring incomplete, errors occurred! >>> >>> On Sun, Jan 13, 2019 at 8:08 PM Steve Hwan <[email protected] >>> <mailto:svhwan%[email protected]>> wrote: >>> I tried to apply the patch, but it looks like it bails out during the >>> config. >>> CMake Error at src/cmake/externalpackages.cmake:544 (file): >>> file STRINGS file "/usr/include/pybind11/detail/common.h" cannot be read. >>> Call Stack (most recent call first): >>> CMakeLists.txt:201 (find_or_download_pybind11) >>> >>> >>> CMake Error at src/cmake/externalpackages.cmake:546 (file): >>> file STRINGS file "/usr/include/pybind11/detail/common.h" cannot be read. >>> Call Stack (most recent call first): >>> CMakeLists.txt:201 (find_or_download_pybind11) >>> >>> >>> -- pybind11 4.4, include dir: /usr/include >>> >>> ... >>> Makefile:367: recipe for target 'cmakesetup' failed >>> make: *** [cmakesetup] Error 1 >>> >>> It looks like it's checking >>> /usr/include/pybind11/detail/common.h >>> but mine doesn't live in "detail" >>> svhwan@DESKTOP-QM6M9UR:/usr$ ls /usr/include/pybind11/detail >>> ls: cannot access '/usr/include/pybind11/detail': No such file or directory >>> svhwan@DESKTOP-QM6M9UR:/usr$ ls /usr/include/pybind11/common.h >>> /usr/include/pybind11/common.h >>> >>> >>> >>> On Sun, Jan 13, 2019 at 5:13 PM Larry Gritz <[email protected] >>> <mailto:[email protected]>> wrote: >>> Steve, if you have the time, can you try: >>> >>> 1. rm -rf ext/pybind11 >>> 2. Download and apply this patch: >>> https://github.com/OpenImageIO/oiio/pull/2144 >>> <https://github.com/OpenImageIO/oiio/pull/2144> >>> 3. Verify that (a) the log shows it gave a warning about your system >>> install is too old and (b) then downloads the right version and completes >>> the build? >>> >>> >>> >>>> On Jan 13, 2019, at 4:21 PM, Larry Gritz <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> Scratch that. v2.2.0 is the earliest tagged release of pybind11 that works >>>> with OIIO 2.0+. >>>> >>>> >>>>> On Jan 13, 2019, at 4:18 PM, Larry Gritz <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Yeah, looks like pybind11 v2.1.0 is the minimum it needs. I'll put a >>>>> check for that in our build scripts. >>>>> >>>>> -- lg >>>>> >>>> >>>> -- >>>> Larry Gritz >>>> [email protected] <mailto:[email protected]> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Oiio-dev mailing list >>>> [email protected] <mailto:[email protected]> >>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>> -- >>> Larry Gritz >>> [email protected] <mailto:[email protected]> >>> >>> >>> >>> >>> _______________________________________________ >>> Oiio-dev mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>> _______________________________________________ >>> Oiio-dev mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >> >> -- >> Larry Gritz >> [email protected] <mailto:[email protected]> >> >> >> >> >> _______________________________________________ >> Oiio-dev mailing list >> [email protected] <mailto:[email protected]> >> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> > > -- > Larry Gritz > [email protected] <mailto:[email protected]> > > > > > _______________________________________________ > Oiio-dev mailing list > [email protected] <mailto:[email protected]> > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> > _______________________________________________ > Oiio-dev mailing list > [email protected] > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz [email protected]
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
