There's a reasonable, though possibly a bit out of date, set of instructions on the wiki compile page. There's also a CMake build system available, which should give some indication of what libraries are needed. Various people have posted issues or questions about compiling on the forums as well, if you run into trouble. There's also a set of user stories on the wiki, though those are probably out of date.athros wrote:@Geoff the Medio - I am willing to recompile, I just need to know the libraries I need to get. I think I have the basics of what I need.
0.3.14 can't start arch linux
Moderator: Oberlus
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13587
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: 0.3.14 can't start arch linux
Re: 0.3.14 can't start arch linux
@athros: are you sure that you run the script freeorion and not the binary inside the application directory? Only the script supports that --gdb parameter.
The debugging files go into application, so that for example "freeorion" and "freeorion.dbg" are inside the application directory. When starting gdb, it should state that it is loading debugging symbols from freeorion.dbg.
Also important: the debugging files must be the same version than the binaries!
The debugging files go into application, so that for example "freeorion" and "freeorion.dbg" are inside the application directory. When starting gdb, it should state that it is loading debugging symbols from freeorion.dbg.
Also important: the debugging files must be the same version than the binaries!
Re: 0.3.14 can't start arch linux
@kroddn: Output follows:
EDIT: I'm going to redownload both from sourceforge again, and retry, just to be sure.
EDIT #2: Re download and attempt failed. Compilation is failing on GiGi. I'm working on that right now. I can post the error if you prefer.
Code: Select all
$ ./freeorion --gdb
Following into my basedir
CWD: /home/nsawlidi/freeorion/application
python2.5 found. Using it.
./freeorion: line 143: gdb: command not found
Code: Select all
ls application
default freeorion freeorionca freeorionca.dbg freeoriond freeorion.dbg freeoriond.dbg lib OISInput.cfg python2.5
EDIT #2: Re download and attempt failed. Compilation is failing on GiGi. I'm working on that right now. I can post the error if you prefer.
Re: 0.3.14 can't start arch linux
You don't have "gdb" installed. Please install that using your packet manager (I don't know how that works on arch linux).
gdb is "the gnu debugger".
gdb is "the gnu debugger".
Re: 0.3.14 can't start arch linux
Ok. I took a break so I didn't do anything drastic. GiGi error on compilation follows:
So...I noticed that there are no downgrades for GCC to 4.3. Are there any other workarounds? Or am I hosed at this point?
Code: Select all
Building CXX object src/CMakeFiles/GiGi.dir/adobe/eve.cpp.o
In file included from /home/nsawlidi/Games/freeorion/FreeOrion/GG/src/adobe/eve.cpp:21:0:
/home/nsawlidi/Games/freeorion/FreeOrion/GG/GG/adobe/cmath.hpp:47:2: error: #error "Unknown GCC compiler configuration for cmath (last known version is 4.0.1)."
make[2]: *** [src/CMakeFiles/GiGi.dir/adobe/eve.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/GiGi.dir/all] Error 2
make: *** [all] Error 2
Code: Select all
g++ --version
g++ (GCC) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Code: Select all
gcc --version
gcc (GCC) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13587
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: 0.3.14 can't start arch linux
Looking at the commit history for that file (cmath.hpp), I notice a change here: http://gigi.svn.sourceforge.net/viewvc/ ... 722&r2=793
I suggest you make a similar change, but bump the minor number to 5 instead of 4.
I suggest you make a similar change, but bump the minor number to 5 instead of 4.
Re: 0.3.14 can't start arch linux
That worked, it's continuing to make. Will update when finished.
A little off topic: How did you find that? I couldn't find anything on the error, which is why I posted it here...
EDIT: I'm also keeping a record of what I do so that I can add it to some kind of documentation for Arch Linux users, 64bit in particular.
A little off topic: How did you find that? I couldn't find anything on the error, which is why I posted it here...
EDIT: I'm also keeping a record of what I do so that I can add it to some kind of documentation for Arch Linux users, 64bit in particular.
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13587
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: 0.3.14 can't start arch linux
I looked at the name of the file causing the error, GG/GG/adobe/cmath.hpp, and decided to have a look at that file to see if I could see what the problem was. Before I got into the file itself, I noted that the most recent change to the file is summarized as "Fixed trivial GCC 4.4 compilation errors.". That seemed potentially interesting, so I looked at the changes compared with the previous version. The changes were to version numbers beign checked against constants, with GNUC and MINOR in the names, and 4 being the minor number. From that I guessed that the same issue was happening to you, but with a later GCC version.athros wrote:How did you find that?
Re: 0.3.14 can't start arch linux
Ok, with that fix, and a fix to the Documentation creation for GiGi (it was trying to create a doc file out of GG/docs/GG/ and the 2nd GG directory didn't exist) and the Graphviz library patch, cmake worked, and make is now working. I'm at 23% and climbing. I'll update when complete.
2nd: So, I do have a Mac,a nd I run the game there just fine (No errors, FPS ~25-30) and I was wondering who is keeping the tutorials up to date, expanding on them, etc. ? I think a couple of updates there would do wonders for the game, along with a manual. Any thoughts? Do I need to make a different thread?
2nd: So, I do have a Mac,a nd I run the game there just fine (No errors, FPS ~25-30) and I was wondering who is keeping the tutorials up to date, expanding on them, etc. ? I think a couple of updates there would do wonders for the game, along with a manual. Any thoughts? Do I need to make a different thread?
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13587
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: 0.3.14 can't start arch linux
Nobody, probably.athros wrote:...who is keeping the tutorials up to date, expanding on them, etc. ? I think a couple of updates there would do wonders for the game, along with a manual.
Whenever we get around to releasing v0.4, I'll probably take some time to update the Quick Play Guide. Until then, it's up to other volunteers. There's occasional talk of work on it, but not much seems to happen... which isn't surprising, as most people don't find writing documentation very enjoyable.
Re: 0.3.14 can't start arch linux
Make Failed.
I have boost installed, the boost-libs installed, and I'm working on boost-devel now (it's having problems *sigh*). Is there something else I'm not seeing?
Code: Select all
[ 28%] Building CXX object server/CMakeFiles/freeoriond.dir/__/log4cpp/src/PThreads.cpp.o
Linking CXX executable ../freeoriond
CMakeFiles/freeoriond.dir/__/network/Message.cpp.o: In function `boost::archive::detail::iserializer<boost::archive::xml_iarchive, System>::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const':
Message.cpp:(.text._ZNK5boost7archive6detail11iserializerINS0_12xml_iarchiveE6SystemE16load_object_dataERNS1_14basic_iarchiveEPvj[boost::archive::detail::iserializer<boost::archive::xml_iarchive, System>::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const]+0x70): undefined reference to `void System::serialize<boost::archive::xml_iarchive>(boost::archive::xml_iarchive&, unsigned int)'
CMakeFiles/freeoriond.dir/__/util/SerializeMultiplayerCommon.cpp.o: In function `boost::archive::detail::oserializer<boost::archive::xml_oarchive, System>::save_object_data(boost::archive::detail::basic_oarchive&, void const*) const':
SerializeMultiplayerCommon.cpp:(.text._ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveE6SystemE16save_object_dataERNS1_14basic_oarchiveEPKv[boost::archive::detail::oserializer<boost::archive::xml_oarchive, System>::save_object_data(boost::archive::detail::basic_oarchive&, void const*) const]+0x2b): undefined reference to `void System::serialize<boost::archive::xml_oarchive>(boost::archive::xml_oarchive&, unsigned int)'
collect2: ld returned 1 exit status
make[2]: *** [freeoriond] Error 1
make[1]: *** [server/CMakeFiles/freeoriond.dir/all] Error 2
make: *** [all] Error 2
Re: 0.3.14 can't start arch linux
Ok. I'll lend my hand to it, on the Mac version, since the laptop + linux distro is being a pain in the ass. Any standards you'd like me to adhere to for doc purposes?Geoff the Medio wrote:Nobody, probably.
Whenever we get around to releasing v0.4, I'll probably take some time to update the Quick Play Guide. Until then, it's up to other volunteers. There's occasional talk of work on it, but not much seems to happen... which isn't surprising, as most people don't find writing documentation very enjoyable.
I'm learning Python more in depth, but it looks like you're using C/C++ so I can't lend any (mediocre at best right now) programming skills.
Still working on boost-devel. stupid *expletive* mother *expletive* *expletive* Downloaded the source and I'm building it from there, since the AUR package is hanging horribly. Will continue to update.
Re: 0.3.14 can't start arch linux
Boost Library install successful. Make fails with the same errors. I'm trying scons now.
EDIT: Is there a specific place boost needs to be installed to?
EDIT 2: No surprise, scons failed. (Now that I've read a little bit, I realize that it's no longer officially supported )
So...now I'm a little stumped...I'm going to try again, new download and all.
EDIT: Is there a specific place boost needs to be installed to?
EDIT 2: No surprise, scons failed. (Now that I've read a little bit, I realize that it's no longer officially supported )
Code: Select all
network/Message.o: In function `boost::archive::detail::iserializer<boost::archive::xml_iarchive, System>::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const':
Message.cpp:(.text._ZNK5boost7archive6detail11iserializerINS0_12xml_iarchiveE6SystemE16load_object_dataERNS1_14basic_iarchiveEPvj[boost::archive::detail::iserializer<boost::archive::xml_iarchive, System>::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const]+0x89): undefined reference to `void System::serialize<boost::archive::xml_iarchive>(boost::archive::xml_iarchive&, unsigned int)'
util/SerializeMultiplayerCommon.o: In function `boost::archive::detail::oserializer<boost::archive::xml_oarchive, System>::save_object_data(boost::archive::detail::basic_oarchive&, void const*) const':
SerializeMultiplayerCommon.cpp:(.text._ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveE6SystemE16save_object_dataERNS1_14basic_oarchiveEPKv[boost::archive::detail::oserializer<boost::archive::xml_oarchive, System>::save_object_data(boost::archive::detail::basic_oarchive&, void const*) const]+0x4c): undefined reference to `void System::serialize<boost::archive::xml_oarchive>(boost::archive::xml_oarchive&, unsigned int)'
collect2: ld returned 1 exit status
scons: *** [freeoriond] Error 1
scons: building terminated because of errors.
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13587
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: 0.3.14 can't start arch linux
There are various recurring issues with Linux and System::serialize. Usually it's after things are built, though...athros wrote:Code: Select all
SerializeMultiplayerCommon.cpp: [...] undefined reference to `void System::serialize<boost::archive::xml_oarchive>(boost::archive::xml_oarchive&, unsigned int)'
System::serialize is defined in SerializeUniverse.cpp and declared in System.h.
SerializeMultiplayerCommon.cpp, the source file of the object that's having the linking error looking for undefined System::serialize, includes System.h.
When building freeoriond, did SerilaizeUniverse.cpp get compiled? (It's in the server CMakeLists.txt, so should have...)
Redownloading things probably won't fix anything.
Maybe it's a weird naming conflict with "System" ?
Edit:
Could you try adding these lines
Code: Select all
template void System::serialize<FREEORION_OARCHIVE_TYPE>(FREEORION_OARCHIVE_TYPE&, const unsigned int);
template void System::serialize<FREEORION_IARCHIVE_TYPE>(FREEORION_IARCHIVE_TYPE&, const unsigned int);
...
Nothing specific comes to mind.athros wrote:Any standards you'd like me to adhere to for doc purposes?
If you want to add images or screenshots to the wiki, pm me or post them on the forum, and I can upload them to the wiki.
FreeOrion AI is scripted using Python. See: http://freeorion.org/index.php/AI_Python_APIathros wrote:I'm learning Python more in depth, but it looks like you're using C/C++ so I can't lend any (mediocre at best right now) programming skills.
Re: 0.3.14 can't start arch linux
That seemed to work. It's continuing on the make now. I will update when I have something else.Geoff the Medio wrote:Could you try adding these linesAt line 95 of SerializeUniverse.cpp (right after System::serialize is defined)? Maybe that will convince the compiler / linker that the function is defined.Code: Select all
template void System::serialize<FREEORION_OARCHIVE_TYPE>(FREEORION_OARCHIVE_TYPE&, const unsigned int); template void System::serialize<FREEORION_IARCHIVE_TYPE>(FREEORION_IARCHIVE_TYPE&, const unsigned int);
Ok. I'll look into it and work on it when I have time.Geoff the Medio wrote:Nothing specific comes to mind.athros wrote:Any standards you'd like me to adhere to for doc purposes?
If you want to add images or screenshots to the wiki, pm me or post them on the forum, and I can upload them to the wiki.
FreeOrion AI is scripted using Python. See: http://freeorion.org/index.php/AI_Python_APIathros wrote:I'm learning Python more in depth, but it looks like you're using C/C++ so I can't lend any (mediocre at best right now) programming skills.