Trouble installing Celestia on Linux

Have a question about using Celestia? Check here first for FAQs and helpful advice.
Forum rules
Please help to make this forum more useful by checking the FAQs before posting! Keep it clean, keep it civil, keep it truthful, stay on topic, be responsible, share your knowledge.
Topic author
dbaker
Posts: 5
Joined: 24.11.2018
With us: 7 months 25 days

Trouble installing Celestia on Linux

Post #1by dbaker » 24.11.2018, 11:46

Hi everyone
I'm trying to install Celestia on my Linux machine. I'm running Kubuntu 17.10 and I have installed all of the dependencies listed in the readme (I've also tried building from source, but was unable to do so; however, let's get to that later, I want to try and get the package file working first).

So, I downloaded the Celestia 1.5.1 autopackage file and ran it. This was the output:

Code: Select all

# Preparing package: Celestia                                                   
# Checking for required C library versions ... passed
# Checking for GTK+ user interface toolkit ... failed   
# FAIL: Could not find 'GTK+ user interface toolkit'. Try using the native package manager for Ubuntu 17.10 (apt-get) to install a package with similar name to 'gtk+'.
# Installing package: Celestia (package 1 of 1)                                 
# 100%[==================================================] Extracting
# Installing executables...
# Installing data files...
# 100%[==================================================] Copying
# Installing translated dictionary files...
# 100%[==================================================] Copying
# Installing icons...
Package gnome-vfs-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-vfs-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnome-vfs-2.0' found
# Installing menu items...
Package gnome-vfs-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-vfs-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnome-vfs-2.0' found
# Updating package database...

The following package was successfully installed:
* Celestia

The following menu entry is now available:
* Celestia (Astronomy, Science)

This installation used 49.14 MiB (51.52 MB) of disk space.


Remove this package by running package remove celestia from the command line.


As promised, Celestia shows up in my application menu but when I try to run it, nothing happens. It clearly hasn't installed correctly, because it couldn't find certain dependencies. However, I have *already installed* all dependencies listed on Github. Is there something else I'm missing? I also tried installing libgtk-3-dev and libgnome-vfs2.0-cil-dev just in case that's what it wanted (I'm not even sure if those are the right packages) but to no avail.

I'd really appreciate any help with this! I'm happy to try building from source again if necessary, but will need help with that too.

onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #2by onetwothree » 24.11.2018, 16:12

Celestia is not in Ubuntu repos any more as it was removed from Debian.

To build from sources clone git repository https://github.com/CelestiaProject/Celestia and follow instructions in README file (duplicated below).

Currently only QT5 based backend is available. To build it you need QT5
developer libraries.

On Debian based systems the following packages should be installed:
* qtbase5-dev-tools
* qtbase5-dev
* libqt5opengl5-dev
* qtchooser
* libglu1-mesa-dev
* libpng-dev
* libjpeg-dev
* libtheora-dev
* Either one of liblua5.3-dev, liblua5.2-dev or liblua5.1-dev

Optional packages are libeigen3-dev and libglew-dev.

Then do the following actions in Celestia's source directory:
mkdir build && cd build
qmake -qt=5 PREFIX=/opt/celestia -o Makefile ../celestia.pro
make

You can speedup build passing option -jN to make where N is a number of
your CPU cores.

Topic author
dbaker
Posts: 5
Joined: 24.11.2018
With us: 7 months 25 days

Post #3by dbaker » 25.11.2018, 04:42

Thanks for your response.

I'm not sure what you mean about the Ubuntu repos - I was not trying to install Celestia via them! I just downloaded the autopackage file celestia-1.5.1.x86.package from the download page on the Celestia website: https://celestia.space/download.html
If this autopackage script has dependencies on packages that are no longer available in the Ubuntu repos, that should be documented so that Debian and Ubuntu users (which I imagine are the majority of Linux users) know they can't use it. But I thought the autopackage file was standalone.

Moving on to building from source -
I have already followed the steps above from the README, however there are no instructions on what to do AFTER building from source - how do I actually run the thing? I ask this because I was not able to find an executable file anywhere, which makes me think it didn't build properly.
Not sure if this means anything but if I run make a second time after having installed per the instructions above, I get this error:

Code: Select all

Makefile:25590: recipe for target 'obj/qtdeepskybrowser.o' failed
make: *** [obj/qtdeepskybrowser.o] Error 1


I don't really know how this is working however as I'm not familiar with using make without following up with make install.

onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #4by onetwothree » 25.11.2018, 08:28

Hi dbaker,

Could you provide more lines of build failure?

Regarding autopackage - sownload page clearly states that you should have gtk2 installed.

After make the usual step is sudo make install. You binary will be istalled to /opt/celestia/bin/Celestia_QT

Topic author
dbaker
Posts: 5
Joined: 24.11.2018
With us: 7 months 25 days

Post #5by dbaker » 25.11.2018, 09:47

I installed gtk 2 using sudo apt install gtk2.0. Is that the correct package? Because the autopackage still fails. See my original post for the output when I run it.

After make the usual step is sudo make install

That's what I would have thought, but that instruction is not in the readme which made me think this was some special case where I shouldn't use it. I didn't want to try in case I messed something up! (It strikes me as strange to give step by step instructions on what dependencies to install, etc right up to the second last command to run, and leave out the actual installation step. If it's ok to do so, I might PR an update to the readme)

In any case, I just tried running sudo make install in the build directory and this was the output:

Code: Select all

g++ -c -m64 -pipe -std=c++11 -O2 -Wall -W -D_REENTRANT -fPIC -DGIT_COMMIT=\"5d0f4642\" -DGLEW_STATIC -DCELX -DHAVE_BYTESWAP_H -DEIGEN_NO_DEBUG -DNDEBUG -DNO_DEBUG -DTHEORA -DVIDEO_SYNC -DLUA_VER=0x050300 -DCONFIG_DATA_DIR=\"/opt/celestia/share/Celestia_QT\" -DSPLASH_DIR=\"/opt/celestia/share/Celestia_QT/splash/\" -DLOCALEDIR=\"/opt/celestia/share/locale\" -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB -I../../Celestia -I. -I../thirdparty/glew/include -I../thirdparty/fmt/include -I../../Celestia -I../src -I../thirdparty/Eigen -isystem /usr/include/libdrm -isystem /usr/include/lua5.3 -isystem /usr/include/libpng16 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtXml -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Imoc -isystem /usr/include/libdrm -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o obj/qtdeepskybrowser.o ../src/celestia/qt/qtdeepskybrowser.cpp
../src/celestia/qt/qtdeepskybrowser.cpp: In member function ‘void DeepSkyBrowser::slotMarkSelected()’:
../src/celestia/qt/qtdeepskybrowser.cpp:617:44: error: ‘sel’ was not declared in this scope
                     universe->unmarkObject(sel, 1);
                                            ^~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::assign_op<float, float> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::assign_op<float, float>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::Matrix<float, 3, 1>; Functor = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::Matrix<float, 3, 1>; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<float, 3, 1>; Src = Eigen::Matrix<float, 3, 1>; Func = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::Matrix<float, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:278:27:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&&) [with _Scalar = float; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
../src/celutil/color.h:97:50:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<float, 4, 1> >, Eigen::internal::evaluator<Eigen::Matrix<float, 4, 1> >, Eigen::internal::assign_op<float, float> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, 4, 1> >, Eigen::internal::evaluator<Eigen::Matrix<float, 4, 1> >, Eigen::internal::assign_op<float, float>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 4, 1>; SrcXprType = Eigen::Matrix<float, 4, 1>; Functor = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 4, 1>; SrcXprType = Eigen::Matrix<float, 4, 1>; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<float, 4, 1>; Src = Eigen::Matrix<float, 4, 1>; Func = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 4, 1>; Derived = Eigen::Matrix<float, 4, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:278:27:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&&) [with _Scalar = float; int _Rows = 4; int _Cols = 1; int _Options = 0; int _MaxRows = 4; int _MaxCols = 1]’
../src/celutil/color.h:106:59:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::assign_op<double, double> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::assign_op<double, double>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 3, 1>; SrcXprType = Eigen::Matrix<double, 3, 1>; Functor = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 3, 1>; SrcXprType = Eigen::Matrix<double, 3, 1>; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, 3, 1>; Src = Eigen::Matrix<double, 3, 1>; Func = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<double, 3, 1>; Derived = Eigen::Matrix<double, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:278:27:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&&) [with _Scalar = double; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
../src/celengine/univcoord.h:74:74:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > > >, Eigen::internal::assign_op<double, double> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > > >, Eigen::internal::assign_op<double, double>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 3, 1>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > >; Functor = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 3, 1>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > >; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, 3, 1>; Src = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > >; Func = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > >; Derived = Eigen::Matrix<double, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:537:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > >; Derived = Eigen::Matrix<double, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:379:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > >; _Scalar = double; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
../src/celengine/univcoord.h:74:74:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > > >, Eigen::internal::assign_op<float, float> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > > >, Eigen::internal::assign_op<float, float>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<float, 3, 1>; Src = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > >; Func = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > >; Derived = Eigen::Matrix<float, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:537:19:   required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > >; Derived = Eigen::Matrix<float, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:379:29:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<float, float>, const Eigen::Matrix<float, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, const Eigen::Matrix<float, 3, 1> > >; _Scalar = float; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
../src/celengine/univcoord.h:105:36:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> > >, Eigen::internal::assign_op<float, float> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> > >, Eigen::internal::assign_op<float, float>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<float, 3, 1>; Src = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> >; Func = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> >; Derived = Eigen::Matrix<float, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:812:7:   required from ‘void Eigen::PlainObjectBase<Derived>::_init1(const Eigen::DenseBase<ElseDerived>&) [with T = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> >; OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> >; Derived = Eigen::Matrix<float, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:296:31:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<float>, Eigen::Matrix<float, 3, 1> >; _Scalar = float; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
../src/celengine/star.h:106:55:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> > >, Eigen::internal::assign_op<double, double> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> > >, Eigen::internal::assign_op<double, double>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 3, 1>; SrcXprType = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> >; Functor = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 3, 1>; SrcXprType = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> >; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, 3, 1>; Src = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> >; Func = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> >; Derived = Eigen::Matrix<double, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:812:7:   required from ‘void Eigen::PlainObjectBase<Derived>::_init1(const Eigen::DenseBase<ElseDerived>&) [with T = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> >; OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> >; Derived = Eigen::Matrix<double, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:296:31:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 3, 1> >; _Scalar = double; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
../src/celengine/deepskyobj.h:103:55:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> > >, Eigen::internal::assign_op<float, float> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> > >, Eigen::internal::assign_op<float, float>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> >; Functor = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<float, 3, 1>; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<float, 3, 1>; Src = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> >; Func = Eigen::internal::assign_op<float, float>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:728:41:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> >; Derived = Eigen::Matrix<float, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:812:7:   required from ‘void Eigen::PlainObjectBase<Derived>::_init1(const Eigen::DenseBase<ElseDerived>&) [with T = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> >; OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> >; Derived = Eigen::Matrix<float, 3, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:296:31:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::CwiseUnaryOp<Eigen::internal::scalar_opposite_op<float>, const Eigen::Block<const Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 3, 3> >, 3, 1, false> >; _Scalar = float; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
../src/celengine/lightenv.h:78:45:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘struct Eigen::internal::copy_using_evaluator_traits<Eigen::internal::evaluator<Eigen::Matrix<double, 4, 1> >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> > >, Eigen::internal::assign_op<double, double> >’:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:607:49:   required from ‘class Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 4, 1> >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> > >, Eigen::internal::assign_op<double, double>, 0>’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:739:10:   required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 4, 1>; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> >; Functor = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:879:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, 4, 1>; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> >; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, 4, 1>; Src = Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> >; Func = Eigen::internal::assign_op<double, double>]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:804:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Matrix<double, 4, 1>; Src = Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type = void*]’
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:782:18:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, 4, 1>; Src = Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> >]’
../thirdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:710:32:   required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> >; Derived = Eigen::Matrix<double, 4, 1>]’
../thirdparty/Eigen/Eigen/src/Core/Matrix.h:225:24:   required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_cast_op<float, double>, const Eigen::Matrix<float, 4, 1> >; _Scalar = double; int _Rows = 4; int _Cols = 1; int _Options = 0; int _MaxRows = 4; int _MaxCols = 1]’
../thirdparty/Eigen/Eigen/src/Geometry/Quaternion.h:272:14:   required from ‘Eigen::Quaternion<Scalar, Options>::Quaternion(const Eigen::Quaternion<OtherScalar, OtherOptions>&) [with OtherScalar = float; int OtherOptions = 0; _Scalar = double; int _Options = 0]’
../src/celengine/observer.h:287:69:   required from here
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
     MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:
../thirdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
     MaySliceVectorize  = bool(MightVectorize) && bool(DstHasDirectAccess)
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
Makefile:25590: recipe for target 'obj/qtdeepskybrowser.o' failed
make: *** [obj/qtdeepskybrowser.o] Error 1



I've provided the entire output above, just in case, but I searched the output in a text editor and found one error, which I've pasted below:

Code: Select all

../src/celestia/qt/qtdeepskybrowser.cpp: In member function ‘void DeepSkyBrowser::slotMarkSelected()’:
../src/celestia/qt/qtdeepskybrowser.cpp:617:44: error: ‘sel’ was not declared in this scope
                     universe->unmarkObject(sel, 1);
                                            ^~~
In file included from ../thirdparty/Eigen/Eigen/Core:420:0,
                 from ../src/celutil/color.h:15,
                 from ../src/celengine/surface.h:13,
                 from ../src/celengine/body.h:13,
                 from ../src/celengine/solarsys.h:16,
                 from ../src/celestia/celestiacore.h:16,
                 from ../src/celestia/qt/qtdeepskybrowser.cpp:13:

onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #6by onetwothree » 25.11.2018, 10:03

make install so obvious for me :)

I've pushed an update, please do "git pull" and rebuild.

Topic author
dbaker
Posts: 5
Joined: 24.11.2018
With us: 7 months 25 days

Post #7by dbaker » 25.11.2018, 11:39

Thank you, got it working :)

Avatar
John Van Vliet
Posts: 2710
Joined: 28.08.2002
With us: 16 years 10 months

Post #8by John Van Vliet » 26.11.2018, 01:08

glad to here you got it working

I was about to point you to my linux only fork

https://github.com/JohnVV/MyCelestiaBuild

qt5 and lua 5.1 build and supports SPICE

onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #9by onetwothree » 26.11.2018, 07:41

JohnVV, your fork is outdated, it does not provide any new feature. If you want to develop something new join the team.

cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

Post #10by cartrite » 26.11.2018, 13:19

It's been a while. Hi to all. Some may remember me, many others are new to me. Done some reading here. Mostly build issues with linux though.

I stumbled on this forum yesterday while I was looking for a reason why celestialmatters was down. A while back I tried building my old copies of celestia on my current linux systems and ran into too many issues. Anyhow I tried building the master found here and had problems with lua. It would build up to celx,cpp. Then I'd get errors with undefined symbols, using classes out of scope, etc. I got JohnVV's version to work this morning. Had 1 minor problem though. Building spiceorbit.cpp would fail until I copied the include files from cspice into the celephem folder.

I just got the master to build also but I had to edit celestia.pro to only use lua 5.1. I'm using openSUSE leap42.3 and tumbleweed. Still cant get any build on 42.3 but tumbleweed has both versions built. HOORA. Could not get a build with qt-creator yet though. I built both versions with a terminal running qmake-qt5, make manually. The gcc version reports to be gcc 8.2.1. I got many warnings on both versions. Mostly they had to do with Eigen.

Been doing some reading about porting apps to 64 bit. Correct me if I'm wrong but a 64 bit compiler does create 64 bit apps. But the main issues are arrays, pointer, and math done on them. So the compiler creates code that causes bugs or incorrect results in a 64 bit register. So that would seem to be a major undertaking correct.

Anyhow, have a good one

cartrite
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed

onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #11by onetwothree » 26.11.2018, 16:39

Hi cartrite!

It would be nice if you provide failure logs as I don't use any Suse flavours neither Pirogronian does.

cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

Post #12by cartrite » 26.11.2018, 17:44

Screenshot_20181126_121220.jpg


I just switched over to Leap42.3. This system has a few issues. For one it doesn't let me have 2 versions of lua dev files. I have lua 5.1 and 5.2 installed. There are header files for lua 5.2 in user/include. There are also header files for 5.1 in usr/local/include. There are 5.1 and 5.2 .so libs in usr/lib64. There is also a .a lib for 5.1 in usr/local/lib. I did build lua 5.3 and I did try that in usr/local but I got similar errors about scope. Only a lot more.

What I did to the celestia.pro file to get things working on tumbleweed was

Code: Select all

    LUALIST = lua5.1 lua51
    for(libpc, LUALIST):system(pkg-config --exists $${libpc}):LUAPC = $${libpc}
    isEmpty (LUAPC) {error("No shared Lua library found!")}

    message("LUA version: " $${LUAPC})
   
    equals(LUAPC, "lua53"): DEFINES += LUA_VER=0x050300
    equals(LUAPC, "lua52"): DEFINES += LUA_VER=0x050200
    equals(LUAPC, "lua51"): DEFINES += LUA_VER=0x050100
    equals(LUAPC, "lua5.1"): DEFINES += LUA_VER=0x050100

Tumbleweed had lua 5.3.5 installed. On that system I was able to also install 5.1 along with the dev package. But it would not compile using lua 5.3. It would not compile using 5.1 either until I added that last line above. John's version used 5.1 by default so I didn't have this issue. That was with finding spice headers. But this version also has a spice issue. I installed cspice in /usr/local and it still fails the spice test in the configuration. I was able to build this with qt5 creator on tumbleweed. The only issue was the desktop file. It tried to execute celestia. I needed to edit the desktop file to execute Celestia_QT. :smile:

cartrite
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed


onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #14by onetwothree » 26.11.2018, 20:16

Hi cartrite!
Thanks for info, I've pushed fixes for review.

Hi chandra!
Thanks for useful links, I remember that guy proposed some changes, at least I've integrated them.

cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

Post #15by cartrite » 26.11.2018, 22:48

OK, This is interesting. I applied your changes and it builds fine. With qt creator it still sends a message that it found lua53. But the compiler output for every file built showed a DLUA 0x050100. So it looks like 5.1 was used. Also, the Spice test passed in config tests. On Leap 42.3, which is what I just used, I have lua 5.2 and 5.1 installed. I uninstalled 5.3. I only had develop files for 5.1 though. Not sure how that message echoed lua53 though.

I'm gonna switch to Tumbleweed and check what happens there. That has develop files for lua 5.1 and 5.3.

cartrite

Added after 1 hour 41 minutes:
Ok. Tumbleweed did not fair so well with the changes. At first it stopped compiling on one of the files you changed spicerotations.cpp. Here is the terminal output.

Code: Select all

/usr/include/c++/8/bits/range_access.h:68:5: note: candidate: ‘template<class _Container> decltype (__cont.end()) std::end(_Container&)’
     end(_Container& __cont) -> decltype(__cont.end())
     ^~~
/usr/include/c++/8/bits/range_access.h:68:5: note:   template argument deduction/substitution failed:
/usr/include/c++/8/bits/range_access.h: In substitution of ‘template<class _Container> decltype (__cont.end()) std::end(_Container&) [with _Container = const std::__cxx11::list<std::__cxx11::basic_string<char> >*]’:
../src/celephem/scriptrotation.cpp:100:35:   required from here
/usr/include/c++/8/bits/range_access.h:68:48: error: request for member ‘end’ in ‘__cont’, which is of pointer type ‘const std::__cxx11::list<std::__cxx11::basic_string<char> >*’ (maybe you meant to use ‘->’ ?)
     end(_Container& __cont) -> decltype(__cont.end())
                                         ~~~~~~~^~~
/usr/include/c++/8/bits/range_access.h:78:5: note: candidate: ‘template<class _Container> decltype (__cont.end()) std::end(const _Container&)’
     end(const _Container& __cont) -> decltype(__cont.end())
     ^~~
/usr/include/c++/8/bits/range_access.h:78:5: note:   template argument deduction/substitution failed:
/usr/include/c++/8/bits/range_access.h: In substitution of ‘template<class _Container> decltype (__cont.end()) std::end(const _Container&) [with _Container = const std::__cxx11::list<std::__cxx11::basic_string<char> >*]’:
../src/celephem/scriptrotation.cpp:100:35:   required from here
/usr/include/c++/8/bits/range_access.h:78:54: error: request for member ‘end’ in ‘__cont’, which is of pointer type ‘const std::__cxx11::list<std::__cxx11::basic_string<char> >* const’ (maybe you meant to use ‘->’ ?)
     end(const _Container& __cont) -> decltype(__cont.end())
                                               ~~~~~~~^~~
/usr/include/c++/8/bits/range_access.h:97:5: note: candidate: ‘template<class _Tp, long unsigned int _Nm> _Tp* std::end(_Tp (&)[_Nm])’
     end(_Tp (&__arr)[_Nm])
     ^~~
/usr/include/c++/8/bits/range_access.h:97:5: note:   template argument deduction/substitution failed:
../src/celephem/scriptrotation.cpp:100:35: note:   mismatched types ‘_Tp [_Nm]’ and ‘const std::__cxx11::list<std::__cxx11::basic_string<char> >*’
         for (const auto& kernel : requiredKernels)
                                   ^~~~~~~~~~~~~~~
make: *** [Makefile:6624: obj/scriptrotation.o] Error 1
make: *** Waiting for unfinished jobs....
I tried to run it again with the original file and it still exited with an error. Dont think it was the same error but.....
When I removed spice from usr/local it did start failing the spice test again but the compilation stopped for not finding the header file used in main.cpp. Anyhow I tried the original files from master and this is the output I was getting with using lua5.3.

Code: Select all

g++ -c -pipe -std=c++11 -O2 -Wall -W -D_REENTRANT -fPIC -DGIT_COMMIT=\"0bd0b4e1\" -DGLEW_STATIC -DCELX -DHAVE_BYTESWAP_H -DEIGEN_NO_DEBUG -DNDEBUG -DNO_DEBUG -DTHEORA -DVIDEO_SYNC -DCONFIG_DATA_DIR=\"/usr/local/share/Celestia_QT\" -DSPLASH_DIR=\"/usr/local/share/Celestia_QT/splash/\" -DLOCALEDIR=\"/usr/local/share/locale\" -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB -I../../Celestia -I. -I../thirdparty/glew/include -I../thirdparty/fmt/include -I../../Celestia -I../src -I../thirdparty/Eigen -isystem /usr/include/libdrm -isystem /usr/include/lua5.3 -isystem /usr/include/libpng16 -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtOpenGL -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtCore -Imoc -isystem /usr/include/libdrm -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o obj/celx.o ../src/celestia/celx.cpp
../src/celestia/celx.cpp: In constructor ‘LuaState::LuaState()’:
../src/celestia/celx.cpp:467:13: error: ‘lua_open’ was not declared in this scope
     state = lua_open();
             ^~~~~~~~
../src/celestia/celx.cpp:467:13: note: suggested alternative: ‘lua_len’
     state = lua_open();
             ^~~~~~~~
             lua_len
../src/celestia/celx.cpp: In function ‘int resumeLuaThread(lua_State*, lua_State*, int)’:
../src/celestia/celx.cpp:612:29: error: invalid conversion from ‘int’ to ‘lua_State*’ [-fpermissive]
     status = lua_resume(co, narg);
                             ^~~~
../src/celestia/celx.cpp:612:33: error: too few arguments to function ‘int lua_resume(lua_State*, lua_State*, int)’
     status = lua_resume(co, narg);
                                 ^
In file included from ../src/celestia/celx.h:26,
                 from ../src/celestia/celestiacore.h:30,
                 from ../src/celestia/url.h:22,
                 from ../src/celestia/celx.cpp:29:
/usr/include/lua5.3/lua.h:291:15: note: declared here
 LUA_API int  (lua_resume)     (lua_State *L, lua_State *from, int narg);
               ^~~~~~~~~~
../src/celestia/celx.cpp: In member function ‘bool LuaState::charEntered(const char*)’:
../src/celestia/celx.cpp:686:13: error: ‘lua_iolibopen’ was not declared in this scope
             lua_iolibopen(costate);
             ^~~~~~~~~~~~~
../src/celestia/celx.cpp:686:13: note: suggested alternative: ‘lua_len’
             lua_iolibopen(costate);
             ^~~~~~~~~~~~~
             lua_len
../src/celestia/celx.cpp: In member function ‘int LuaState::loadScript(std::istream&, const string&)’:
../src/celestia/celx.cpp:919:76: error: too few arguments to function ‘int lua_load(lua_State*, lua_Reader, void*, const char*, const char*)’
     int status = lua_load(state, readStreamChunk, &info, streamname.c_str());
                                                                            ^
In file included from ../src/celestia/celx.h:26,
                 from ../src/celestia/celestiacore.h:30,
                 from ../src/celestia/url.h:22,
                 from ../src/celestia/celx.cpp:29:
/usr/include/lua5.3/lua.h:280:16: note: declared here
 LUA_API int   (lua_load) (lua_State *L, lua_Reader reader, void *dt,
                ^~~~~~~~
../src/celestia/celx.cpp: In member function ‘void LuaState::requestIO()’:
../src/celestia/celx.cpp:1116:13: error: ‘lua_iolibopen’ was not declared in this scope
             lua_iolibopen(costate);
             ^~~~~~~~~~~~~
../src/celestia/celx.cpp:1116:13: note: suggested alternative: ‘lua_len’
             lua_iolibopen(costate);
             ^~~~~~~~~~~~~
             lua_len
../src/celestia/celx.cpp: In member function ‘bool LuaState::init(CelestiaCore*)’:
../src/celestia/celx.cpp:1342:5: error: ‘lua_baselibopen’ was not declared in this scope
     lua_baselibopen(state);
     ^~~~~~~~~~~~~~~
../src/celestia/celx.cpp:1342:5: note: suggested alternative: ‘lua_rawlen’
     lua_baselibopen(state);
     ^~~~~~~~~~~~~~~
     lua_rawlen
../src/celestia/celx.cpp:1343:5: error: ‘lua_mathlibopen’ was not declared in this scope
     lua_mathlibopen(state);
     ^~~~~~~~~~~~~~~
../src/celestia/celx.cpp:1343:5: note: suggested alternative: ‘lua_rawlen’
     lua_mathlibopen(state);
     ^~~~~~~~~~~~~~~
     lua_rawlen
../src/celestia/celx.cpp:1344:5: error: ‘lua_tablibopen’ was not declared in this scope
     lua_tablibopen(state);
     ^~~~~~~~~~~~~~
../src/celestia/celx.cpp:1344:5: note: suggested alternative: ‘lua_rawlen’
     lua_tablibopen(state);
     ^~~~~~~~~~~~~~
     lua_rawlen
../src/celestia/celx.cpp:1345:5: error: ‘lua_strlibopen’ was not declared in this scope
     lua_strlibopen(state);
     ^~~~~~~~~~~~~~
../src/celestia/celx.cpp:1345:5: note: suggested alternative: ‘lua_version’
     lua_strlibopen(state);
     ^~~~~~~~~~~~~~
     lua_version
../src/celestia/celx.cpp: In member function ‘void LuaState::setLuaPath(const string&)’:
../src/celestia/celx.cpp:1410:25: error: ‘LUA_GLOBALSINDEX’ was not declared in this scope
     lua_settable(state, LUA_GLOBALSINDEX);
                         ^~~~~~~~~~~~~~~~
../src/celestia/celx.cpp:1410:25: note: suggested alternative: ‘LUA_HOOKLINE’
     lua_settable(state, LUA_GLOBALSINDEX);
                         ^~~~~~~~~~~~~~~~
                         LUA_HOOKLINE


Tumbleweed does use a newer compiler gcc8.2. So........ More strict It did build with lua5.1. But now I don't think it had spice support.

cartrite

Added after 1 hour 46 minutes:
Sorry, I screwed up. There is another file called scriptrotation in the celephem folder. I populated a file with the fix for spicerotation and called it scriptrotation. :zombie:
Unpredictable results. :cry:
Anyhow I applied the fixes with the right file names and it built fine. What surprised me was it used lua 5.3 and worked this time. So these fixes seem good on 2 of openSUSE's systems. I built it first on a terminal but just to see how qtcreator would work I built it again. It worked. I wanted to add a screenshot. Notice the bottom left and right. The number of issues and warnings :wink: Sorry the warnings on the right had disappeared. There were over 3000. There are 33130 issues though. gcc 8.2.
Most were about issuses with Eigen. On Leap 42.3 which uses a gcc 4.8 compiler there were about 15 warnings. Maybe more but it had 15 through most of the run.

Screenshot_20181126_210549.png


So it looks like these fixes work on this boat.

cartrite

Added after 4 minutes 29 seconds:
I'll need to brush up on Spice operations, put this though some trials to see if everything is working right.

Have a good one .
cartrite
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed

onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #16by onetwothree » 27.11.2018, 07:56

Hi cartrite,

Have you tried to install eigen3 devel package from opensuse repos? I believe you'll have much less number of warnings. I compile using gcc 8 and have just a few warnings in Celestia code.

cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

Post #17by cartrite » 27.11.2018, 12:56

Correct. :smile: Almost no warnings. Is there still a reason to have a thirdparty/Eigen?

cartrite
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed

onetwothree
Developer
Posts: 229
Joined: 22.09.2018
With us: 9 months 27 days

Post #18by onetwothree » 27.11.2018, 14:17

For windows/os x users. We actually moving away of keeping 3rd party code inside our repo, we'll use git submodules instead.

cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

Post #19by cartrite » 27.11.2018, 15:49

I installed glew-devel but what package provides fmt?
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed



Return to “Help Central”

Who is online

Users browsing this forum: 1 guest