So I did complete a build. I ran into two other issues on this version of Ubuntu. One was in Core/PowerPC/BreakPoints.cpp:
@@ -215,8 +215,8 @@ bool MemChecks::OverlapsMemcheck(u32 address, u32 length)
if (!HasAny())
return false;
- const u32 page_end_suffix = length - 1;
- const u32 page_end_address = address | page_end_suffix;
+ u32 page_end_suffix = length - 1;
+ u32 page_end_address = address | page_end_suffix;
This triggers an internal compiler error. Removing the const qualifiers avoids the error. (I think the compiler was trying to optimize the values away entirely, and this broke it, but I didn't explore further because I doubt anyone cares about an ICE from gcc 5.4.)
The second was, spread throughout a fair bit of Core/IOS, namespace declarations using "namespace A:B:C", which gcc couldn't handle. Breaking them out into separate/nested entries fixed that:
-namespace IOS::HLE::FS
+namespace IOS
+{
+namespace HLE
+{
+namespace FS
I also had a number of issues which weren't Dolphin's fault at all, having to do with Debian's llvm packaging being wrong, generally solved with things roughly like "ln -s llvm-3.8 llvm" and similar things in /usr/include and in a couple of other paths. With all of that done, I can in fact build the whole thing. (I haven't actually tried the resulting emulator, mind, but at least it built.)
@@ -215,8 +215,8 @@ bool MemChecks::OverlapsMemcheck(u32 address, u32 length)
if (!HasAny())
return false;
- const u32 page_end_suffix = length - 1;
- const u32 page_end_address = address | page_end_suffix;
+ u32 page_end_suffix = length - 1;
+ u32 page_end_address = address | page_end_suffix;
This triggers an internal compiler error. Removing the const qualifiers avoids the error. (I think the compiler was trying to optimize the values away entirely, and this broke it, but I didn't explore further because I doubt anyone cares about an ICE from gcc 5.4.)
The second was, spread throughout a fair bit of Core/IOS, namespace declarations using "namespace A:B:C", which gcc couldn't handle. Breaking them out into separate/nested entries fixed that:
-namespace IOS::HLE::FS
+namespace IOS
+{
+namespace HLE
+{
+namespace FS
I also had a number of issues which weren't Dolphin's fault at all, having to do with Debian's llvm packaging being wrong, generally solved with things roughly like "ln -s llvm-3.8 llvm" and similar things in /usr/include and in a couple of other paths. With all of that done, I can in fact build the whole thing. (I haven't actually tried the resulting emulator, mind, but at least it built.)
