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.83k stars 830 forks source link

Stuck on install on Raspberry Pi: FindQt5SerialPort.cmake #726

Closed MatthK closed 4 years ago

MatthK commented 5 years ago

I try to install Stellarium on a Raspberry Pi 3B+ and followed the guide here:

https://github.com/Stellarium/stellarium/wiki/Compilation-on-Linux

When trying to run the step cmake -DCMAKE_BUILD_MODE=Release ../../stellarium I get the following error:

     CMake Error at CMakeLists.txt:407 (FIND_PACKAGE):
     By not providing "FindQt5SerialPort.cmake" in CMAKE_MODULE_PATH this
     project has asked CMake to find a package configuration file provided by
     "Qt5SerialPort", but CMake did not find one.

     Could not find a package configuration file provided by "Qt5SerialPort"
     with any of the following names:

       Qt5SerialPortConfig.cmake
       qt5serialport-config.cmake

     Add the installation prefix of "Qt5SerialPort" to CMAKE_PREFIX_PATH or set
     "Qt5SerialPort_DIR" to a directory containing one of the above files.  If
     "Qt5SerialPort" provides a separate development package or SDK, be sure it
     has been installed.

   -- Configuring incomplete, errors occurred!
   See also "/home/pi/dev/Stellarium/builds/unix/CMakeFiles/CMakeOutput.log".

System

How can I get past that error message?

CMakeOutput.log

gzotti commented 5 years ago

Have you followed https://github.com/Stellarium/stellarium/wiki/Linux-build-dependencies?

MatthK commented 5 years ago

I did follow this guide before trying to build it according to the link above:

https://github.com/Stellarium/stellarium/wiki/Raspberry-Pi

gzotti commented 5 years ago

Sure, this is to be followed in addition to the usual Linux building procedure.

MatthK commented 5 years ago

ohh, ok. Then I will try to follow those first then.

Thank you very much.

MatthK commented 5 years ago

Does it need CMake, a C compiler AND a C++ compiler?

alex-w commented 5 years ago

Does it need CMake, a C compiler AND a C++ compiler?

Yes

MatthK commented 5 years ago

Even after following the list and install all those dependencies, I still get the same error message.

 -- Found CMake 3.15.1
 -- Platform: Linux-4.19.57-v7+
 -- Found Qt5: /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake (found suitable version 5.11.3)
 CMake Error at CMakeLists.txt:407 (FIND_PACKAGE):
   By not providing "FindQt5SerialPort.cmake" in CMAKE_MODULE_PATH this
   project has asked CMake to find a package configuration file provided by
   "Qt5SerialPort", but CMake did not find one.

   Could not find a package configuration file provided by "Qt5SerialPort"
   with any of the following names:

     Qt5SerialPortConfig.cmake
     qt5serialport-config.cmake

   Add the installation prefix of "Qt5SerialPort" to CMAKE_PREFIX_PATH or set
   "Qt5SerialPort_DIR" to a directory containing one of the above files.  If
   "Qt5SerialPort" provides a separate development package or SDK, be sure it
   has been installed.

 -- Configuring incomplete, errors occurred!
 See also "/home/pi/dev/Stellarium/builds/unix/CMakeFiles/CMakeOutput.log".
 CMake Error: Unable to open check cache file for write. /home/pi/dev/Stellarium/builds/unix/CMakeFiles/cmake.check_cache

What am I missing? And sorry for asking stupid questions, but my experience with Unix is very very limited, plus it's my first Raspberry.

alex-w commented 5 years ago

Are you install libqt5serialport5 and libqt5serialport5-dev packages?

MatthK commented 5 years ago

After running

 sudo apt-get install build-essential cmake zlib1g-dev libgl1-mesa-dev gcc g++ \
  graphviz doxygen gettext git \
  qtscript5-dev libqt5svg5-dev qttools5-dev-tools qttools5-dev \
  libqt5opengl5-dev qtmultimedia5-dev libqt5multimedia5-plugins \
  libqt5serialport5 libqt5serialport5-dev qtpositioning5-dev libgps-dev \
  libqt5positioning5 libqt5positioning5-plugins

I somehow got one step further. Unfortunately I couldn't find much on the error message in Google. The few Threads_FOUND results mention that the ARM of the Raspberry is not supported.

 _MODE=Release ../../../../stellarium
 -- Found CMake 3.15.1
 -- Platform: Linux-4.19.57-v7+
 -- Found Qt5: /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake (found suitable version 5.11.3)
 -- Building an OpenGL ES build (GLESv2)
 -- GPS: support by Qt's NMEA handling enabled.
 -- GPS: using GPS library at /usr/lib/arm-linux-gnueabihf/libgps.so (found suitable GPSD API version: 6.1)
 -- Using system-provided zlib at /usr/lib/arm-linux-gnueabihf/libz.so
 CMake Error at /opt/cmake/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
   Could NOT find Threads (missing: Threads_FOUND)
 Call Stack (most recent call first):
   /opt/cmake/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
   /opt/cmake/share/cmake-3.15/Modules/FindThreads.cmake:220 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
   plugins/TelescopeControl/src/INDI/CMakeLists.txt:4 (find_package)

 -- Configuring incomplete, errors occurred!
 See also "/home/pi/dev/Stellarium/builds/unix/CMakeFiles/CMakeOutput.log".
gzotti commented 5 years ago

I have not yet tried Raspbian Buster yet. Maybe some package is now non-default? I can try to find this out later this week.

gzotti commented 5 years ago

I just installed NOOBS 3.2 (Raspbian Buster) on a RPi3B, updated (apt-get update; apt-get dist-upgrade), copied the Linux Build Dependencies package installation line, then

cd ..
mkdir build; cd build
cmake -DCMAKE_BUILD_TYPE="Release" ../stellarium/
make -j3 

I did not even reboot after installing NOOBS, so only 1fps. :-)

Maybe your CmakeCache.txt is confused. Clean out your build directory and rerun cmake.

BTW, I also tried Ubuntu Mate/arm64. Works a while, but I am afraid GPU support is not stable yet.

MatthK commented 5 years ago

Thank you very much for the help. I started all over again with a clean setup of Buster, followed your guide with updating and the dependencies. The git clone, the build and the make all worked flawlessly then.

It is now working with 7 fps, but at the lowest standard resolution. For some reason, when the GL drivers are enabled, I can't adjust the resolution anymore. But it's perfectly fine for the time and what I'm trying.

Thanks again, awesome and very responsive support here. Highly appreciated.

gzotti commented 5 years ago

What is your "lowest standard resolution"? I have about 6-8fps at FullHD and more (10-12?) on a smaller screen (repurposed old 1400x1050 laptop panel). If you don't need satellites, switch them off, they need a lot of computation.

MatthK commented 5 years ago

I am accessing it remote at the moment via VNC. The resolution there is 720 x 480 pixels and I can't change it. I have adjusted it in sudo raspi-config to 1920x1080 but when I remote to the desktop with VNC, it still only shows the 720x480 pixels.

And without the satellites I get between 18 up to 30+ fps.

MatthK commented 5 years ago

Ok, so I turned off the GL drivers in raspi-config and Stellarium is still running, now in 1920x1080 pixels. But it is down to <1fps even without satellites and the colours on the nebulas? seem to be limited.

gzotti commented 5 years ago

If you switch off the OpenGL drivers in raspi-config you are losing the fast OpenGL support of the new driver, which is not a good idea. I assume VNC is the problem, not the OpenGL drivers.

MatthK commented 5 years ago

Possibly, I will try a bit later with a HDMI monitor, but at the moment I don't have one available. Should be able to try sometimes mid- to end of August.

gzotti commented 4 years ago

I think we can close this. Building works. The OpenGL drivers work reasonably well for desktop use. The rest is about VNC issues.