Page 1 of 1

[Solved] Problem compiling Celestia 1.6.0 on Slackware 13.1

Posted: 24.01.2011, 23:00
by mdsmith2
Hello.
I am trying to compile Celestia 1.6.0, but I am having a problem:

Code: Select all

g++ -DHAVE_CONFIG_H -I. -I../.. -I..    -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common  -O2 -Wall -ffast-math -fexpensive-optimizations -fomit-frame-pointer -I/usr/local/include/gtkglext-1.0 -I/usr/local/lib/gtkglext-1.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14   -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14      -MT customorbit.o -MD -MP -MF .deps/customorbit.Tpo -c -o customorbit.o customorbit.cpp
In file included from ../celestia/celestiacore.h:18,
                 from command.cpp:12:
../celengine/overlay.h:30: error: 'EOF' was not declared in this scope
In file included from command.cpp:14:
../celestia/celx_internal.h:67: error: 'lua_State' has not been declared
../celestia/celx_internal.h: In member function 'void CelxValue::push(int*) const':
../celestia/celx_internal.h:71: error: 'lua_pushnumber' was not declared in this scope
../celestia/celx_internal.h:72: error: 'lua_pushstring' was not declared in this scope
../celestia/celx_internal.h:73: error: 'lua_pushnil' was not declared in this scope
../celestia/celx_internal.h: At global scope:
../celestia/celx_internal.h:91: error: expected ')' before '*' token
../celestia/celx_internal.h:102: error: 'lua_CFunction' has not been declared
../celestia/celx_internal.h:105: error: 'lua_Number' has not been declared
../celestia/celx_internal.h:126: error: 'lua_Number' does not name a type
../celestia/celx_internal.h:138: error: ISO C++ forbids declaration of 'LuaState' with no type
../celestia/celx_internal.h:138: error: expected ';' before '*' token
../celestia/celx_internal.h:168: error: ISO C++ forbids declaration of 'lua_State' with no type
../celestia/celx_internal.h:168: error: expected ';' before '*' token
command.cpp: In member function 'virtual void CommandSplitView::process(ExecutionEnvironment&)':
command.cpp:775: error: 'getObservers' was not declared in this scope
command.cpp:780: error: 'getViewByObserver' was not declared in this scope
command.cpp: In member function 'virtual void CommandDeleteView::process(ExecutionEnvironment&)':
command.cpp:798: error: 'getObservers' was not declared in this scope
command.cpp:803: error: 'getViewByObserver' was not declared in this scope
command.cpp: In member function 'virtual void CommandSingleView::process(ExecutionEnvironment&)':
command.cpp:818: error: 'getViewByObserver' was not declared in this scope
command.cpp: In member function 'virtual void CommandSetActiveView::process(ExecutionEnvironment&)':
command.cpp:834: error: 'getObservers' was not declared in this scope
command.cpp:839: error: 'getViewByObserver' was not declared in this scope
make[3]: *** [command.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/customorbit.Tpo .deps/customorbit.Po
make[3]: Leaving directory `/home/michael/sources/celestia-1.6.0/src/celengine'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/michael/sources/celestia-1.6.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/michael/sources/celestia-1.6.0'
make: *** [all] Error 2

It seems it is because it can't find Lua, but 1. Lua support wasn't enabled at configure:

Code: Select all

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

Front-End: GTK
Use Cairo: yes
Use Lua: no
Use Theora: yes

And 2. I do have Lua 5.1.4 installed in /usr/local/lib, and /usr/local/lib is in ld.so.conf.
Here is config.log: http://pastebin.com/6rmEyG7e

Thank you!

*EDIT*
Ok, apparently Lua didn't install the lua.pc file when make install was ran, so I manually installed it and it finds lua and cuts the lua errors, but not the error ../celengine/overlay.h:30: error: 'EOF' was not declared in this scope, so what should I do about this?

Code: Select all

    int overflow(int c = EOF);

*EDIT2*
Ok, after changing an updated libpng reference and adding several missed #include <stdio.h>, I've gotten it running. Thanks for all the help! :P

Re: [Solved] Problem compiling Celestia 1.6.0 on Slackware 1

Posted: 30.01.2011, 06:43
by John Van Vliet
--- edit ---