This post is meant to document my struggle to compile the source of glest, It will show some progress with problems
documented in this thread as well as current hurdles. In that sense it is meant to, hopefully, help some users as
well as document current obstacles in the event that others may shed some insights.
OS:
Fedora 11 (Leonidas)
Kernel Linux 2,6,29,6-217.2.16.fc11.i586
GNOME 2.26.3
HardwareMemory 246.3 MiB
Processor: Pentium III (Coppermine)
The above goes against the recommended Pentium IV requirement which was noted somewhere along this quest; yet the
hope was to get things running for demo sake even if slow.
My process is usually to download a new package into my Download directory (/home/booner/Download) and to get the
package running there first before installing.
Steps taken to dateCreated the directory /home/booner/Download/glest
Downloaded glest_source_3.2.2.zip into the above directory, then unpacking with command:
unzip glest_source_3.2.2.zip
After completing the steps in the /home/booner/Download/glest/docs/readme_linux.txt file the same problem with
xerces-c was encountered (which is mentioned in previous posts on this thread)
Tried to update xerces-c on the system; yet the problem still existed. Then noticing that there was a newer version
at
http://xerces.apache.org/xerces-c/download.cgi than in the Fedora repository, the newer binary was downloaded and
installed in /home/booner/Download using the command:
tar zxvf xerces-c-3.1.1-x86-linux-gcc-3.4.tar.gz
Then after running autogen.sh ran configure with the following command line:
./configure --with-libxerces=/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4
This solved the xerces-c problem yet then continued to the next, and similar, problem with OpenAL. This was overcome
by running the commands:
yum install openal.i586
yum install openal-devel.i586
After that configure was able to run error free using command:
./configure --with-libxerces=/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4
Moving to the next step it was found that jam was not installed so ran command:
yum install jam.i586
Running jam then ran producing three failures:
.failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o ...
...failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o ...
...failed C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o ...
...skipped glest for lack of <T!glest_game!>ai/ai_rule.o...
...failed updating 3 target(s)...
...skipped 2 target(s)...
...updated 137 target(s)...
That is where things stand at the moment and thought a break was in order before delving into C++ code.
Any insights would be most welcome.
P.S. Thought the actual errors from jam would be helpful for any debugging:
...found 499 target(s)...
...using 43 temp target(s)...
...updating 5 target(s)...
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o
shared_lib/sources/platform/posix/socket.cpp: In member function ‘void Shared::Platform::ClientSocket::connect(const
Shared::Platform::Ip&, int)’:
shared_lib/sources/platform/posix/socket.cpp:228: error: ‘sprintf’ was not declared in this scope
shared_lib/sources/platform/posix/socket.cpp:229: error: ‘stderr’ was not declared in this scope
shared_lib/sources/platform/posix/socket.cpp:229: error: ‘fprintf’ was not declared in this scope
g++ -c -o ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o -DPACKAGE_NAME="glest"
-DPACKAGE_TARNAME="glest" -DPACKAGE_VERSION="3.1.2" -DPACKAGE_STRING="glest 3.1.2"
-DPACKAGE_BUGREPORT="matze@braunis.de" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DUSE_POSIX_SOCKETS=/**/ -DX11_AVAILABLE=1 -DHAVE_GLOB_H=1 -DHAVE_SYS_IOCTL_H=1 -DUSE_SDL=/**/ -DHAVE_PTHREAD=1 -I.
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -pthread
-I/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4/include -I/usr/include
-Ishared_lib/sources/../include/platform/sdl -Ishared_lib/sources/../include/platform/posix
-Ishared_lib/sources/../include/util -Ishared_lib/sources/../include/graphics
-Ishared_lib/sources/../include/graphics/gl -Ishared_lib/sources/../include/sound
-Ishared_lib/sources/../include/sound/openal -Ishared_lib/sources/../include/xml -Ishared_lib/sources/../include/glew
-Ishared_lib/sources/../include/lua -O3 -DNDEBUG shared_lib/sources/platform/posix/socket.cpp
...failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o ...
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o
shared_lib/sources/xml/xml_parser.cpp: In member function ‘Shared::Xml::XmlNode* Shared::Xml::XmlIo::load(const
std::string&)’:
shared_lib/sources/xml/xml_parser.cpp:90: error: ‘DOMBuilder’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:90: error: ‘parser’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:90: error: ‘class xercesc_3_1::DOMImplementationLS’ has no member named
‘createDOMBuilder’
shared_lib/sources/xml/xml_parser.cpp:93: error: ‘fgDOMValidation’ is not a member of ‘xercesc_3_1::XMLUni’
shared_lib/sources/xml/xml_parser.cpp: In member function ‘void Shared::Xml::XmlIo::save(const std::string&, const
Shared::Xml::XmlNode*)’:
shared_lib/sources/xml/xml_parser.cpp:122: error: ‘DOMWriter’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:122: error: ‘writer’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:122: error: ‘class xercesc_3_1::DOMImplementation’ has no member named
‘createDOMWriter’
g++ -c -o ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o -DPACKAGE_NAME="glest"
-DPACKAGE_TARNAME="glest" -DPACKAGE_VERSION="3.1.2" -DPACKAGE_STRING="glest 3.1.2"
-DPACKAGE_BUGREPORT="matze@braunis.de" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DUSE_POSIX_SOCKETS=/**/ -DX11_AVAILABLE=1 -DHAVE_GLOB_H=1 -DHAVE_SYS_IOCTL_H=1 -DUSE_SDL=/**/ -DHAVE_PTHREAD=1 -I.
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -pthread
-I/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4/include -I/usr/include
-Ishared_lib/sources/../include/platform/sdl -Ishared_lib/sources/../include/platform/posix
-Ishared_lib/sources/../include/util -Ishared_lib/sources/../include/graphics
-Ishared_lib/sources/../include/graphics/gl -Ishared_lib/sources/../include/sound
-Ishared_lib/sources/../include/sound/openal -Ishared_lib/sources/../include/xml -Ishared_lib/sources/../include/glew
-Ishared_lib/sources/../include/lua -O3 -DNDEBUG shared_lib/sources/xml/xml_parser.cpp
...failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o ...
...skipped libglestlib.a for lack of libglestlib.a(socket.o)...
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o
glest_game/ai/ai_rule.cpp: In member function ‘virtual bool Glest::Game::AiRuleMassiveAttack::test()’:
glest_game/ai/ai_rule.cpp:156: error: ‘INT_MAX’ was not declared in this scope
glest_game/ai/ai_rule.cpp: In member function ‘virtual bool Glest::Game::AiRuleExpand::test()’:
glest_game/ai/ai_rule.cpp:815: error: ‘INT_MAX’ was not declared in this scope
g++ -c -o ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o -DPACKAGE_NAME="glest"
-DPACKAGE_TARNAME="glest" -DPACKAGE_VERSION="3.1.2" -DPACKAGE_STRING="glest 3.1.2"
-DPACKAGE_BUGREPORT="matze@braunis.de" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DUSE_POSIX_SOCKETS=/**/ -DX11_AVAILABLE=1 -DHAVE_GLOB_H=1 -DHAVE_SYS_IOCTL_H=1 -DUSE_SDL=/**/ -DHAVE_PTHREAD=1 -I.
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -pthread
-I/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4/include -I/usr/include
-Iglest_game/../shared_lib/include/../include/platform/sdl
-Iglest_game/../shared_lib/include/../include/platform/posix -Iglest_game/../shared_lib/include/../include/util
-Iglest_game/../shared_lib/include/../include/graphics -Iglest_game/../shared_lib/include/../include/graphics/gl
-Iglest_game/../shared_lib/include/../include/sound -Iglest_game/../shared_lib/include/../include/sound/openal
-Iglest_game/../shared_lib/include/../include/xml -Iglest_game/../shared_lib/include/../include/glew
-Iglest_game/../shared_lib/include/../include/lua -Iglest_game/. -Iglest_game/ai -Iglest_game/facilities
-Iglest_game/game -Iglest_game/global -Iglest_game/graphics -Iglest_game/gui -Iglest_game/main -Iglest_game/menu
-Iglest_game/network -Iglest_game/sound -Iglest_game/type_instances -Iglest_game/types -Iglest_game/world -O3
-DNDEBUG glest_game/ai/ai_rule.cpp
...failed C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o ...
...skipped glest for lack of <T!glest_game!>ai/ai_rule.o...
...failed updating 3 target(s)...
...skipped 2 target(s)...