I think this one ought to fix the simd_test warnings: https://github.com/OpenImageIO/oiio/pull/2146
> On Jan 14, 2019, at 12:10 AM, Steve Hwan <[email protected]> wrote: > > Confirmed this second one works for me. > I started with a scratch clone of "release", then applied 2144.patch. I > retrieved it again to get your new one. > > The pybind11 section says: > CMake Warning at src/cmake/externalpackages.cmake:553 (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 > -- pybind11 2.2, include dir: > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/ext/pybind11/include > > And the build makes it all the way until the end. > > > One unrelated note: the simd_test spews out a bunch of warnings (not errors). > I'm not worried, but just in case you want to know, they're the only warnings > in my whole build. > Looks like maybe it's saying something would be dangerous in c++17? > > [ 82%] Building CXX object > src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o > cd > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/build/linux64/src/libutil > && /usr/bin/c++ -DUSE_STD_REGEX -D__STDC_CONSTANT_MACROS > -D__STDC_LIMIT_MACROS > -I/mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/build/linux64/include > -I/mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/include > -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/usr/include/OpenEXR > -O3 -DNDEBUG -Wall -fno-math-errno -Wno-error=unused-local-typedefs > -Wno-unused-local-typedefs -Wno-unused-result > -Wno-error=misleading-indentation -Wno-aligned-new -Wno-error=noexcept-type > -std=c++11 -UUSE_FIELD3D -o CMakeFiles/simd_test.dir/simd_test.cpp.o -c > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/libutil/simd_test.cpp > In file included from > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/libutil/simd_test.cpp:39:0: > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/include/OpenImageIO/benchmark.h:329:1: > warning: mangled name for ‘double OpenImageIO_v2_0::time_trial(FUNC, int, > int, double*) [with FUNC = benchmark2(OpenImageIO_v2_0::string_view, FUNC, T, > U, size_t) [with FUNC = float (*)(float, float) throw (); T = float; U = > float]::<lambda()>]’ will change in C++17 because the exception specification > is part of a function type [-Wnoexcept-type] > time_trial(FUNC func, int ntrials = 1, int nrepeats = 1, double* range = > NULL) > ^~~~~~~~~~ > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/include/OpenImageIO/benchmark.h:329:1: > warning: mangled name for ‘double OpenImageIO_v2_0::time_trial(FUNC, int, > int, double*) [with FUNC = benchmark(OpenImageIO_v2_0::string_view, FUNC, T, > size_t) [with FUNC = float (*)(float) throw (); T = float]::<lambda()>]’ will > change in C++17 because the exception specification is part of a function > type [-Wnoexcept-type] > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/libutil/simd_test.cpp:145:1: > warning: mangled name for ‘void benchmark2(OpenImageIO_v2_0::string_view, > FUNC, T, U, size_t) [with FUNC = float (*)(float, float) throw (); T = float; > U = float]’ will change in C++17 because the exception specification is part > of a function type [-Wnoexcept-type] > benchmark2(string_view funcname, FUNC func, T x, U y, size_t work = 0) > ^~~~~~~~~~ > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/libutil/simd_test.cpp:149:28: > warning: mangled name for ‘benchmark2(OpenImageIO_v2_0::string_view, FUNC, > T, U, size_t)::<lambda()> [with FUNC = float (*)(float, float) throw (); T = > float; U = float]’ will change in C++17 because the exception specification > is part of a function type [-Wnoexcept-type] > auto repeat_func = [&]() { > ^ > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/libutil/simd_test.cpp:121:1: > warning: mangled name for ‘void benchmark(OpenImageIO_v2_0::string_view, > FUNC, T, size_t) [with FUNC = float (*)(float) throw (); T = float]’ will > change in C++17 because the exception specification is part of a function > type [-Wnoexcept-type] > benchmark(string_view funcname, FUNC func, T x, size_t work = 0) > ^~~~~~~~~ > /mnt/d/Users/svhwan/developer_builds/oiio_2.00.04/src/libutil/simd_test.cpp:125:28: > warning: mangled name for ‘benchmark(OpenImageIO_v2_0::string_view, FUNC, T, > size_t)::<lambda()> [with FUNC = float (*)(float) throw (); T = float]’ will > change in C++17 because the exception specification is part of a function > type [-Wnoexcept-type] > auto repeat_func = [&](){ > ^ > [ 82%] Linking CXX executable simd_test > > > On Sun, Jan 13, 2019 at 11:12 PM Larry Gritz <[email protected] > <mailto:[email protected]>> wrote: > OK, take 2 on the first one: https://github.com/OpenImageIO/oiio/pull/2144 > <https://github.com/OpenImageIO/oiio/pull/2144> > > >> On Jan 13, 2019, at 10:44 PM, Steve Hwan <[email protected] >> <mailto:[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] <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
