How to get Civ4:BTS working on OS X Yosemite

Xyth

History Rewritten
Joined
Jul 14, 2004
Messages
4,106
Location
Aotearoa
When you try to launch BTS (or Warlords or Colonization) on OS X Yosemite, it fails with the message "Failed Initializing Python". This is because Yosemite drops support for Python 2.3, which is needed by Civ4 and it's expansions. The solution is to reinstall Python 2.3 on Yosemite. Unfortunately I couldn't find an OS X version of 2.3 on Python.org, so instead I copied the relevant folders across from Mavericks.


  • This fix involves making some additions to folders and frameworks located in OS X's System and Library folders. It shouldn't cause any problems, but please be extremely careful and be sure to have your system backed up before trying this. Just in case.

  • I've included Python 2.3 and 2.5. Both were present in Mavericks but gone from Yosemite. I don't know if both are needed by BTS, but I thought it best to include both just in case.

  • I had to use 7zip to pack the files so they be small enough to host on with my sharing service. If you don't already have a way to unpack 7zip I highly recommend getting 'The Unarchiver' from the MacAppStore. It's free and, in my opinion, an essential Mac utility.



Step 1:

Download the attached files below. Unzip them. You should have a folder called 'BTS Yosemite Python Fix'.

These are taken direct from my installation of 10.9.4 and you may copy them from Mavericks yourself if you prefer. Locations are described below.


Step 2:

Navigate to <Your Drive>/Library/Python/. This is NOT the Library folder in your Home folder. In this location you should see two folders called '2.6' and '2.7'.

From the 'BTS Yosemite Python Fix' folder, copy the folders '2.3' and '2.5' to this location. You'll need to enter your administration password to do this.


Step 3:

Navigate to <Your Drive>/System/Library/Frameworks/Python.framework/Versions/. There should be 2 folders and 3 aliases here. You need to remove the aliases '2.3' and '2.5'.

From the 'BTS Yosemite Python Fix', open the 'Framework' folder. You should see another '2.3' folder and another '2.5' folder. Copy these to where the aliases used to be. Again, your administration password is required. Don't copy the 'Framework' folder itself.



BTS (and Warlords and Colonization) should now work. Vanilla Civ requires additional steps (see post #8) as it's blocked by OS X for being too ancient.
 

Attachments

  • BTS Yosemite Python Fix.7z
    11.4 MB · Views: 94
Last edited:
Wow, thanks. I probably would have to stop playing if Yosemite broke Civ IV.
 
I updated to the second Yosemite Public Beta without issue. No reinstallation of Python 2.3/2.5 was necessary.
 
Great catch! I ran into the same issue. I upgraded to Yosemite and I did not have Python 2.3, and my Steam versions of both Civ IV and Civ IV: Colonization did not open. However, I think you can simplify these steps considerably.

  1. Back up your computer, or make a copy of this folder somewhere before upgrading:

    [size="+1"][font="courier","courier new"]Macintosh HD &#9656; System &#9656; Library &#9656; Frameworks &#9656; Python.framework &#9656; Versions &#9656; 2.3[/font][/size]​
  2. Copy this folder into the same place in your computer in Yosemite.
No restart needed, it should just all work now.
 
I had Civ4 working pretty much as described here but after upgrading to Yosemite, and being able to launch it and play a few times after, it has since stopped working and I don't know how to troubleshoot it. I tried what was described above but to no avail. Now, I launch and the icon bounces once but that's it, no launch, and no more information. How do I troubleshoot why it won't launch anymore?
 
I had Civ4 working pretty much as described here but after upgrading to Yosemite, and being able to launch it and play a few times after, it has since stopped working and I don't know how to troubleshoot it. I tried what was described above but to no avail. Now, I launch and the icon bounces once but that's it, no launch, and no more information. How do I troubleshoot why it won't launch anymore?

I had that happen to my version of Windows BTS too, though it wasn't related to Yosemite. More likely a Wine update or something. I deleted and reinstalled it, has worked fine since.

Probably best to ask for help in that thread though, this thread concerns the OS X version of BTS only.
 
I ran into the same python problem with civ on steam after installing Yosemite. I followed Xyth's prescription for downloading and installing the two earlier python versions and it seems to work just fine now.
 
Just to let you know, after installing the python older frameworks, I still couldn't run Civ IV with a message of
You can’t use this version of the application “Civilization IV” with this version of OSX.

So I opened the application package, navigated to Contents/MacOS and made an alias of the Civilisation IV script. Double clicking this then bypasses the incompatible application list and launches it fine. All good :)
 
Wow, Xyth that is so cool! It worked straight away! I was going to re-install Mavericks on a Mac HD second partition just to play Civ 4 but you solved it and saved me masses of time!!!
THX very much mate:)
 
Xyth, I'm sorry but I don't know much about computers so can you explain to me how to navigate to <Your Drive>/Library/Python/? I'm using a macbook pro running Yosemite. Thx
 
Xyth, I'm sorry but I don't know much about computers so can you explain to me how to navigate to <Your Drive>/Library/Python/? I'm using a macbook pro running Yosemite. Thx

<Your Drive> is whatever your hard drive is called on your Mac. By default, it's called 'Macintosh HD', but some people prefer to rename it. So, in the Finder, select Macintosh HD, double click the Library folder, then the Python folder, and so forth.
 
Hi,

I tried this and followed all steps...
but it still shows the error.

What I have noticed: For Step 3, my Mac did not have the folder "Python.framework".
So I downloaded a 2.7 version from the Python page and installed it.

Then I moved the "2.3" and "2.5" into the "Versions" folder, but I did not have to delete the aliases before. It only had "2.7" and "Current".

Any solution for this?

I havent installed any Civ 4 Add-Ons before upgrading to Yosemite. I purchased them just today. Civ 4 Vanilla is still working :/

edit: Ok, I found out that only the non-Steam version of Civ 4 does run. I installed the Steam-Civ4-Vanilla-Version and it says that it wont work with this version of OS X :/
 
What I have noticed: For Step 3, my Mac did not have the folder "Python.framework".
So I downloaded a 2.7 version from the Python page and installed it.

Python.framework is part of OS X. It not being there is a concern. What edition of OS X were you on before upgrading to Yosemite?

Then I moved the "2.3" and "2.5" into the "Versions" folder, but I did not have to delete the aliases before. It only had "2.7" and "Current".

Those aliases only exist in the Yosemite installation of Python, I wouldn't expect them to be there in the one you installed.

Any solution for this?

I havent installed any Civ 4 Add-Ons before upgrading to Yosemite. I purchased them just today. Civ 4 Vanilla is still working :/

edit: Ok, I found out that only the non-Steam version of Civ 4 does run. I installed the Steam-Civ4-Vanilla-Version and it says that it wont work with this version of OS X :/

This fix is only for Warlords and Beyond the Sword. Vanilla Civ is just too old for Yosemite (though docbadwolf apparently found a workaround, see his post above).
 
Thanks for the quick reply Xyth! :)

Python.framework is part of OS X. It not being there is a concern. What edition of OS X were you on before upgrading to Yosemite?

Latest Mavericks version... I upgraded it regular...



Those aliases only exist in the Yosemite installation of Python, I wouldn't expect them to be there in the one you installed.

Ok...but do you think its enough that I installed the 2.7 version and copied "2.3" and "2.5" in the folders....or do I need more? Perhaps you could upload the whole framework for me (or send it by mail?)



This fix is only for Warlords and Beyond the Sword. Vanilla Civ is just too old for Yosemite (though docbadwolf apparently found a workaround, see his post above).

Warlords, BTS and Colonization are not working for me as well.
 
Ok...but do you think its enough that I installed the 2.7 version and copied "2.3" and "2.5" in the folders....or do I need more? Perhaps you could upload the whole framework for me (or send it by mail?)

I'm honestly not sure. If Python.framework was missing it may well be that other files are missing too, or that permissions or other such registrations aren't set correctly. Messing with things in /System/ is potentially dangerous, I'm very hesitant to suggest any further experiments in case it breaks your OS. Python.framework is also a ~500MB file, too large for me to easily host anywhere.

At this point I'd probably recommend you re-install Yosemite, and if that doesn't restore your Python.framework, contact Apple Support.
 
So I opened the application package, navigated to Contents/MacOS and made an alias of the Civilisation IV script. Double clicking this then bypasses the incompatible application list and launches it fine. All good :)

Hey I'm having the same problem with, "You can’t use this version of the application “Civilization IV” with this version of OSX." and I don't know how to find the application package, contents/MacOs or how to make an alias of the CivIV script, or where to locate that either. Could you please expand or detail a more in depth solution, because I can't even play vanilla.
 
Top Bottom