mitsuba-renderer / mitsuba

Mitsuba renderer main repository
GNU General Public License v3.0
1.04k stars 319 forks source link

Compiling Mitsuba 0.6.0 on Ubuntu 18.04 LTS #140

Open JPaparone-inria opened 3 years ago

JPaparone-inria commented 3 years ago

Hi, I've been trying to compile Mitsuba on my Linux, and now that I've dealt with the Qt5.pc->Qt.pc thingy as explained in #125, I'm experiencing a huge chunk of compilation errors with no real explanation, although I'm suspecting the compiler referring to Qt4 causing some havoc here. This looks like this :

[ normal behavior ]

scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/release/mtsgui/aboutdlg.o -c -DGLEW_MX -O3 -Wall -g -pipe -march=nocona -msse2 -ftree-vectorize -mfpmath=sse -funsafe-math-optimizations -fno-rounding-math -fno-signaling-nans -fno-math-errno -fomit-frame-pointer -DMTS_DEBUG -DSINGLE_PRECISION -DSPECTRUM_SAMPLES=3 -DMTS_SSE -DMTS_HAS_COHERENT_RT -fopenmp -fvisibility=hidden -mtls-dialect=gnu2 -DMTS_HAS_LIBPNG=1 -DMTS_HAS_LIBJPEG=1 -DMTS_HAS_OPENEXR=1 -DMTS_HAS_FFTW=1 -DMTS_HAS_COLLADA=1 -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -DQT_OPENGL_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_SHARED -I/usr/include/eigen3 -I/usr/include/OpenEXR -Iinclude -Isrc/mtsgui -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtOpenGL -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore build/release/mtsgui/aboutdlg.cpp
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QtWidgets:4,
                 from build/release/mtsgui/common.h:24,
                 from build/release/mtsgui/aboutdlg.h:22,
                 from build/release/mtsgui/aboutdlg.cpp:20:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:52:0: warning: "Q_GUI_EXPORT" redefined
 #    define Q_GUI_EXPORT Q_DECL_IMPORT

In file included from /usr/include/qt4/QtCore/qatomic.h:45:0,
                 from /usr/include/qt4/QtCore/qvariant.h:45,
                 from /usr/include/qt4/QtCore/QVariant:1,
                 from build/release/mtsgui/ui_aboutdlg.h:12,
                 from build/release/mtsgui/aboutdlg.cpp:19:
/usr/include/qt4/QtCore/qglobal.h:1547:0: note: this is the location of the previous definition
 #    define Q_GUI_EXPORT Q_DECL_EXPORT

In file included from build/release/mtsgui/common.h:24:0,
                 from build/release/mtsgui/aboutdlg.h:22,
                 from build/release/mtsgui/aboutdlg.cpp:20:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QtWidgets:5:14: error: missing binary operator before token "("
 #if QT_CONFIG(abstractbutton)
              ^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QtWidgets:8:14: error: missing binary operator before token "("
 #if QT_CONFIG(itemviews)

[then the same "missing binary operator..." error on and on again until exhaustion]

Any clue watsoever ? Thanks in advance.

mfischer-ucl commented 2 years ago

I'm having the exact same issues. Any hints?

Edit: I solved it by installing sudo apt install libqt5xmlpatterns5-dev

Idk why that works, but after that, scons compiled just fine. Kudos to this!