LuxCore icon indicating copy to clipboard operation
LuxCore copied to clipboard

Build error with boost 1.81 with boost::filesystem::ofstream deprecation

Open mtasaka opened this issue 2 years ago • 0 comments

boost 1.79 deprecated boost/filesystem/string_file.hpp and with boost 1.81 boost::filesystem::ofstream or so is no longer available.

With boost 1.81, compiling luxcorerender 2.6 generates the following errors:

/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/ocl.cpp:306:44: error: 'ofstream' is not a member of 'boost::filesystem'; did you mean 'std::ofstream'?
  306 |                         boost::filesystem::ofstream file(boost::filesystem::path(fileName),
      |                                            ^~~~~~~~
In file included from /usr/include/c++/13/ios:40,
                 from /usr/include/c++/13/ostream:40,
                 from /usr/include/c++/13/iostream:41,
                 from /builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/ocl.cpp:21:
/usr/include/c++/13/iosfwd:167:41: note: 'std::ofstream' declared here
  167 |   typedef basic_ofstream<char>          ofstream;
      |                                         ^~~~~~~~
/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/ocl.cpp:313:25: error: 'file' was not declared in this scope
  313 |                         file.write((char *)&hashBin, sizeof(int));
      |                         ^~~~
/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/ocl.cpp:340:44: error: 'ifstream' is not a member of 'boost::filesystem'; did you mean 'std::ifstream'?
  340 |                         boost::filesystem::ifstream file(boost::filesystem::path(fileName),
      |                                            ^~~~~~~~
/usr/include/c++/13/iosfwd:164:41: note: 'std::ifstream' declared here
  164 |   typedef basic_ifstream<char>          ifstream;
      |                                         ^~~~~~~~
/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/ocl.cpp:345:25: error: 'file' was not declared in this scope
  345 |                         file.read((char *)&hashBin, sizeof(int));
      |                         ^~~~
make[2]: *** [src/luxrays/CMakeFiles/luxrays.dir/build.make:965: src/luxrays/CMakeFiles/luxrays.dir/utils/ocl.cpp.o] Error 1
/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/cuda.cpp:177:44: error: 'ofstream' is not a member of 'boost::filesystem'; did you mean 'std::ofstream'?
  177 |                         boost::filesystem::ofstream file(boost::filesystem::path(fileName),
      |                                            ^~~~~~~~
In file included from /usr/include/c++/13/ios:40,
                 from /usr/include/c++/13/ostream:40,
                 from /usr/include/c++/13/iostream:41,
                 from /builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/cuda.cpp:21:
/usr/include/c++/13/iosfwd:167:41: note: 'std::ofstream' declared here
  167 |   typedef basic_ofstream<char>          ofstream;
      |                                         ^~~~~~~~
[ 71%] Generating ../../generated/pyluxcoretools/utils/loghandler.py
cd /builddir/build/BUILD/LuxCore-luxcorerender_v2.6/redhat-linux-build/src/pyluxcoretools && /usr/bin/cmake -E copy /builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/pyluxcoretools/pyluxcoretools/utils/loghandler.py /builddir/build/BUILD/LuxCore-luxcorerender_v2.6/redhat-linux-build/generated/pyluxcoretools/utils/loghandler.py
/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/cuda.cpp:184:25: error: 'file' was not declared in this scope
  184 |                         file.write((char *)&hashBin, sizeof(int));
      |                         ^~~~
/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/cuda.cpp:209:44: error: 'ifstream' is not a member of 'boost::filesystem'; did you mean 'std::ifstream'?
  209 |                         boost::filesystem::ifstream file(boost::filesystem::path(fileName),
      |                                            ^~~~~~~~
/usr/include/c++/13/iosfwd:164:41: note: 'std::ifstream' declared here
  164 |   typedef basic_ifstream<char>          ifstream;
      |                                         ^~~~~~~~
/builddir/build/BUILD/LuxCore-luxcorerender_v2.6/src/luxrays/utils/cuda.cpp:214:25: error: 'file' was not declared in this scope
  214 |                         file.read((char *)&hashBin, sizeof(int));
      |                         ^~~~

mtasaka avatar Mar 09 '23 13:03 mtasaka