Subject: Compatibility is dead

From: Daniel van Vugt <[email-masked]>
Date: Mon, 15 Jul 2013 11:31:14 +0800

It finally happened. lp:mir now depends on C++11 features and external 
packages (google-mock) too heavily to be buildable on raring any more.

Essentially the main problem is that raring uses gcc-4.7 and Mir's code 
depends on more complete C++11 features that only work in gcc-4.8. The 
other issue is that Mir now depends on saucy-specific hacks in the 
google-mock package, which can't be found elsewhere.

This is a little disappointing. If anyone would like to take on the 
project of making the Mir source more backward compatible, then feel 
free. But maintaining compatibility with raring has now taken up too 
much of my time...

- Daniel

---

From: Jono Bacon <[email-masked]>
Date: Mon, 15 Jul 2013 09:59:22 -0700

Hi Daniel,

Can we have a slightly less contentious subject line? ;-)

Compatibility is not dead, but maybe raring support is no longer a
priority. Compatibility is more than just raring.

   Jono

On Sun, Jul 14, 2013 at 8:31 PM, Daniel van Vugt <
[email-masked]> wrote:

> project of making the Mir source more backward compatible, then feel free.
> But maintaining compatibility with raring has now taken up too much of my
> time...
>
> - Daniel
>
> --
> Mir-devel mailing list
> [email-masked]
> Modify settings or unsubscribe at: https://lists.ubuntu.com/**
> mailman/listinfo/mir-devel<https://lists.ubuntu.com/mailman/listinfo/mir-devel>
>

-- 
Jono Bacon
Ubuntu Community Manager
www.ubuntu.com / www.jonobacon.org
www.identi.ca/jonobacon www.twitter.com/jonobacon

---

From: Oliver Ries <[email-masked]>
Date: Mon, 15 Jul 2013 11:37:19 -0600

Hi Daniel,

thanks for pointing this out. Can you help me understand the impact a bit
better?

> But maintaining compatibility with raring has now taken up too much of my

Looking at your initial mail, the main motivator for offering to support
Raring was that your own development environment is not on saucy yet
(though it should;). From this mail I take that gcc 4.8 and gmock test are
not available on R but became a requirement.

Is there any other benefit that we can think of that is currently being
impacted by this incompatibility with R?

thx
Olli

---

From: Daniel van Vugt <[email-masked]>
Date: Tue, 16 Jul 2013 09:20:54 +0800

At the moment, I suspect replacing all destructors:
     virtual ~Foo() = default
with
     virtual ~Foo() {}
and removing various "noexcept" specifiers, would suffice to retain 
gcc-4.7 support.

But I did not propose that change because I know a few people would 
oppose it.

Also, there's a chance that we will start using some other C++11 feature 
in gcc-4.8 that gcc-4.7 lacks. But working around the above destructor 
issue is the primary problem right now.

On 15/07/13 23:57, Mario Rugiero wrote:
> Is there any reference on which C++11 features need to be replaced?
>
>
> 2013/7/15 Daniel van Vugt <[email-masked]
> <mailto:[email-masked]>>
>
>     It finally happened. lp:mir now depends on C++11 features and
>     external packages (google-mock) too heavily to be buildable on
>     raring any more.
>
>     Essentially the main problem is that raring uses gcc-4.7 and Mir's
>     code depends on more complete C++11 features that only work in
>     gcc-4.8. The other issue is that Mir now depends on saucy-specific
>     hacks in the google-mock package, which can't be found elsewhere.
>
>     [email-masked] <mailto:[email-masked]>
>     Modify settings or unsubscribe at:
>     https://lists.ubuntu.com/__mailman/listinfo/mir-devel
>     <https://lists.ubuntu.com/mailman/listinfo/mir-devel>
>
>

---

From: Daniel van Vugt <[email-masked]>
Date: Tue, 16 Jul 2013 09:39:04 +0800

My main desktop is indeed raring. However it is significantly 
outnumbered by the number of saucy machines I have. I like raring 
because it is my fastest build machine by far. So keeps me more productive.

I'm not going to try to justify compiler compatibility any more other 
than saying it's a good thing for any project.

The gmock issues just look like CMake magic. So fixable, but not a priority.

On 16/07/13 01:37, Oliver Ries wrote:
> Hi Daniel,
>
> thanks for pointing this out. Can you help me understand the impact a
> bit better?
>
> On Sun, Jul 14, 2013 at 9:31 PM, Daniel van Vugt
> <[email-masked] <mailto:[email-masked]>>
> wrote:
>
> (though it should;). From this mail I take that gcc 4.8 and gmock test
> are not available on R but became a requirement.
>

---

From: Thomas Voß <[email-masked]>
Date: Tue, 16 Jul 2013 07:41:10 +0200

Hey Daniel,

the one concern I have with maintaining gcc 4.7 compatibility are the
numerous bugs that trigger internal compiler errors quite frequently.
Those issues are mostly gone with 4.8 and I would want to avoid us
working around compiler bugs (as opposed to missing C++11 features).

On Tue, Jul 16, 2013 at 3:39 AM, Daniel van Vugt
<[email-masked]> wrote:
> My main desktop is indeed raring. However it is significantly outnumbered by
> the number of saucy machines I have. I like raring because it is my fastest
> build machine by far. So keeps me more productive.
>

Fair point, why not setup a saucy chroot on the machine? Works
perfectly fine for me. Or a gcc 4.8 from the toolchain ppa's on
launchpad and leveraging the compute power with the help of distcc?

> I'm not going to try to justify compiler compatibility any more other than
> saying it's a good thing for any project.

While I do agree in general, I'm opposed to investing too much time
working around gcc 4.7 bugs.

Thanks,

  Thomas

> https://lists.ubuntu.com/mailman/listinfo/mir-devel

---

From: Daniel van Vugt <[email-masked]>
Date: Tue, 16 Jul 2013 13:52:13 +0800

As is often the case when I make too many public comments, they quickly 
become outdated. I've been using gcc-4.8 on raring since yesterday :)

---

From: Thomas Voß <[email-masked]>
Date: Tue, 16 Jul 2013 07:55:15 +0200

Ack :) Considering the case closed then :)

On Tue, Jul 16, 2013 at 7:52 AM, Daniel van Vugt
<[email-masked]> wrote:
>>> than