Light Style© by Fisana

Jump to content


Photo

Mac OSX


  • Please log in to reply
37 replies to this topic

#1 Flamelasher

Flamelasher

    Discens

  • Community Members
  • Pip
  • 14 posts

Posted 28 April 2012 - 10:45 AM

Why do you need to have 10.6 or later for Mac OSX? I really want to play this and maybe donate but my laptop lags really badly and my mac is running on 10.5.8.
  • 0

#2 fabio

fabio

    Centurio

  • WFG Programming Team
  • 606 posts

Posted 28 April 2012 - 01:34 PM

Why do you need to have 10.6 or later for Mac OSX? I really want to play this and maybe donate but my laptop lags really badly and my mac is running on 10.5.8.


Every Intel MAC can be upgraded to 10.6. The major problem to me is that it only supports 64 bit MAC, and the first Core Duo based are 32 bit only (I own that...).
  • 0

Graphics problems with 0 A.D. under Ubuntu and free drivers? Check out the Updated and Optimized Graphics Drivers Archive: includes updated drivers with fixes and improvements for games, including 0 A.D..


#3 historic_bruno

historic_bruno

    Primus Pilus

  • WFG Programming Team
  • 2,300 posts

Posted 28 April 2012 - 10:55 PM

I suspect we'd need a separate build of the game and its dependencies for Leopard, it complicates the build environment, the code would need special handling for the API that changes between Leopard and newer versions -- all of which would increase maintenance going forward, and we'd need someone with a Leopard system to test. It seems much better for now to give priority to whichever version(s) Apple still supports.
  • 0
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben [at] wildfiregames [dot] com

#4 MishFTW

MishFTW

    Primus Pilus

  • Web Development Team
  • 1,859 posts

Posted 29 April 2012 - 01:00 AM

The last build of Leopard (10.5.8) was published on August 31, 2009. Consider it obsolete.
With the advent of Mountain Lion this summer, consider Snow Leopard to be history as well.
  • 0
Mish [ aka MishFTW]
Wildfire Games Webmaster
Email Me | About Me

#5 Flamelasher

Flamelasher

    Discens

  • Community Members
  • Pip
  • 14 posts

Posted 29 April 2012 - 10:40 AM

Every Intel MAC can be upgraded to 10.6. The major problem to me is that it only supports 64 bit MAC, and the first Core Duo based are 32 bit only (I own that...).


Yes, well, I don't feel like paying Ł26 pounds for a free game that I can run on my laptop.

Attached Thumbnails

  • Picture 6.png

Edited by Flamelasher, 29 April 2012 - 10:40 AM.

  • 0

#6 Ykkrosh

Ykkrosh

    Primus Pilus

  • WFG Programming Team
  • 4,908 posts

Posted 29 April 2012 - 01:09 PM

What about paying Ł26 to upgrade your Mac so that it's not running an out-of-support OS with known actively-exploited unfixed security vulnerabilities? :) (e.g. there's no update to fix Flashback on 10.5, only advice to disable Java in all your web browsers.)

I don't think we want to actively refuse to support old OSes just because they're old (I think it's valuable to be widely compatible, especially for an open source game which relies on inclusiveness and community support and which should appeal to people without modern gaming PCs), but in this case it's been hard to get any OS X support at all (due to lack of interest and/or capability) so it makes sense to limit the scope in order to minimise technical difficulties - PPC vs Intel, 32-bit vs 64-bit, Carbon vs Cocoa (in particular the Atlas editor uses wxWidgets which supports only Carbon on 32-bit and only Cocoa on 64-bit, if I remember correctly). Maybe a reasonable approach would be to continue doing 64-bit 10.6+ builds as the primarily supported version, and also distribute a 32-bit Intel 10.5-only non-Atlas build for broader compatibility (with no guarantees it will get continued 'official' support from WFG) if someone is willing to set up and maintain and test the build environment for that?
  • 0
Philip Taylor [aka Ykkrosh]

Wildfire Games Programmer
Contact me: philip@wildfiregames.com

#7 Flamelasher

Flamelasher

    Discens

  • Community Members
  • Pip
  • 14 posts

Posted 29 April 2012 - 04:10 PM

My Mac runs fine with 10.5.8, and I don't have Ł26 pounds to spend on an update that does next to nothing.
  • 0

#8 Flamelasher

Flamelasher

    Discens

  • Community Members
  • Pip
  • 14 posts

Posted 29 April 2012 - 10:00 PM

What was the last version to support 10.5.8?
  • 0

#9 historic_bruno

historic_bruno

    Primus Pilus

  • WFG Programming Team
  • 2,300 posts

Posted 29 April 2012 - 11:17 PM

What was the last version to support 10.5.8?

It would have to be before r10897 at least. I can try compiling on Snow Leopard against the 10.5 SDK, and see what happens :P
  • 0
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben [at] wildfiregames [dot] com

#10 MishFTW

MishFTW

    Primus Pilus

  • Web Development Team
  • 1,859 posts

Posted 30 April 2012 - 12:34 AM

Actually, if your computer has the right specs, just get the Lion USB stick. Its about the same as getting Snow Leopard and then downloading Lion.
  • 0
Mish [ aka MishFTW]
Wildfire Games Webmaster
Email Me | About Me

#11 historic_bruno

historic_bruno

    Primus Pilus

  • WFG Programming Team
  • 2,300 posts

Posted 30 April 2012 - 07:28 PM

So I tried a 32-bit 10.5 build on Snow Leopard. I discovered and fixed some cross-compiling bugs in the library build script, so that's good. But Spidermonkey failed, so that's bad :( Here's how I invoked its configure:

../configure --prefix=${INSTALL_DIR} --disable-tests --disable-shared-js --enable-macos-target=10.5 --with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk --target=i386-apple-darwin9.0.0 --enable-debug --disable-optimize

producing a bunch of errors in the JIT build. It works fine without the --target flag, though obviously that would produce a 64-bit lib on Snow Leopard. Then I tried with the necessary compiler flags in place of e.g. --with-macosx-sdk:

CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -arch i386" CPPFLAGS=$CFLAGS LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch i386" ../configure --prefix=${INSTALL_DIR} --disable-tests --disable-shared-js --enable-debug --disable-optimize

and that caused some different, obviously related build errors. I don't have them in front of me but can post later if anyone's interested. It seems Spidermonkey doesn't like me using all these advanced cross-compiling options :(
  • 0
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben [at] wildfiregames [dot] com

#12 historic_bruno

historic_bruno

    Primus Pilus

  • WFG Programming Team
  • 2,300 posts

Posted 01 May 2012 - 02:39 AM

Ok, I found the magic flags to make Spidermonkey build in this configuration, based on a comment from a Bugzilla report :blink:

Now my configure commands looks like this:

CC="gcc -arch i386" CXX="g++ -arch i386" AR=ar CROSS_COMPILE=1 ../configure --prefix=${INSTALL_DIR} --disable-tests --disable-shared-js --enable-macos-target=10.5 --with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk --target=i386-apple-darwin9.0.0 --enable-debug --disable-optimize

So then I was able to attempt building the game and other than the known OpenAL-GCC bug, the most serious errors are these:

Spoiler


I don't know whether this is an STL bug affecting the 10.5 SDK or something we can fix (it certainly doesn't fail on any other combination of OS + GCC that I've tried). The same compiler works fine against the 10.6 SDK. I also tested GCC 4.0 with even worse results :( In case it helps, the compiler version is "i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646)"
  • 0
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben [at] wildfiregames [dot] com

#13 Ykkrosh

Ykkrosh

    Primus Pilus

  • WFG Programming Team
  • 4,908 posts

Posted 01 May 2012 - 09:17 PM

../../../source/renderer/PatchRData.cpp: In static member function ‘static void CPatchRData::RenderBlends(const std::vector >&, const CShaderProgramPtr&, bool)’:
../../../source/renderer/PatchRData.cpp:871: error: request for member ‘splats’ in ‘blendStacks. std::vector<_Tp, _Alloc>::back [with _Tp = SBlendStackItem, _Alloc = ProxyAllocator > > >]()’, which is of non-class type ‘SBlendStackItem*’

Does this help? (Our code was arguably incorrect, though I can't tell what the C++ standard says about whether it should have worked anyway.)
  • 0
Philip Taylor [aka Ykkrosh]

Wildfire Games Programmer
Contact me: philip@wildfiregames.com

#14 historic_bruno

historic_bruno

    Primus Pilus

  • WFG Programming Team
  • 2,300 posts

Posted 02 May 2012 - 02:15 AM

Does this help? (Our code was arguably incorrect, though I can't tell what the C++ standard says about whether it should have worked anyway.)

It does, thanks :)

There was also an error with the cpuid asm function in x86_x64.cpp:
../../../source/lib/sysdep/arch/x86_x64/x86_x64.cpp: In function ‘bool x86_x64::cpuid(x86_x64::CpuidRegs*)’:
../../../source/lib/sysdep/arch/x86_x64/x86_x64.cpp:81: error: can't find a register in class ‘BREG’ while reloading ‘asm’
../../../source/lib/sysdep/arch/x86_x64/x86_x64.cpp:81: error: ‘asm’ operand has impossible constraints

Which according to Philip's recollection is an issue with PIC, old GCC, and 32-bit builds - all of which affect my test :( I've used his fix from r9023 as a work around (I was responsible for adding the asm back in r9891, but didn't realize it had existed previously - luckily no one has complained about it recently)

Now it's a matter of fixing the 10.6+ only functions (like CGDisplayCopyDisplayMode).
  • 0
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben [at] wildfiregames [dot] com

#15 Sonarpulse

Sonarpulse

    Sesquiplicarius

  • Community Members
  • PipPip
  • 166 posts

Posted 03 May 2012 - 08:05 PM

I would also be interested in a 10.5.8 build, no Atlas is fine. What is the deal with processor architecture? If somebody has 32-bit 10.5.8, updating to 10.6 shouldn't give them 64-bit.
  • 0
Posted ImagePosted ImagePosted Image

#16 historic_bruno

historic_bruno

    Primus Pilus

  • WFG Programming Team
  • 2,300 posts

Posted 03 May 2012 - 09:29 PM

Uploading a 32-bit 10.5 test bundle now.
  • 0
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben [at] wildfiregames [dot] com

#17 Sonarpulse

Sonarpulse

    Sesquiplicarius

  • Community Members
  • PipPip
  • 166 posts

Posted 03 May 2012 - 09:39 PM

Excellent!
  • 0
Posted ImagePosted ImagePosted Image

#18 historic_bruno

historic_bruno

    Primus Pilus

  • WFG Programming Team
  • 2,300 posts

Posted 03 May 2012 - 10:47 PM

0ad-r11724-osx-i386.dmg (360MB)

Should work on Intel Macs running OS X Leopard or Snow Leopard, but not Lion. Please report here how it works.

Note: this is a development version so it has whichever bugs/features/fixes are current in SVN, as of r11724 :P
  • 0
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben [at] wildfiregames [dot] com

#19 Sonarpulse

Sonarpulse

    Sesquiplicarius

  • Community Members
  • PipPip
  • 166 posts

Posted 04 May 2012 - 05:24 AM

Sweet, thanks so much! I had my friend try it (I don't actually have a mac) and he said everything seemed to work fine, until when he alt-enter-ed to windowed-mode and the game crashed.

Does this build (and henceforth hopefully) need to be cross-compiled from 10.6/Xcode 4, or can this be built from 10.5?
  • 0
Posted ImagePosted ImagePosted Image

#20 fabio

fabio

    Centurio

  • WFG Programming Team
  • 606 posts

Posted 04 May 2012 - 06:29 AM

I would also be interested in a 10.5.8 build, no Atlas is fine. What is the deal with processor architecture? If somebody has 32-bit 10.5.8, updating to 10.6 shouldn't give them 64-bit.


Note that 10.710.6 is 64 bit only, 32 bits Mac can only upgrade up to 10.610.5.

Edited by fabio, 04 May 2012 - 01:17 PM.

  • 0

Graphics problems with 0 A.D. under Ubuntu and free drivers? Check out the Updated and Optimized Graphics Drivers Archive: includes updated drivers with fixes and improvements for games, including 0 A.D..