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

Reply via email to