Stellarium / stellarium

Stellarium is a free GPL software which renders realistic skies in real time with OpenGL. It is available for Linux/Unix, Windows and macOS. With Stellarium, you really see what you can see with your eyes, binoculars or a small telescope.
https://stellarium.org
GNU General Public License v2.0
7.8k stars 821 forks source link

Stellarium 1.1 fails to build on Arch Linux #2801

Closed papavlos closed 2 years ago

papavlos commented 2 years ago

After cloning from (https://github.com/Stellarium/stellarium.git) and running

$ mkdir -p build/unix
$ cd build/unix
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/stellarium ../.. 

I'm getting CMake error. Full output:

-- Found CMake 3.24.2
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- 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.0.6-arch1-1 (x86_64)
-- Building Stellarium 1.1 (v1.22.4; Mode: Release)
-- Found ccache /usr/bin/ccache
-- Found Threads: TRUE  
-- Found Qt6: /usr/lib/qt6/bin/qmake (found suitable version 6.4.0)
-- Found OpenGL: /usr/lib/libOpenGL.so   
-- Found WrapOpenGL: TRUE  
-- Found XKB: /usr/lib/libxkbcommon.so (found suitable version "1.4.1", minimum required is "0.5.0") 
-- Found WrapVulkanHeaders: /usr/include  
-- Building an OpenGL build
-- CPM: using local package ShowMySky-Qt6@
-- Found ShowMySky library: /usr/lib/libShowMySky-Qt6.so.14.0.0
-- GPS: support by Qt's NMEA handling enabled.
-- GPS: using GPS library at /usr/lib/libgps.so (found suitable GPSD API version: 14.0)
-- Unit tests support: disabled
-- Using system-provided zlib at /usr/lib/libz.so
-- CPM: using local package QXlsx@1.4.4
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.3") found components: doxygen dot 
-- Using system-provided indiclient at /usr/lib/libindiclient.a
-- Found Python3: /usr/bin/python3.10 (found version "3.10.8") found components: Interpreter 
-- Found Gettext: /usr/bin/msgmerge (found version "0.21.1") 
-- Found xgettext: /usr/bin/xgettext
-- Found lupdate: /usr/lib/qt6/bin/lupdate
-- Found lconvert: /usr/lib/qt6/bin/lconvert
-- Configuring done
CMake Error at /usr/lib64/cmake/QXlsx/QXlsxTargets.cmake:70 (set_target_properties):
  The link interface of target "QXlsx::QXlsx" contains:

    Qt5::Core

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /usr/lib64/cmake/QXlsx/QXlsxConfig.cmake:14 (include)
  cmake/modules/CPM.cmake:236 (find_package)
  cmake/modules/CPM.cmake:296 (cpm_find_package)
  CMakeLists.txt:818 (CPMFindPackage)

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

Please help: is it Arch distro, or CMake configuration fault?

github-actions[bot] commented 2 years ago

Thanks for adding your first issue to Stellarium. If you have questions, please do not hesitate to contact us.

10110111 commented 2 years ago

You need Qt development packages installed. In Arch it should be qt5-base or qt6-base.

papavlos commented 2 years ago

Both were installed long time ago, of course. And it is not only my problem: https://aur.archlinux.org/packages/stellarium

alex-w commented 2 years ago

@papavlos QXlsx has been built with Qt5, but you tried re-use it with Qt6 environment - why? See section Dependencie in AUR - where’s qt6-base?

papavlos commented 2 years ago

A good soul at AUR has already prepared a "bin" version of Stellarium in its current version, so I'm migrating to it.

Thanks for your support. Case closed for me.