Page 1 of 1

build problem on Scientific Linux 7

Posted: 23.11.2016, 13:54
by marquessbr
Hi All!

I try to compile the celestia 1.6.1 in a machine with SCL 7.2, 4.8.10 kernel, gcc-c++ (Red Hat) 4.8.5, so I command:
$ ./configure --with-gnome in the src root folder and got this result:

Code: Select all

***************************************************************
** Celestia configuration complete. Now do a 'make' followed **
** by 'make install'                                         **
***************************************************************

Front-End: Gnome
Use Cairo: yes
Use Lua: yes
Use Theora: yes


but when I try tu build with make, I got this error:

Code: Select all

#...
In file included from planetgrid.cpp:15:0:
../celmath/intersect.h: In instantiation of ‘bool testIntersection(const Ray3<T>&, const Ellipsoid<T>&, T&) [with T = double]’:
planetgrid.cpp:73:82:   required from here
../celmath/intersect.h:74:43: error: ‘square’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     Vector3<T> s((T) 1.0 / square(e.axes.x),
                                           ^
In file included from ../celmath/quaternion.h:16:0,
                 from body.h:18,
                 from planetgrid.cpp:17:
../celmath/mathlib.h:52:21: note: ‘template<class T> T square(T)’ declared here, later in the translation unit
 template<class T> T square(T x)
                     ^
In file included from planetgrid.cpp:15:0:
../celmath/intersect.h:75:43: error: ‘square’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
                  (T) 1.0 / square(e.axes.y),
                                           ^
In file included from ../celmath/quaternion.h:16:0,
                 from body.h:18,
                 from planetgrid.cpp:17:
../celmath/mathlib.h:52:21: note: ‘template<class T> T square(T)’ declared here, later in the translation unit
 template<class T> T square(T x)
                     ^
In file included from planetgrid.cpp:15:0:
../celmath/intersect.h:76:43: error: ‘square’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
                  (T) 1.0 / square(e.axes.z));
                                           ^
In file included from ../celmath/quaternion.h:16:0,
                 from body.h:18,
                 from planetgrid.cpp:17:
../celmath/mathlib.h:52:21: note: ‘template<class T> T square(T)’ declared here, later in the translation unit
 template<class T> T square(T x)
 # ...


so, I need to build this application im my desktop, so, how I can solve this error here?
So if anyone can help me, thanks in advance!!!

Peace

buidl problem on CentOS7

Posted: 11.01.2017, 01:32
by VincentHwuang
Hey,I'm getting the same problem as yours,have you solved it,can you give me some help?Thanks!

Posted: 12.01.2017, 01:07
by John Van Vliet
as has been stated a few times the base 1.6.1 code no longer builds with the current autotools
this stopped working about 2 YEARS ago

use the qt4 "celestia.pro
or grab the fixed code on my git page
https://github.com/JohnVV/MyCelestiaBuild

this builds the qt4 gui using autotools and qmake-qt4
i do not know if the OLD gtk2 code builds seeing as gnome is using gtkl3