0.3.14 can't start arch linux

Problems and solutions for installing or running FreeOrion, including discussion of bugs if needed before posting a bug report. For problems building from source, post in Compile.

Moderators: Oberlus, Oberlus

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

Re: 0.3.14 can't start arch linux

#16 Post by Geoff the Medio » Tue Aug 10, 2010 12:45 am

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.
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.

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: 0.3.14 can't start arch linux

#17 Post by kroddn » Tue Aug 10, 2010 5:09 am

@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!

athros
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#18 Post by athros » Tue Aug 10, 2010 2:20 pm

@kroddn: Output follows:

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: 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.

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: 0.3.14 can't start arch linux

#19 Post by kroddn » Sat Aug 14, 2010 9:25 am

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".

athros
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#20 Post by athros » Tue Sep 07, 2010 9:20 pm

Ok. I took a break so I didn't do anything drastic. GiGi error on compilation follows:

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.
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?

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

Re: 0.3.14 can't start arch linux

#21 Post by Geoff the Medio » Tue Sep 07, 2010 10:05 pm

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.

athros
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#22 Post by athros » Tue Sep 07, 2010 10:23 pm

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. :)

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

Re: 0.3.14 can't start arch linux

#23 Post by Geoff the Medio » Tue Sep 07, 2010 10:44 pm

athros wrote:How did you find that?
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
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#24 Post by athros » Wed Sep 08, 2010 5:51 pm

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?

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

Re: 0.3.14 can't start arch linux

#25 Post by Geoff the Medio » Wed Sep 08, 2010 6:27 pm

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.
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.

athros
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#26 Post by athros » Wed Sep 08, 2010 6:38 pm

Make Failed.

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
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?

athros
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#27 Post by athros » Wed Sep 08, 2010 7:19 pm

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.
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?

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.

athros
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#28 Post by athros » Wed Sep 08, 2010 8:02 pm

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 :oops: )

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.
So...now I'm a little stumped...I'm going to try again, new download and all.

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

Re: 0.3.14 can't start arch linux

#29 Post by Geoff the Medio » Wed Sep 08, 2010 9:27 pm

athros wrote:

Code: Select all

SerializeMultiplayerCommon.cpp:
[...]
undefined reference to `void System::serialize<boost::archive::xml_oarchive>(boost::archive::xml_oarchive&, unsigned int)'
There are various recurring issues with Linux and System::serialize. Usually it's after things are built, though...

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); 
At line 95 of SerializeUniverse.cpp (right after System::serialize is defined)? Maybe that will convince the compiler / linker that the function is defined.

...
athros wrote:Any standards you'd like me to adhere to for doc purposes?
Nothing specific comes to mind.

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.
athros 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.
FreeOrion AI is scripted using Python. See: http://freeorion.org/index.php/AI_Python_API

athros
Krill Swarm
Posts: 11
Joined: Fri Aug 06, 2010 11:47 pm

Re: 0.3.14 can't start arch linux

#30 Post by athros » Wed Sep 08, 2010 11:46 pm

Geoff the Medio wrote: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); 
At line 95 of SerializeUniverse.cpp (right after System::serialize is defined)? Maybe that will convince the compiler / linker that the function is defined.
That seemed to work. It's continuing on the make now. I will update when I have something else.

Geoff the Medio wrote:
athros wrote:Any standards you'd like me to adhere to for doc purposes?
Nothing specific comes to mind.

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.
athros 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.
FreeOrion AI is scripted using Python. See: http://freeorion.org/index.php/AI_Python_API
Ok. I'll look into it and work on it when I have time. :)

Post Reply