On Sat, Mar 30, 2024 at 07:55:58PM +0000, Stuart Henderson wrote: > On 2024/03/30 11:34, Stuart Henderson wrote: > > On 2024/03/29 08:20, Stuart Henderson wrote: > > > On 2024/03/28 21:51, Brad Smith wrote: > > > > On Thu, Mar 28, 2024 at 04:12:55PM +0000, Stuart Henderson wrote: > > > > > On 2024/03/25 23:07, Brad Smith wrote: > > > > > > Here is an update to OpenImageIO 2.5.9. > > > > > > > > > > 2.4.17.0 is broken on i386 - 2.5.9 doesn't fix it > > > > > > > > I noticed a package missing on amd64 for the last two bulk builds but > > > > haven't seen anything from naddy@ yet. It builds for me on my amd64 > > > > build host. > > > > > > That will have been due to the problem with the cmake update and > > > tiff - it built on amd64 in the current bulk. > > > > > > > This appears to have something to do with the last commit to > > > > strutil_test.cpp. > > > > Try the following.. > > > > > > Will do. > > > > FAILED: src/libutil/CMakeFiles/strutil_test.dir/strutil_test.cpp.o > > oops, missed -p0 on the patch command. will try again in the next bulk. I filed a bug report. Upstream provided a proper fix.
Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/openimageio/Makefile,v retrieving revision 1.69 diff -u -p -u -p -r1.69 Makefile --- Makefile 22 Mar 2024 12:25:32 -0000 1.69 +++ Makefile 30 Mar 2024 23:05:59 -0000 @@ -7,6 +7,7 @@ GH_ACCOUNT = AcademySoftwareFoundation GH_PROJECT = OpenImageIO GH_TAGNAME = v2.4.17.0 PKGNAME = ${DISTNAME:L} +REVISION = 0 SHARED_LIBS += OpenImageIO 14.0 # 2.4.10 SHARED_LIBS += OpenImageIO_Util 9.0 # 2.4.10 Index: patches/patch-src_include_OpenImageIO_detail_farmhash_h =================================================================== RCS file: patches/patch-src_include_OpenImageIO_detail_farmhash_h diff -N patches/patch-src_include_OpenImageIO_detail_farmhash_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_include_OpenImageIO_detail_farmhash_h 30 Mar 2024 23:05:59 -0000 @@ -0,0 +1,15 @@ +fix: Restore internals of strhash to compile on 32 bit architectures +https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4213 + +Index: src/include/OpenImageIO/detail/farmhash.h +--- src/include/OpenImageIO/detail/farmhash.h.orig ++++ src/include/OpenImageIO/detail/farmhash.h +@@ -2097,7 +2097,7 @@ STATIC_INLINE uint64_t Hash64(const char* s, size_t le + // May change from time to time, may differ on different platforms, may differ + // depending on NDEBUG. + STATIC_INLINE size_t Hash(const char* s, size_t len) { +- return sizeof(size_t) == 8 ? Hash64(s, len) : Hash32(s, len); ++ return sizeof(size_t) == 8 ? size_t(Hash64(s, len)) : size_t(Hash32(s, len)); + } + + // Hash function for a byte array. For convenience, a 64-bit seed is also Index: patches/patch-src_include_OpenImageIO_strutil_h =================================================================== RCS file: patches/patch-src_include_OpenImageIO_strutil_h diff -N patches/patch-src_include_OpenImageIO_strutil_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_include_OpenImageIO_strutil_h 30 Mar 2024 23:05:59 -0000 @@ -0,0 +1,20 @@ +fix: Restore internals of strhash to compile on 32 bit architectures +https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4213 + +Index: src/include/OpenImageIO/strutil.h +--- src/include/OpenImageIO/strutil.h.orig ++++ src/include/OpenImageIO/strutil.h +@@ -370,11 +370,11 @@ std::string OIIO_UTIL_API wordwrap (string_view src, i + + + /// Our favorite "string" hash of a length of bytes. Currently, it is just +-/// a wrapper for an inlined, constexpr (if C++ >= 14), Cuda-safe farmhash. ++/// a wrapper for an inlined, constexpr, Cuda-safe farmhash. + inline constexpr size_t + strhash (size_t len, const char *s) + { +- return OIIO::farmhash::inlined::Hash(s, len); ++ return size_t(OIIO::farmhash::inlined::Hash64(s, len)); + } + + Index: patches/patch-src_libutil_strutil_test_cpp =================================================================== RCS file: patches/patch-src_libutil_strutil_test_cpp diff -N patches/patch-src_libutil_strutil_test_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_libutil_strutil_test_cpp 30 Mar 2024 23:05:59 -0000 @@ -0,0 +1,24 @@ +fix: Restore internals of strhash to compile on 32 bit architectures +https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4213 + +Index: src/libutil/strutil_test.cpp +--- src/libutil/strutil_test.cpp.orig ++++ src/libutil/strutil_test.cpp +@@ -346,13 +346,13 @@ void + test_hash() + { + using namespace Strutil; +- OIIO_CHECK_EQUAL(strhash("foo"), 6150913649986995171); +- OIIO_CHECK_EQUAL(strhash(std::string("foo")), 6150913649986995171); +- OIIO_CHECK_EQUAL(strhash(string_view("foo")), 6150913649986995171); ++ OIIO_CHECK_EQUAL(strhash("foo"), size_t(6150913649986995171)); ++ OIIO_CHECK_EQUAL(strhash(std::string("foo")), size_t(6150913649986995171)); ++ OIIO_CHECK_EQUAL(strhash(string_view("foo")), size_t(6150913649986995171)); + OIIO_CHECK_EQUAL(strhash(""), 0); // empty string hashes to 0 + // Check longer hash and ensure that it's really constexpr + constexpr size_t hash = Strutil::strhash("much longer string"); +- OIIO_CHECK_EQUAL(hash, 16257490369375554819ULL); ++ OIIO_CHECK_EQUAL(hash, size_t(16257490369375554819ULL)); + } + +