Closed satyries closed 6 years ago
I have compiled Lux with Ubuntu 14.04 LTS and 16.04 LTS but I have never tried 18.04. Is it a beta ? Or has been already released ?
It looks like a problem between unicode related headers and Qt v4.8 sources.
The simpler solution is probably to use a virtual machine (VirtualBox, etc.) with Ubuntu 14 or 16 installed and compile the Lux executables there. Once compiled, they are statically linked to the libraries so you should be able to copy them on your 18.04 and they should work fine.
18.04 is not yet released. I am, indeed, tracing back *buntu releases to find the one that may compile right.
Currently I am testing on 17.10:on an absolute fresh install with qemu I`ve run this (after obvious update)
sudo apt install git build-essential libtiff-dev libjpeg-dev cmake libtool-bin libbz2-dev libbz2-1.0 opencl-headers python3-pip libgtk-3-dev -y&&\
sudo pip3 install pyinstaller&&\
git clone https://github.com/LuxCoreRender/LinuxCompile.git&&\
cd LinuxCompile&&\
git clone https://github.com/LuxCoreRender/LuxCore.git&&\
time ./build-64-sse2 LuxCore
the result are these errors:
[ --cut-- ]
[ 1%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/accelerators/bvhaccel.cpp.o
[ 1%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/film.cpp.o
[ 1%] Building CXX object src/slg/CMakeFiles/slg-core.dir/bsdf/bsdf.cpp.o
[ 1%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/accelerators/bvhaccelocl.cpp.o
[ 1%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/filmconvtest.cpp.o
[ 2%] Building CXX object src/slg/CMakeFiles/slg-core.dir/cameras/camera.cpp.o
[ 2%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/accelerators/embreeaccel.cpp.o
[ 2%] Building CXX object src/slg/CMakeFiles/slg-core.dir/cameras/environment.cpp.o
[ 2%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/filmocl.cpp.o
[ 2%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/accelerators/mbvhaccel.cpp.o
[ 2%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/filmoutput.cpp.o
[ 2%] Building CXX object src/slg/CMakeFiles/slg-core.dir/cameras/orthographic.cpp.o
[ 2%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/accelerators/mbvhaccelocl.cpp.o
[ 2%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/filmoutputs.cpp.o
[ 2%] Building CXX object src/slg/CMakeFiles/slg-core.dir/cameras/perspective.cpp.o
[ 2%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/core/bvh/bvhbuild.cpp.o
[ 3%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/filmparse.cpp.o
[ 3%] Building CXX object src/slg/CMakeFiles/slg-core.dir/cameras/projective.cpp.o
[ 4%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/core/bvh/bvhclassicbuild.cpp.o
/home/user/LinuxCompile/LuxCore/src/slg/film/filmparse.cpp: In static member function ‘static slg::ImagePipeline* slg::Film::AllocImagePipeline(const luxrays::Properties&, const string&)’:
/home/user/LinuxCompile/LuxCore/src/slg/film/filmparse.cpp:419:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImagePipeline> imagePipeline(new ImagePipeline());
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /home/user/LinuxCompile/target-64-sse2/include/boost/algorithm/string/case_conv.hpp:16,
from /home/user/LinuxCompile/LuxCore/src/slg/film/filmparse.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ --cut-- ]
[ 7%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/core/color/spds/rgbrefl.cpp.o
/home/user/LinuxCompile/LuxCore/src/slg/film/filmproperties.cpp: In static member function ‘static slg::Film* slg::Film::FromProperties(const luxrays::Properties&)’:
/home/user/LinuxCompile/LuxCore/src/slg/film/filmproperties.cpp:111:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<Film> film(new Film(filmFullWidth, filmFullHeight,
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/target-64-sse2/include/boost/config/no_tr1/memory.hpp:21,
from /home/user/LinuxCompile/target-64-sse2/include/boost/smart_ptr/shared_ptr.hpp:23,
from /home/user/LinuxCompile/target-64-sse2/include/boost/shared_ptr.hpp:17,
from /home/user/LinuxCompile/target-64-sse2/include/boost/date_time/time_clock.hpp:17,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/thread_time.hpp:9,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/lock_types.hpp:18,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/pthread/mutex.hpp:15,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/mutex.hpp:16,
from /home/user/LinuxCompile/LuxCore/include/slg/film/film.h:31,
from /home/user/LinuxCompile/LuxCore/src/slg/film/filmproperties.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/film/filmproperties.cpp:132:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImagePipeline> imagePipeline(new ImagePipeline());
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/target-64-sse2/include/boost/config/no_tr1/memory.hpp:21,
from /home/user/LinuxCompile/target-64-sse2/include/boost/smart_ptr/shared_ptr.hpp:23,
from /home/user/LinuxCompile/target-64-sse2/include/boost/shared_ptr.hpp:17,
from /home/user/LinuxCompile/target-64-sse2/include/boost/date_time/time_clock.hpp:17,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/thread_time.hpp:9,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/lock_types.hpp:18,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/pthread/mutex.hpp:15,
from /home/user/LinuxCompile/target-64-sse2/include/boost/thread/mutex.hpp:16,
from /home/user/LinuxCompile/LuxCore/include/slg/film/film.h:31,
from /home/user/LinuxCompile/LuxCore/src/slg/film/filmproperties.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ 7%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/radiancechannelscale.cpp.o
[ --cut-- ]
[ 10%] Building CXX object src/luxrays/CMakeFiles/luxrays.dir/core/device.cpp.o
/home/user/LinuxCompile/LuxCore/src/slg/engines/tilerepository.cpp: In member function ‘void slg::TileRepository::Tile::InitTileFilm(const slg::Film&, slg::Film**)’:
/home/user/LinuxCompile/LuxCore/src/slg/engines/tilerepository.cpp:94:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImagePipeline> imagePipeline(new ImagePipeline());
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /home/user/LinuxCompile/target-64-sse2/include/boost/format.hpp:23,
from /home/user/LinuxCompile/LuxCore/src/slg/engines/tilerepository.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/engines/tilerepository.cpp: In static member function ‘static slg::TileRepository* slg::TileRepository::FromProperties(const luxrays::Properties&)’:
/home/user/LinuxCompile/LuxCore/src/slg/engines/tilerepository.cpp:564:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<TileRepository> tileRepository(new TileRepository(tileWidth, tileHeight));
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /home/user/LinuxCompile/target-64-sse2/include/boost/format.hpp:23,
from /home/user/LinuxCompile/LuxCore/src/slg/engines/tilerepository.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ 10%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/filters/box.cpp.o
[ --cut-- ]
[ 24%] Building CXX object src/slg/CMakeFiles/slg-core.dir/engines/rtpathcpu/rtpathcpu.cpp.o
/home/user/LinuxCompile/LuxCore/src/luxrays/utils/properties.cpp: In destructor ‘luxrays::PropertyValue::~PropertyValue()’:
/home/user/LinuxCompile/LuxCore/src/luxrays/utils/properties.cpp:181:101: warning: throw will always call terminate() [-Wterminate]
throw std::runtime_error("Unknown type in PropertyValue::~PropertyValue(): " + ToString(dataType));
^
/home/user/LinuxCompile/LuxCore/src/luxrays/utils/properties.cpp:181:101: note: in C++11 destructors default to noexcept
[ 24%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/imagepipeline/plugins/outputswitcher.cpp.o
[ --cut-- ]
[ 73%] Building CXX object src/slg/CMakeFiles/slg-film.dir/film/imagepipeline/plugins/tonemaps/tonemap.cpp.o
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp: In member function ‘virtual slg::ImageMapStorage* slg::ImageMapStorageImpl<T, CHANNELS>::Copy() const’:
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:483:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImageMapPixel<T, CHANNELS> > newPixels(new ImageMapPixel<T, CHANNELS>[pixelCount]);
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:22:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp: In member function ‘virtual slg::ImageMapStorage* slg::ImageMapStorageImpl<T, CHANNELS>::SelectChannel(slg::ImageMapStorage::ChannelSelectionType) const’:
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:515:5: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImageMapPixel<T, 1> > newPixels(new ImageMapPixel<T, 1>[pixelCount]);
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:22:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:533:5: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImageMapPixel<T, 1> > newPixels(new ImageMapPixel<T, 1>[pixelCount]);
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:22:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:556:5: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImageMapPixel<T, 1> > newPixels(new ImageMapPixel<T, 1>[pixelCount]);
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:22:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:571:5: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImageMapPixel<T, 1> > newPixels(new ImageMapPixel<T, 1>[pixelCount]);
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:22:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:601:5: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImageMapPixel<T, 3> > newPixels(new ImageMapPixel<T, 3>[pixelCount]);
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:22:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp: In constructor ‘slg::ImageMap::ImageMap(const string&, float, slg::ImageMapStorage::StorageType, slg::ImageMapStorage::WrapType)’:
/home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:641:3: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<ImageInput> in(ImageInput::open(fileName, &config));
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/imagemap/imagemap.cpp:22:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ 73%] Building CXX object src/luxcore/CMakeFiles/luxcore.dir/luxcoreimpl.cpp.o
[ --cut-- ]
[ 74%] Building CXX object src/slg/CMakeFiles/slg-core.dir/imagemap/imagemapcache.cpp.o
/home/user/LinuxCompile/LuxCore/src/luxcore/luxcoreimpl.cpp: In constructor ‘luxcore::detail::RenderSessionImpl::RenderSessionImpl(const luxcore::detail::RenderConfigImpl*, const string&, const string&)’:
/home/user/LinuxCompile/LuxCore/src/luxcore/luxcoreimpl.cpp:790:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<slg::Film> startFilm(slg::Film::LoadSerialized(startFilmFileName));
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /home/user/LinuxCompile/target-64-sse2/include/boost/format.hpp:23,
from /home/user/LinuxCompile/LuxCore/src/luxcore/luxcoreimpl.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/home/user/LinuxCompile/LuxCore/src/luxcore/luxcoreimpl.cpp:791:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<slg::RenderState> startState(slg::RenderState::LoadSerialized(startStateFileName));
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /home/user/LinuxCompile/target-64-sse2/include/boost/format.hpp:23,
from /home/user/LinuxCompile/LuxCore/src/luxcore/luxcoreimpl.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ 75%] Building CXX object src/luxcore/CMakeFiles/luxcore.dir/luxparser/luxparse.cpp.o
[ --cut-- ]
[ 76%] Linking CXX executable ../../bin/benchsimple
/usr/bin/ld: cannot find -lembree
/usr/bin/ld: cannot find -lboost_thread
/usr/bin/ld: cannot find -lboost_program_options
/usr/bin/ld: cannot find -lboost_filesystem
/usr/bin/ld: cannot find -lboost_serialization
/usr/bin/ld: cannot find -lboost_iostreams
/usr/bin/ld: cannot find -lboost_regex
/usr/bin/ld: cannot find -lboost_system
/usr/bin/ld: cannot find -lboost_python
/usr/bin/ld: cannot find -lboost_chrono
/usr/bin/ld: cannot find -lboost_serialization
/usr/bin/ld: cannot find -lboost_iostreams
/usr/bin/ld: cannot find -lboost_regex
/usr/bin/ld: cannot find -lboost_system
/usr/bin/ld: cannot find -lboost_python
/usr/bin/ld: cannot find -lboost_chrono
/usr/bin/ld: cannot find -lboost_date_time
collect2: error: ld returned 1 exit status
tests/benchsimple/CMakeFiles/benchsimple.dir/build.make:115: recipe for target 'bin/benchsimple' failed
make[2]: *** [bin/benchsimple] Error 1
CMakeFiles/Makefile2:543: recipe for target 'tests/benchsimple/CMakeFiles/benchsimple.dir/all' failed
make[1]: *** [tests/benchsimple/CMakeFiles/benchsimple.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 76%] Building CXX object src/slg/CMakeFiles/slg-core.dir/lights/lightsourcedefs.cpp.o
[ --cut-- ]
[ 84%] Building CXX object src/slg/CMakeFiles/slg-core.dir/scene/parsematerials.cpp.o
/home/user/LinuxCompile/LuxCore/src/slg/scene/parsecamera.cpp: In member function ‘slg::Camera* slg::Scene::CreateCamera(const luxrays::Properties&)’:
/home/user/LinuxCompile/LuxCore/src/slg/scene/parsecamera.cpp:77:2: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
auto_ptr<Camera> camera;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /home/user/LinuxCompile/LuxCore/include/luxrays/utils/utils.h:27,
from /home/user/LinuxCompile/LuxCore/include/luxrays/core/geometry/vector.h:28,
from /home/user/LinuxCompile/LuxCore/include/luxrays/core/geometry/transform.h:22,
from /home/user/LinuxCompile/LuxCore/include/slg/cameras/camera.h:23,
from /home/user/LinuxCompile/LuxCore/include/slg/cameras/environment.h:22,
from /home/user/LinuxCompile/LuxCore/src/slg/scene/parsecamera.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ 85%] Building CXX object src/slg/CMakeFiles/slg-core.dir/scene/parseobjects.cpp.o
[ --cut-- ]
[ 96%] Building CXX object src/slg/CMakeFiles/slg-core.dir/renderstate.cpp.o
/home/user/LinuxCompile/LuxCore/src/slg/renderconfig.cpp:60:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
static auto_ptr<Properties> defaultProperties;
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from /home/user/LinuxCompile/LuxCore/src/slg/renderconfig.cpp:19:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ 97%] Linking CXX static library ../../lib/libslg-core.a
[ 97%] Built target slg-core
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
!!! luxrays luxcore pyluxcore luxcoreui compilation failed
real 54m20,287s
user 60m6,986s
sys 3m42,522s
I`ll make another fresh install with 16.04 and test it again
I use 14.04 LTS every day and I have used 16.04 few times on Amazon EC2 instances with LuxCoreRender.
System: *buntu 18.04 Kernel 4.15.0-10-generic Intel(R) HD Graphics Haswell (OpenCL 2.1)
After 37 minutes of compiling, the compile script drop with: