Hi

Guess this got missed over the holidays. Any thoughts?

On 14/12/19 4:06 pm, Shane Ambler wrote:
> Hi Larry,
> 
> Just installed oiio 2.1.9.0 and osl 1.10.8 and tried building blender.
> Do we need the extra digit? Releases were all three digit before this.
> 
> I get an error from oiio's unordered_map_concurrent.h wanting to use two
> args, this looks to be robin-map related, which I have system installed
> the same 0.6.2 version used with oiio 2.0.11
> 
> I have tried removing find_or_download_robin_map and building oiio but
> it still fails.
> 
> 
> If I undo most of bd78907ac77320367ab0693470 blender builds and runs
> 
> --- src/include/OpenImageIO/unordered_map_concurrent.h.orig   2019-12-14
> 15:40:07 UTC
> +++ src/include/OpenImageIO/unordered_map_concurrent.h
> @@ -269,7 +269,7 @@ class unordered_map_concurrent { (public)
>          Bin& bin(m_bins[b]);
>          if (do_lock)
>              bin.lock();
> -        typename BinMap_t::iterator it = bin.map.find(key, hash);
> +        typename BinMap_t::iterator it = bin.map.find(key);
>          if (it == bin.map.end()) {
>              // not found -- return the 'end' iterator
>              if (do_lock)
> @@ -296,7 +296,7 @@ class unordered_map_concurrent { (public)
>          Bin& bin(m_bins[b]);
>          if (do_lock)
>              bin.lock();
> -        typename BinMap_t::iterator it = bin.map.find(key, hash);
> +        typename BinMap_t::iterator it = bin.map.find(key);
>          bool found                     = (it != bin.map.end());
>          if (found)
>              value = it->second;
> @@ -338,7 +338,7 @@ class unordered_map_concurrent { (public)
>          Bin& bin(m_bins[b]);
>          if (do_lock)
>              bin.lock();
> -        bin.map.erase(key, hash);
> +        bin.map.erase(key);
>          if (do_lock)
>              bin.unlock();
>      }
> 
> --- src/libtexture/imagecache_pvt.h.orig      2019-12-14 15:41:54 UTC
> +++ src/libtexture/imagecache_pvt.h
> @@ -436,7 +436,7 @@ typedef unordered_map_concurrent<
>      ustring, ImageCacheFileRef, ustringHash, std::equal_to<ustring>,
>      FILE_CACHE_SHARDS, tsl::robin_map<ustring, ImageCacheFileRef,
> ustringHash>>
>      FilenameMap;
> -typedef tsl::robin_map<ustring, ImageCacheFileRef, ustringHash>
> FingerprintMap;
> +typedef std::unordered_map<ustring, ImageCacheFileRef, ustringHash>
> FingerprintMap;
> 
> 
> 
> 
> 
> Relevant blender build error -
> 
> [ 80%] Building CXX object
> source/blender/compositor/CMakeFiles/bf_compositor.dir/nodes/COM_ScaleNode.cpp.o
> In file included from
> /home/shane/Projects/blender-bits/blender-trunk/blender/intern/cycles/kernel/osl/osl_services.cpp:34:
> In file included from
> /home/shane/Projects/blender-bits/blender-trunk/blender/intern/cycles/kernel/osl/../../kernel/osl/osl_globals.h:25:
> /usr/local/include/OpenImageIO/unordered_map_concurrent.h:272:50: error:
> no matching member function for call to 'find'
>         typename BinMap_t::iterator it = bin.map.find(key, hash);
>                                          ~~~~~~~~^~~~
> /home/shane/Projects/blender-bits/blender-trunk/blender/intern/cycles/kernel/osl/osl_services.cpp:1014:47:
> note: in instantiation of member function
> 'OpenImageIO_v2_1::unordered_map_concurrent<OpenImageIO_v2_1::ustring,
> OpenImageIO_v2_1::intrusive_ptr<ccl::OSLTextureHandle>,
> OpenImageIO_v2_1::ustringHash,
> std::__1::equal_to<OpenImageIO_v2_1::ustring>, 16,
> std::__1::unordered_map<OpenImageIO_v2_1::ustring,
> OpenImageIO_v2_1::intrusive_ptr<ccl::OSLTextureHandle>,
> OpenImageIO_v2_1::ustringHash,
> std::__1::equal_to<OpenImageIO_v2_1::ustring>,
> std::__1::allocator<std::__1::pair<const OpenImageIO_v2_1::ustring,
> OpenImageIO_v2_1::intrusive_ptr<ccl::OSLTextureHandle> > > > >::find'
> requested here
>   OSLTextureHandleMap::iterator it = textures.find(filename);
>                                               ^
> /usr/include/c++/v1/unordered_map:1274:20: note: candidate function not
> viable: requires single argument '__k', but 2 arguments were provided
>     iterator       find(const key_type& __k)       {return
> __table_.find(__k);}
>                    ^
> /usr/include/c++/v1/unordered_map:1276:20: note: candidate function not
> viable: requires single argument '__k', but 2 arguments were provided
>     const_iterator find(const key_type& __k) const {return
> __table_.find(__k);}
>                    ^
> 1 error generated.
> 


-- 
FreeBSD - the place to B...Software Developing

Shane Ambler

_______________________________________________
Oiio-dev mailing list
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to