Compile errors with OSL 11.13


luke.m.fowler@...
 

Hi

I've downloaded the sources and installed the pre-reqs and tweaked the CMakeLists.txt to use 14 instead of 11 as the compiler target but I am getting these errors when compiling.

Any help would be appreciated.  Thanks!

(Sorry for the length)

root@ubuntu:/home/luke/OpenShadingLanguage-1.11.13.0# make
gmake[1]: Entering directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
gmake[2]: Entering directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
gmake[3]: Entering directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
gmake[3]: Leaving directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
[  0%] Built target CopyFiles
gmake[3]: Entering directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
gmake[3]: Leaving directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
gmake[3]: Entering directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
[  0%] Building CXX object src/liboslcomp/CMakeFiles/oslcomp.dir/ast.cpp.o
In file included from /home/luke/OpenShadingLanguage-1.11.13.0/build/linux64/include/OSL/oslconfig.h:21,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/include/osl_pvt.h:9,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/liboslcomp/ast.cpp:14:
/usr/local/include/Imath/ImathColor.h: In static member function ‘static T Imath_3_0::Color4<T>::baseTypeMin()’:
/usr/local/include/Imath/ImathColor.h:248:55: error: ‘limits’ was not declared in this scope
  248 |     IMATH_HOSTDEVICE static T  baseTypeMin()  {return limits<T>::min();}
      |                                                       ^~~~~~
/usr/local/include/Imath/ImathColor.h:248:63: error: expected primary-expression before ‘>’ token
  248 |     IMATH_HOSTDEVICE static T  baseTypeMin()  {return limits<T>::min();}
      |                                                               ^
/usr/local/include/Imath/ImathColor.h:248:66: error: ‘::min’ has not been declared; did you mean ‘std::min’?
  248 |     IMATH_HOSTDEVICE static T  baseTypeMin()  {return limits<T>::min();}
      |                                                                  ^~~
      |                                                                  std::min
In file included from /usr/include/c++/10/algorithm:62,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/liboslcomp/ast.cpp:5:
/usr/include/c++/10/bits/stl_algo.h:3474:5: note: ‘std::min’ declared here
 3474 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from /home/luke/OpenShadingLanguage-1.11.13.0/build/linux64/include/OSL/oslconfig.h:21,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/include/osl_pvt.h:9,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/liboslcomp/ast.cpp:14:
/usr/local/include/Imath/ImathColor.h: In static member function ‘static T Imath_3_0::Color4<T>::baseTypeMax()’:
/usr/local/include/Imath/ImathColor.h:249:55: error: ‘limits’ was not declared in this scope
  249 |     IMATH_HOSTDEVICE static T  baseTypeMax()  {return limits<T>::max();}
      |                                                       ^~~~~~
/usr/local/include/Imath/ImathColor.h:249:63: error: expected primary-expression before ‘>’ token
  249 |     IMATH_HOSTDEVICE static T  baseTypeMax()  {return limits<T>::max();}
      |                                                               ^
/usr/local/include/Imath/ImathColor.h:249:66: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  249 |     IMATH_HOSTDEVICE static T  baseTypeMax()  {return limits<T>::max();}
      |                                                                  ^~~
      |                                                                  std::max
In file included from /usr/include/c++/10/algorithm:62,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/liboslcomp/ast.cpp:5:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: ‘std::max’ declared here
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from /home/luke/OpenShadingLanguage-1.11.13.0/build/linux64/include/OSL/oslconfig.h:21,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/include/osl_pvt.h:9,
                 from /home/luke/OpenShadingLanguage-1.11.13.0/src/liboslcomp/ast.cpp:14:
/usr/local/include/Imath/ImathColor.h: In static member function ‘static T Imath_3_0::Color4<T>::baseTypeSmallest()’:
/usr/local/include/Imath/ImathColor.h:250:59: error: ‘limits’ was not declared in this scope
  250 |     IMATH_HOSTDEVICE static T  baseTypeSmallest() {return limits<T>::smallest();}
      |                                                           ^~~~~~
/usr/local/include/Imath/ImathColor.h:250:67: error: expected primary-expression before ‘>’ token
  250 |     IMATH_HOSTDEVICE static T  baseTypeSmallest() {return limits<T>::smallest();}
      |                                                                   ^
/usr/local/include/Imath/ImathColor.h:250:70: error: ‘::smallest’ has not been declared
  250 |     IMATH_HOSTDEVICE static T  baseTypeSmallest() {return limits<T>::smallest();}
      |                                                                      ^~~~~~~~
/usr/local/include/Imath/ImathColor.h: In static member function ‘static T Imath_3_0::Color4<T>::baseTypeEpsilon()’:
/usr/local/include/Imath/ImathColor.h:251:58: error: ‘limits’ was not declared in this scope
  251 |     IMATH_HOSTDEVICE static T  baseTypeEpsilon() {return limits<T>::epsilon();}
      |                                                          ^~~~~~
/usr/local/include/Imath/ImathColor.h:251:66: error: expected primary-expression before ‘>’ token
  251 |     IMATH_HOSTDEVICE static T  baseTypeEpsilon() {return limits<T>::epsilon();}
      |                                                                  ^
/usr/local/include/Imath/ImathColor.h:251:69: error: ‘::epsilon’ has not been declared
  251 |     IMATH_HOSTDEVICE static T  baseTypeEpsilon() {return limits<T>::epsilon();}
      |                                                                     ^~~~~~~
gmake[3]: *** [src/liboslcomp/CMakeFiles/oslcomp.dir/build.make:77: src/liboslcomp/CMakeFiles/oslcomp.dir/ast.cpp.o] Error 1
gmake[3]: Leaving directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
gmake[2]: *** [CMakeFiles/Makefile2:1180: src/liboslcomp/CMakeFiles/oslcomp.dir/all] Error 2
gmake[2]: Leaving directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
gmake[1]: *** [Makefile:163: all] Error 2
gmake[1]: Leaving directory '/home/luke/OpenShadingLanguage-1.11.13.0/build/linux64'
make: *** [Makefile:280: build] Error 2