0.4.4 doesn't compile on Arch Linux (boost 1.56)

Questions, problems and discussion about compiling FreeOrion.

Moderator: Oberlus

Post Reply
Message
Author
Chriss
Dyson Forest
Posts: 231
Joined: Sun May 11, 2008 10:50 am

0.4.4 doesn't compile on Arch Linux (boost 1.56)

#1 Post by Chriss »

Boost 1.56 is in the stable repositories of Arch LInux as of yesterday / today. Just AFTER I finished the Aur Package of course. ;) As you can probably guess, that breaks the 0.4.4 release... Considering the issues geoff and others had with boost 1.56 on trunk, do you think you're going to do anything about that?
Attached patches are released under GPL 2.0 or later.

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

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#2 Post by Geoff the Medio »

Probably not; use an earlier Boost.

Aside from the (intentional) breaking changes in Phoenix 3, there is reported a bug in serialization in Boost 1.56 that requires a code patch when building boost...

Chriss
Dyson Forest
Posts: 231
Joined: Sun May 11, 2008 10:50 am

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#3 Post by Chriss »

adrian_broher wrote:
Chriss wrote: Let's say arch adds the missing includes for serialization to work. What are the chances of me being able to compile a FO branch with 1.56 in the near future? I am not sure if I can stay on 1.55 for months... It's not really a supported constellation in Arch. Boost versions seem to take a couple of months at least.
Could you please open a dedicated thread for this issue Chriss? It's hard to track such issues if they just reported in some unrelated thread.
Sure, sorry. Kinda already did.

So... Ekiga (Sip Software Phone) links to boost 1.56. Basically that means that unless I downgrade a whole bunch of apps (which is a real PITA) I can't really stay with Boost 1.55. Which is kinda what I figured would eventuelly happen, but not right away. This also means that currently, freeorion (both the release and trunk) can't be compiled on arch.

Let's assume Arch fixes the serialization include bug in their boost 1.56, or I hack mine manually. You guys already did some work on making the code compile with boost 1.56 in the SDL branch, I think?

What options to I have?
Attached patches are released under GPL 2.0 or later.

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

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#4 Post by Geoff the Medio »

The SDL branch already compile fine for me on Windows with Boost 1.56. If whatever include issue Vezzra mentioned is resolved, presumably it would work fine on other OSes as well.

I have no plans to independently change the trunk build for newer Boost versions, but you could possibly make a patch to get it to support Boost 1.56 based on what's been done in trunk. Or just wait until the SDL branch is done and merged back to trunk.

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#5 Post by adrian_broher »

Chriss wrote:Considering the issues geoff and others had with boost 1.56 on trunk, do you think you're going to do anything about that?
1) What issues are you talking about? Did you try to compile the project? Do you have complete(!) compile logs? The comment by 8472 on https://aur.archlinux.org/packages/freeorion/ doesn't contain any information I can work with.
2) How are we supposed to give any guidance if there is no actual issue to work with?
3) The package maintainer is responsible for integration into the distribution, this includes patching for distribution specific oddities like incompatible or unsupported libraries. We will only maintain the code against the dependencies we chose, however we can help the maintainer by giving guidance when searching the error.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

Chriss
Dyson Forest
Posts: 231
Joined: Sun May 11, 2008 10:50 am

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#6 Post by Chriss »

Yeah, I know, he didn't post the error itself. It's a really long error, I don't have the time to properly report it atm.

I'll check the status of things with the SDL branch and trunk when I'm back from my holiday in about 2 weeks...
Attached patches are released under GPL 2.0 or later.

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

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#7 Post by Geoff the Medio »

Probably all the same errors I had to fix in the SDL / SDK branch when updating to Boost 1.56. Some symbols have changed (nil to nil_), the format for specifying parser return type has changed, and there seems to be a slightly reduced limit on the number of parameters that can be passed to constructors of things by a parser. The branch has changes to fix all these. Most (any?) of them will generate many hundreds of lines of boost template spam error messages.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#8 Post by Vezzra »

Chriss wrote:Let's assume Arch fixes the serialization include bug in their boost 1.56, or I hack mine manually.
Then you should be able to build the SDL branch I guess. If I manually fix this include bug I can build with boost 1.56 on OSX.

Chriss
Dyson Forest
Posts: 231
Joined: Sun May 11, 2008 10:50 am

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#9 Post by Chriss »

For reference, the whole glory error in the attached log.
Attachments
make-out.txt
(301.37 KiB) Downloaded 152 times
Attached patches are released under GPL 2.0 or later.

Chriss
Dyson Forest
Posts: 231
Joined: Sun May 11, 2008 10:50 am

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#10 Post by Chriss »

Vezzra wrote:
Chriss wrote:Let's assume Arch fixes the serialization include bug in their boost 1.56, or I hack mine manually.
Then you should be able to build the SDL branch I guess. If I manually fix this include bug I can build with boost 1.56 on OSX.
Fixed in Arch's 1.56.0-2 (new package revision).
Attached patches are released under GPL 2.0 or later.

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

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#11 Post by Geoff the Medio »

Vezzra wrote:If I manually fix this include bug I can build with boost 1.56 on OSX.
Is it actually necessary to make a fix within Boost code, or can an adjustment in FO / GG code get it working with Boost 1.56?

Mitten.O
Programmer
Posts: 255
Joined: Sun Apr 06, 2014 4:15 pm

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#12 Post by Mitten.O »

Geoff the Medio wrote:
Vezzra wrote:If I manually fix this include bug I can build with boost 1.56 on OSX.
Is it actually necessary to make a fix within Boost code, or can an adjustment in FO / GG code get it working with Boost 1.56?
Since it is just a question of missing includes, we can just include them ourselves before including the file that misses them. I posted a patch doing that (among other things) here: viewtopic.php?f=24&t=9111.
Any code by me in this post is released under GPL 2.0 or later.

pheldens
Pupating Mass
Posts: 96
Joined: Fri Mar 15, 2013 12:54 pm

Re: 0.4.4 doesn't compile on Arch Linux (boost 1.56)

#13 Post by pheldens »

add

#include <boost/serialization/singleton.hpp>
#include <boost/serialization/extended_type_info.hpp>

to
<prefix>/include/boost/serialization/shared_ptr_helper.hpp

Post Reply