Repository navigation
Closed
Labels
os: linuxSpecific issues for Linux-family OSSpecific issues for Linux-family OS
Milestone
Description
v24.3 compilation fails with error:
[ 41%] Building CXX object src/CMakeFiles/stelMain.dir/core/modules/SolarSystem.cpp.o
cd /home/dimich/work/src/stellarium/BUILD/src && /usr/bin/ccache /usr/bin/c++ -DCOPYRIGHT_YEARS=\"2000-2024\" -DENABLE_MEDIA -DENABLE_NLS -DENABLE_SCRIPTING -DENABLE_SCRIPT_CONSOLE -DENABLE_SCRIPT_QML -DENABLE_SHOWMYSKY -DENABLE_XLSX -DEXV_LOCALEDIR=\"../share/locale\" -DINSTALL_DATADIR=\"/usr/local/share/stellarium\" -DNDEBUG -DNLOPT_DLL -DPACKAGE_VERSION=\"24.3.0\" -DQT_CHARTS_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGLWIDGETS_LIB -DQT_OPENGL_LIB -DQT_POSITIONING_LIB -DQT_PRINTSUPPORT_LIB -DQT_QMLBUILTINS_LIB -DQT_QMLINTEGRATION_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICK_LIB -DQT_WEBCHANNEL_LIB -DQT_WEBENGINECORE_LIB -DQT_WEBENGINEWIDGETS_LIB -DQT_WIDGETS_LIB -DSTD_EXECUTION_KNOWN -DSTELLARIUM_BUIDING_VERSION=\"24.3\" -DSTELLARIUM_COMPILER="\"GNU 14.2.1\"" -DSTELLARIUM_COPYRIGHT="\"Copyright (C) 2000-2024 Stellarium Developers\"" -DSTELLARIUM_DEV_URL=\"https://github.com/Stellarium/stellarium\" -DSTELLARIUM_MAJOR=24 -DSTELLARIUM_MINOR=3 -DSTELLARIUM_PATCH=0 -DSTELLARIUM_PUBLIC_VERSION=\"24.3\" -DSTELLARIUM_RELEASE_BUILD -DSTELLARIUM_SERIES=\"24.0\" -DSTELLARIUM_SOURCE_DIR=\"/home/dimich/work/src/stellarium\" -DSTELLARIUM_URL=\"https://stellarium.org/\" -DUSE_BUNDLED_QTCOMPRESS -DUSE_STATIC_PLUGIN_ANGLEMEASURE -DUSE_STATIC_PLUGIN_ARCHAEOLINES -DUSE_STATIC_PLUGIN_CALENDARS -DUSE_STATIC_PLUGIN_EQUATIONOFTIME -DUSE_STATIC_PLUGIN_EXOPLANETS -DUSE_STATIC_PLUGIN_LENSDISTORTIONESTIMATOR -DUSE_STATIC_PLUGIN_METEORSHOWERS -DUSE_STATIC_PLUGIN_MISSINGSTARS -DUSE_STATIC_PLUGIN_NAVSTARS -DUSE_STATIC_PLUGIN_NOVAE -DUSE_STATIC_PLUGIN_OBSERVABILITY -DUSE_STATIC_PLUGIN_OCULARS -DUSE_STATIC_PLUGIN_ONLINEQUERIES -DUSE_STATIC_PLUGIN_POINTERCOORDINATES -DUSE_STATIC_PLUGIN_PULSARS -DUSE_STATIC_PLUGIN_QUASARS -DUSE_STATIC_PLUGIN_REMOTECONTROL -DUSE_STATIC_PLUGIN_REMOTESYNC -DUSE_STATIC_PLUGIN_SATELLITES -DUSE_STATIC_PLUGIN_SCENERY3D -DUSE_STATIC_PLUGIN_SOLARSYSTEMEDITOR -DUSE_STATIC_PLUGIN_SUPERNOVAE -DUSE_STATIC_PLUGIN_TEXTUSERINTERFACE -D_USE_MATH_DEFINES -I/home/dimich/work/src/stellarium/BUILD/src -I/home/dimich/work/src/stellarium/src -I/home/dimich/work/src/stellarium/BUILD/src/stelMain_autogen/include -I/home/dimich/work/src/stellarium/BUILD -I/home/dimich/work/src/stellarium/src/core -I/home/dimich/work/src/stellarium/src/core/modules -I/home/dimich/work/src/stellarium/src/core/planetsephems -I/home/dimich/work/src/stellarium/src/gui -I/home/dimich/work/src/stellarium/src/scripting -I/home/dimich/work/src/stellarium/src/external/glues_stel/source -I/home/dimich/work/src/stellarium/plugins/RemoteControl/src/../include -I/home/dimich/work/src/stellarium/src/external/qtcompress -I/home/dimich/work/src/stellarium/BUILD/_deps/qxlsxqt6-src/QXlsx/header -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6/QtQml -isystem /usr/include/qt6/QtQmlIntegration -isystem /usr/include/qt6/QtQmlBuiltins -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/qt6/QtCharts -isystem /usr/include/qt6/QtOpenGL -isystem /usr/include/qt6/QtOpenGLWidgets -isystem /usr/include/qt6/QtWebEngineWidgets -isystem /usr/include/qt6/QtWebEngineCore -isystem /usr/include/qt6/QtQuick -isystem /usr/include/qt6/QtQmlModels -isystem /usr/include/qt6/QtWebChannel -isystem /usr/include/qt6/QtPositioning -isystem /usr/include/qt6/QtPrintSupport -isystem /usr/include/qt6/QtGui/6.7.2 -isystem /usr/include/qt6/QtGui/6.7.2/QtGui -isystem /usr/include/qt6/QtCore/6.7.2 -isystem /usr/include/qt6/QtCore/6.7.2/QtCore -isystem /usr/include/qt6/QtConcurrent -isystem /usr/include/qt6/QtMultimedia -isystem /usr/include/qt6/QtMultimediaWidgets -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-result -O3 -DNDEBUG -std=c++17 -mno-direct-extern-access -Winvalid-pch -include /home/dimich/work/src/stellarium/BUILD/src/CMakeFiles/stelMain.dir/cmake_pch.hxx -MD -MT src/CMakeFiles/stelMain.dir/core/modules/SolarSystem.cpp.o -MF CMakeFiles/stelMain.dir/core/modules/SolarSystem.cpp.o.d -o CMakeFiles/stelMain.dir/core/modules/SolarSystem.cpp.o -c /home/dimich/work/src/stellarium/src/core/modules/SolarSystem.cpp
In file included from /usr/include/oneapi/tbb/detail/_small_object_pool.h:23,
from /usr/include/oneapi/tbb/detail/_task.h:23,
from /usr/include/oneapi/tbb/parallel_for.h:23,
from /usr/include/tbb/parallel_for.h:17,
from /usr/include/c++/14.2.1/pstl/parallel_backend_tbb.h:25,
from /usr/include/c++/14.2.1/pstl/parallel_backend.h:20,
from /usr/include/c++/14.2.1/pstl/algorithm_impl.h:22,
from /usr/include/c++/14.2.1/pstl/glue_execution_defs.h:50,
from /usr/include/c++/14.2.1/execution:39,
from /home/dimich/work/src/stellarium/src/core/modules/SolarSystem.cpp:51:
/usr/include/oneapi/tbb/profiling.h:229:15: error: expected unqualified-id before β)β token
229 | void emit() { }
| ^
/usr/include/oneapi/tbb/profiling.h:231:22: error: expected unqualified-id before βconstβ
231 | static void emit(const std::string &) { }
| ^~~~~
/usr/include/oneapi/tbb/profiling.h:231:22: error: expected β)β before βconstβ
231 | static void emit(const std::string &) { }
| ~^~~~~
| )
make[2]: *** [src/CMakeFiles/stelMain.dir/build.make:2054: src/CMakeFiles/stelMain.dir/core/modules/SolarSystem.cpp.o] Error 1
make[2]: Leaving directory '/home/dimich/work/src/stellarium/BUILD'
make[1]: *** [CMakeFiles/Makefile2:2896: src/CMakeFiles/stelMain.dir/all] Error 2
make[1]: Leaving directory '/home/dimich/work/src/stellarium/BUILD'
make: *** [Makefile:156: all] Error 2
Steps to reproduce
$ mkdir BUILD
$ cd BUILD
$ cmake -DUSE_PLUGIN_TELESCOPECONTROL=0 -DENABLE_GPS=0 ..
...
$ make VERBOSE=1
System
- Stellarium version: v24.3 (https://github.com/Stellarium/stellarium/tree/v24.3)
- Operating system: Arch Linux x86_64 GNU/Linux
- GCC: 14.2.1 20240910
- TBB: onetbb 2021.13.0
Cmake configuration output:
$ cmake -DUSE_PLUGIN_TELESCOPECONTROL=0 -DENABLE_GPS=0 ..
-- Found CMake 3.30.3
-- The C compiler identification is GNU 14.2.1
-- The CXX compiler identification is GNU 14.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Platform: Linux-6.10.10-arch1-1 (x86_64)
-- Building Stellarium 24.3 (v24.3.0; Mode: Release)
-- Found ccache /usr/bin/ccache
-- Found Qt6: /usr/lib/qt6/bin/qmake (found suitable version 6.7.2)
-- Found OpenGL: /usr/lib/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found XKB: /usr/lib/libxkbcommon.so (found suitable version "1.7.0", minimum required is "0.5.0")
-- Found WrapVulkanHeaders: /usr/include
-- Building an OpenGL/OpenGL ES build
-- CPM: Using local package ShowMySky-Qt6@
-- Found ShowMySky library: /usr/lib/libShowMySky-Qt6.so.15.0.0
-- GPS: disabled.
-- Unit tests support: disabled
-- Using system-provided zlib at /usr/lib/libz.so
-- Using bundled qtcompress at /home/dimich/work/src/stellarium/src/external/qtcompress
-- Could NOT find QXlsx (missing: QXlsx_DIR)
-- CPM: Adding package QXlsxQt6@1.4.8 (1.4.8)
-- Found Doxygen: /usr/bin/doxygen (found version "1.12.0") found components: doxygen dot
-- Checking that std::from_chars for floats is supported by the C++ library
-- Checking that std::from_chars for floats is supported by the C++ library - yes
-- Checking that std::execution::par is supported by the C++ library
-- Checking that std::execution::par is supported by the C++ library - yes
-- Found Python3: /usr/bin/python3.12 (found version "3.12.6") found components: Interpreter
-- Found ZLIB: /usr/lib/libz.so (found version "1.3.1")
-- Found EXPAT: /usr/lib/libexpat.so (found version "2.6.3")
-- CPM: Using local package NLopt@2.8.0
-- Found exiv2 0.28.3
-- Found Gettext: /usr/bin/msgmerge (found version "0.22.5")
-- Found xgettext: /usr/bin/xgettext
-- Found lupdate: /usr/lib/qt6/bin/lupdate
-- Found lconvert: /usr/lib/qt6/bin/lconvert
-- Configuring done (5.3s)
-- Generating done (0.3s)
-- Build files have been written to: /home/dimich/work/src/stellarium/BUILD
Sources tagged v24.2 in the same environment are compiled successfully without errors.
Reacted by Oromion
Metadata
Metadata
Assignees
Labels
os: linuxSpecific issues for Linux-family OSSpecific issues for Linux-family OS
Activity
10110111 commentedon Sep 22, 2024
What if you apply the following patch?
dimich-dmb commentedon Sep 22, 2024
The same error but now "In file included from ... src/core/modules/SolarSystem.cpp:22"
dimich-dmb commentedon Sep 22, 2024
Probably that's because of gcc command line option
which includes
src/stelMain_pch.hppwhich also includes Qt headers.carlosal1015 commentedon Sep 23, 2024
CC @krachyon
alex-w commentedon Sep 23, 2024
@dimich-dmb please try configure building Stellarium without PCH -
-DENABLE_PCH=010110111 commentedon Sep 23, 2024
OK, and what if we alter the patch to also include the header into the PCH?
krachyon commentedon Sep 23, 2024
That does not change the error for me when building with https://aur.archlinux.org/packages/stellarium and TBB installed.
I think it's just the conflict between QT's
emitmacro and TBB defining a function calledemitas @10110111 noted in his patch.Not sure what the cleanest way to solve this would be in this context, but seems sensible to just include
<execution>before any QT-header.carlosal1015 commentedon Sep 23, 2024
Another user reported the same error with onetbb, confirming above comment, looks like onetbb is an optional makedepedency for stellarium.
We compiled fine without onetbb in a clean chroot.
10110111 commentedon Sep 23, 2024
Could someone test the build with TBB having applied my second patch? If the patch works, I'll just push it so that the next release will not have the problem at all.
alex-w commentedon Sep 23, 2024
Probably this issue will be happen in macOS too - I'll check it tomorrow.
krachyon commentedon Sep 23, 2024
With your patch, compilation works (on my machine ;) )
Btw, enabling PCH does not seem to make much of a difference wrt. to build time for me on a Ryzen 7 5700U if that's an interesting datapoint relating to the comment in
stelMain_pch.hppdimich-dmb commentedon Sep 23, 2024
With
-DENABLE_PCH=0AND with the patch above compilation succeeds.With
-DENABLE_PCH=0but without the patch compilation fails.Include <execution> before any Qt headers
github-actions commentedon Oct 7, 2024
Hello @dimich-dmb!
Please check the fresh version (development snapshot) of Stellarium:
https://github.com/Stellarium/stellarium-data/releases/tag/weekly-snapshot
github-actions commentedon Dec 22, 2024
Hello @dimich-dmb!
Please check the latest stable version of Stellarium:
https://github.com/Stellarium/stellarium/releases/latest
Bump version to 24.3