The Help Thread

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderators: Committer, Committer

Message
Author
Remontoir
Space Krill
Posts: 4
Joined: Sat Nov 19, 2005 10:11 am

#151 Post by Remontoir » Mon Nov 21, 2005 6:19 pm

Hi there

I managed to compile GiGi thx to the patch, but now I have another problem that make me think I must be a little bit of a noob... I miss files in the CVS source to compile FreeOrion :

Code: Select all

 ./autogen.sh
HINT: If this script fails, try './update-configure.sh'
** Creating configure and friends
+ aclocal -I m4
aclocal: `configure.ac' or `configure.in' is required
+ autoconf
autoconf: no input file
+ autoheader
autoheader: `configure.ac' or `configure.in' is required
+ ./create_commonfilesinc.pl
./autogen.sh: line 9: ./create_commonfilesinc.pl: Aucun fichier ou répertoire de ce type
+ automake -a --foreign
automake: `configure.ac' or `configure.in' is required
+ set +x
** Unable to generate all required files!
** you'll need autoconf 2.5, automake 1.7, libtool 1.5, autoheader and aclocal installed
** If you don't have access to these tools, you can use the
** update-configure.sh script which will download the generated files,
** just remember to call it from time to time, it will only download
** if some files have been changed
here is a listing of my files

Code: Select all

/FreeOrion# ls
autogen.sh      default           Makefile   RELEASE-NOTES-V02.txt  util
autom4te.cache  Empire            mkauto.sh  save                   VeraBd.ttf
client          FO-autotools.tar  msvc       SConstruct             VeraBI.ttf
combat          Installer         network    server                 VeraIt.ttf
CVS             License.Vera      objs       UI                     Vera.ttf
data            m4                Python     universe

is there a problem ? I made again the check from the CVS archive, but didn't get any configure.[in,ac}

User avatar
Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

#152 Post by Yoghurt » Mon Nov 21, 2005 7:24 pm

Use "scons", the autotools build system is not supported anymore. Anyway, FO will still segfault with 1.33. Work is underway.

Remontoir
Space Krill
Posts: 4
Joined: Sat Nov 19, 2005 10:11 am

#153 Post by Remontoir » Mon Nov 21, 2005 7:36 pm

Ok thanks :)

Anyway here is what scons answered ;

Code: Select all

FreeOrion$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -O2 -D_REENTRANT -DFREEORION_LINUX -DENABLE_BINRELOC -DFREEORION_BUILD_COMMON -I/usr/local/include/GG -I/usr/local/include/GG/dialogs -I/usr/local/include/GG/net -I/usr/local/include/GG/SDL -I/usr/include/SDL -I/usr/include/freetype2 -c -o Empire/ClientEmpireManager-common.o Empire/ClientEmpireManager.cpp
g++ -O2 -D_REENTRANT -DFREEORION_LINUX -DENABLE_BINRELOC -DFREEORION_BUILD_COMMON -I/usr/local/include/GG -I/usr/local/include/GG/dialogs -I/usr/local/include/GG/net -I/usr/local/include/GG/SDL -I/usr/include/SDL -I/usr/include/freetype2 -c -o Empire/Empire-common.o Empire/Empire.cpp
g++ -O2 -D_REENTRANT -DFREEORION_LINUX -DENABLE_BINRELOC -DFREEORION_BUILD_COMMON -I/usr/local/include/GG -I/usr/local/include/GG/dialogs -I/usr/local/include/GG/net -I/usr/local/include/GG/SDL -I/usr/include/SDL -I/usr/include/freetype2 -c -o Empire/EmpireManager-common.o Empire/EmpireManager.cpp
g++ -O2 -D_REENTRANT -DFREEORION_LINUX -DENABLE_BINRELOC -DFREEORION_BUILD_COMMON -I/usr/local/include/GG -I/usr/local/include/GG/dialogs -I/usr/local/include/GG/net -I/usr/local/include/GG/SDL -I/usr/include/SDL -I/usr/include/freetype2 -c -o Empire/ResourcePool-common.o Empire/ResourcePool.cpp
/usr/local/include/GG/GGBase.h:132: error: ISO C++ forbids declaration of 'sp_counted_base_impl' with no type
/usr/local/include/GG/GGBase.h:132: error: typedef name may not be a nested-name-specifier
/usr/local/include/GG/GGBase.h:132: error: expected ';' before '<' token
scons: *** [Empire/ResourcePool-common.o] Error 1
scons: building terminated because of errors.

User avatar
Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

#154 Post by Yoghurt » Mon Nov 21, 2005 7:50 pm

As I already said, you need to make changes to FO too, but there is no sense in telling you which, as the resulting binary will segfault once you try to go to the planet view.

For now, try to revert to boost version 1.32 and recompile GG.

nabla
Space Krill
Posts: 6
Joined: Wed Nov 16, 2005 4:45 pm

#155 Post by nabla » Fri Dec 23, 2005 7:08 pm

I can't compile FO:

[email protected] ~/freeorion/FreeOrionCompile $ scons
scons: Reading SConscript files ...
Configuring for POSIX system...
Checking for pkg-config... ok
Checking for GiGiSDL >= 0.6.0... ok
Checking for log4cpp >= 0.3.4b... failed
Checking log4cpp version == 0.3.4b... yes
Checking for C++ header file log4cpp/Category.hh... yes
Checking for log4cpp::Category::getRoot() in C++ library log4cpp... yes
Checking for fmod >= 3.74... failed
Checking fmod version >= 3.74... yes
Checking for C header file fmod.h... yes
Checking for FSOUND_GetVersion() in C library fmod-3.74... yes
Checking for graphviz >= 0.15.0... failed
Checking for C header file graphviz/render.h... yes
Checking for begin_component() in C library dotgen... no

I am quite sure that I installed everything that is needed. I think it is strange that it can't find files and then later it can.
What can I do?
thx

User avatar
Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

#156 Post by Yoghurt » Fri Dec 23, 2005 7:13 pm

Try

Code: Select all

scons with_graphviz_libdir=/usr/lib/graphviz
or wherever the graphviz libs are located in your distro.

nabla
Space Krill
Posts: 6
Joined: Wed Nov 16, 2005 4:45 pm

#157 Post by nabla » Fri Dec 23, 2005 8:08 pm

Thank you for your fast help. The configuration process was successfull now:

Code: Select all

[email protected] ~/freeorion/FreeOrionCompile $ scons configure with_graphviz_libdir=/usr/lib/graphviz
scons: Reading SConscript files ...
Configuring for POSIX system...
Checking for pkg-config... ok
Checking for GiGiSDL >= 0.6.0... ok
Checking for log4cpp >= 0.3.4b... failed
Checking log4cpp version == 0.3.4b... yes
Checking for C++ header file log4cpp/Category.hh... yes
Checking for log4cpp::Category::getRoot() in C++ library log4cpp... yes
Checking for fmod >= 3.74... failed
Checking fmod version >= 3.74... yes
Checking for C header file fmod.h... yes
Checking for FSOUND_GetVersion() in C library fmod-3.74... yes
Checking for graphviz >= 0.15.0... failed
Checking for C header file graphviz/render.h... yes
Checking for begin_component() in C library dotgen... yes
Configuration successful... yes
However, I get some errors after that:

Code: Select all

[email protected] ~/freeorion/FreeOrionCompile $ scons
scons: Reading SConscript files ...
Using previous successful configuration; if you want to re-run the configuration step, run "scons configure".
scons: done reading SConscript files.
scons: Building targets ...
g++ -pthread -Wall -O2 -DFREEORION_LINUX -DENABLE_BINRELOC -I/var/tmp/portage/gigi-0.6.0/image/usr/include/GG/SDL -I/var/tmp/portage/gigi-0.6.0/image/usr/include/GG/net -I/usr/include/SDL -I/var/tmp/portage/gigi-0.6.0/image/usr/include/GG -I/var/tmp/portage/gigi-0.6.0/image/usr/include/GG/dialogs -c -o combat/Combat.o combat/Combat.cpp
In file included from combat/Combat.cpp:3:
combat/../util/MultiplayerCommon.h:5:19: GGClr.h: No such file or directory
combat/../util/MultiplayerCommon.h:6:20: XMLDoc.h: No such file or directory
In file included from combat/Combat.cpp:3:
combat/../util/MultiplayerCommon.h:11: error: `Clr' is not a member of `GG'
combat/../util/MultiplayerCommon.h:11: error: `Clr' is not a member of `GG'
combat/../util/MultiplayerCommon.h:11: error: template argument 1 is invalid
combat/../util/MultiplayerCommon.h:11: error: template argument 2 is invalid
combat/../util/MultiplayerCommon.h:11: error: ISO C++ forbids declaration of `EmpireColors' with no type
combat/../util/MultiplayerCommon.h:14: error: expected unqualified-id before '&' token
combat/../util/MultiplayerCommon.h:14: error: expected `,' or `...' before '&' token
combat/../util/MultiplayerCommon.h:14: error: ISO C++ forbids declaration of `parameter' with no type
combat/../util/MultiplayerCommon.h:17: error: expected constructor, destructor, or type conversion before "XMLToClr"
combat/../util/MultiplayerCommon.h:17: error: expected `,' or `;' before "XMLToClr"
combat/../util/MultiplayerCommon.h:27: error: expected init-declarator before '<' token
combat/../util/MultiplayerCommon.h:27: error: expected `,' or `;' before '<' token
combat/../util/MultiplayerCommon.h:81: error: using-declaration for non-member at class scope
combat/../util/MultiplayerCommon.h:81: error: expected `;' before "color"
combat/../util/MultiplayerCommon.h:97: error: using-declaration for non-member at class scope
combat/../util/MultiplayerCommon.h:97: error: expected `;' before "empire_color"
combat/Combat.cpp:4:20: XMLDoc.h: No such file or directory
combat/Combat.cpp: In constructor `CombatUpdateMessage::EmpireCombatInfo::EmpireCombatInfo(const GG::XMLElement&)':
combat/Combat.cpp:28: error: invalid use of undefined type `const struct GG::XMLElement'
combat/Combat.h:12: error: forward declaration of `const struct GG::XMLElement'
combat/Combat.cpp:29: error: `boost' has not been declared
combat/Combat.cpp:29: error: `lexical_cast' undeclared (first use this function)
combat/Combat.cpp:29: error: (Each undeclared identifier is reported only once for each function it appears in.)
combat/Combat.cpp:29: error: expected primary-expression before "int"
combat/Combat.cpp:30: error: `boost' has not been declared
combat/Combat.cpp:30: error: expected primary-expression before "int"
combat/Combat.cpp:31: error: `boost' has not been declared
combat/Combat.cpp:31: error: expected primary-expression before "int"
combat/Combat.cpp:32: error: `boost' has not been declared
combat/Combat.cpp:32: error: expected primary-expression before "int"
combat/Combat.cpp:33: error: `boost' has not been declared
combat/Combat.cpp:33: error: expected primary-expression before "int"
combat/Combat.cpp:34: error: `boost' has not been declared
combat/Combat.cpp:34: error: expected primary-expression before "int"
combat/Combat.cpp:35: error: `boost' has not been declared
combat/Combat.cpp:35: error: expected primary-expression before "int"
combat/Combat.cpp:36: error: `boost' has not been declared
combat/Combat.cpp:36: error: expected primary-expression before "int"
combat/Combat.cpp:37: error: `boost' has not been declared
combat/Combat.cpp:37: error: expected primary-expression before "int"
combat/Combat.cpp:38: error: `boost' has not been declared
combat/Combat.cpp:38: error: expected primary-expression before "int"
combat/Combat.cpp:39: error: `boost' has not been declared
combat/Combat.cpp:39: error: expected primary-expression before "int"
combat/Combat.cpp:40: error: `boost' has not been declared
combat/Combat.cpp:40: error: expected primary-expression before "int"
combat/Combat.cpp: In member function `GG::XMLElement CombatUpdateMessage::EmpireCombatInfo::XMLEncode() const':
combat/Combat.cpp:44: error: return type `struct GG::XMLElement' is incomplete
combat/Combat.cpp:45: error: variable `GG::XMLElement e' has initializer but incomplete type
combat/Combat.cpp:47: error: invalid use of undefined type `struct GG::XMLElement'
combat/Combat.h:12: error: forward declaration of `struct GG::XMLElement'
combat/Combat.cpp:48: error: `boost' has not been declared
combat/Combat.cpp:48: error: `lexical_cast' undeclared (first use this function)
combat/Combat.cpp:48: error: invalid use of undefined type `struct GG::XMLElement'
combat/Combat.h:12: error: forward declaration of `struct GG::XMLElement'
combat/Combat.cpp:48: error: expected primary-expression before '(' token
combat/Combat.cpp:48: error: expected primary-expression before '>' token
combat/Combat.cpp:49: error: `boost' has not been declared
combat/Combat.cpp:49: error: invalid use of undefined type `struct GG::XMLElement'

[... and so on ...]

combat/Combat.cpp:61: confused by earlier errors, bailing out
scons: *** [combat/Combat.o] Error 1
scons: building terminated because of errors.
Is it a problem of my gigi installation. I did it with a gentoo ebild found in gentoo bugzilla.

thx

EDIT:
My installed packages:
fmod-3.74
boost-1.32.0-r4
devil-1.6.7-r1
gigi-0.6.0
libsdl-1.2.8-r1
sdl-net-1.2.5

User avatar
Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

#158 Post by Yoghurt » Sat Dec 24, 2005 12:49 am

Did you check out GIGI_VERSION_0_6_0? (Latest CVS does not work!)

Just issue

Code: Select all

cvs -z3 up -r GIGI_VERSION_0_6_0 -Pd
in your GiGi source dir to make sure.

nabla
Space Krill
Posts: 6
Joined: Wed Nov 16, 2005 4:45 pm

#159 Post by nabla » Sat Dec 24, 2005 10:22 am

Yoghurt wrote:Did you check out GIGI_VERSION_0_6_0? (Latest CVS does not work!)
I used GG-0.6.0.tgz available from sf.net (the one was proposed to be used by the gentoo ebuild).
Yoghurt wrote:Just issue

Code: Select all

cvs -z3 up -r GIGI_VERSION_0_6_0 -Pd
in your GiGi source dir to make sure.
I'm going to try this.

thx

User avatar
MareviQ
Space Kraken
Posts: 100
Joined: Tue Aug 09, 2005 6:47 pm
Location: Somewhere in Poland

#160 Post by MareviQ » Wed Dec 28, 2005 11:55 am

The ebuild posted in gentoo bugzilla installs GG in /usr not /usr/local as scons expects. Manually change the path in scons build file, as the last time I checked there was no autodetection.

nabla
Space Krill
Posts: 6
Joined: Wed Nov 16, 2005 4:45 pm

#161 Post by nabla » Thu Dec 29, 2005 10:18 pm

MareviQ wrote:The ebuild posted in gentoo bugzilla installs GG in /usr not /usr/local as scons expects. Manually change the path in scons build file, as the last time I checked there was no autodetection.
Thx. That did it. What I did

Code: Select all

scons with_graphviz_libdir=/usr/lib/graphviz with_gg_include=/usr/include/GG with_gg_libdir=/usr/lib/ configure
Now compiling....

nabla
Space Krill
Posts: 6
Joined: Wed Nov 16, 2005 4:45 pm

#162 Post by nabla » Thu Dec 29, 2005 11:21 pm

Compiling succeeded. Now I get the following message:
[email protected] ~/freeorion/FreeOrionComp $ ./freeorion
./freeorion: error while loading shared libraries: libcdt.so.0: cannot open shared object file: No such file or directory
[email protected] ~/freeorion/FreeOrionComp $ ls -l /usr/lib/graphviz/libcdt.so.0
lrwxrwxrwx 1 root root 15 23. Dez 20:00 /usr/lib/graphviz/libcdt.so.0 -> libcdt.so.0.0.0
Configured as said above...
Any idea?

btw. it is graphviz 2.2

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12567
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#163 Post by Geoff the Medio » Thu Dec 29, 2005 11:27 pm


User avatar
tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#164 Post by tzlaine » Sat Dec 31, 2005 12:03 am

nabla wrote:Compiling succeeded. Now I get the following message:
[email protected] ~/freeorion/FreeOrionComp $ ./freeorion
./freeorion: error while loading shared libraries: libcdt.so.0: cannot open shared object file: No such file or directory
[email protected] ~/freeorion/FreeOrionComp $ ls -l /usr/lib/graphviz/libcdt.so.0
lrwxrwxrwx 1 root root 15 23. Dez 20:00 /usr/lib/graphviz/libcdt.so.0 -> libcdt.so.0.0.0
Configured as said above...
Any idea?

btw. it is graphviz 2.2
Is /usr/lib/graphviz in your LD_LIBRARY_PATH? It looks like it is not. BTW, this is a runtime link error, so can't be a bug as Geoff suggests.

Sapphire Wyvern
Space Kraken
Posts: 149
Joined: Wed Nov 09, 2005 3:25 am
Location: Melbourne, Australia

Compiling for Windows

#165 Post by Sapphire Wyvern » Sat Dec 31, 2005 1:30 am

Hi everyone.

I have a MSDN Academic Alliance copy of MS Visual Studio, so I'm wondering it it's better to use the MSVC build system or SCons. Can I get some advice?

I do have some experience with programming, etc, but everything I've done to date has been on Solaris at uni; I've never attempted a "real project" under Windows before. I don't have a Linux install at home so I can't just go with the familiar system at this stage.

Post Reply