How to get Civ4:BTS working on El Capitan and Sierra

Xyth

History Rewritten
Joined
Jul 14, 2004
Messages
4,106
Location
Aotearoa
IMPORTANT: This fix is not needed for the Steam version of BTS, as Aspyr have finally fixed the problem. Thanks to bloodycelt for the heads up. However it seems that support for the disc versions of BTS has been abandoned, so if you have one of those, you'll need this fix.




BTS (and Warlords and Colonization) to fail to launch on El Capitan on Sierra, with the message "Failed Initializing Python". This is because Python 2.3 has been dropped since Yosemite, but is needed for Civ4 and its expansions. This fix restores Python 2.3 (and 2.5, just in case) to El Capitan so that BTS (and Warlords and Colonization) will run again.

The process is similar to my Yosemite fix, but with a couple less folders to install as I discovered some weren't actually necessary. However, there's a significant difference this time around: System Integrity Protection, also known as 'Rootless', is a new security feature added in El Capitan that prevents system files being modified in any way, not even with an admin password. Since the Python Framework we need to modify is located in OS X's System folder, we need to (temporarily) disable Rootless before we can do this.

Since we are adding files to OS X's System folder, please be extremely careful and be sure to have your system backed up before attempting this.



Step 1:

Download the attached files below. Unpack them. You should have a folder called 'BTS El Capitan Python Fix'.

If you don't already have a way to unpack 7zip I highly recommend getting The Unarchiver from the App Store. It's free and, in my opinion, an essential Mac utility.



Step 2:

Next we need to (temporarily) disable the 'Rootless' security feature. To do this we need to restart your Mac in 'Recovery Mode'. First make sure you can view this guide on another device, then restart your Mac, holding down the 'Command' and 'R' keys. Hold these until the the grey Apple logo appears. After a short time you should see an OS X Utilities screen.



Step 3:

Go to the menu bar at the top of the screen, select 'Utilities' then 'Terminal'. The Terminal application will open. You need to enter the following exactly:

Code:
csrutil disable

You'll get a message saying that System Integrity Protection has been disabled and you need to restart your Mac. Do so.



Step 4:

In the Finder, Navigate to /System/Library/Frameworks/Python.framework/Versions/. There should be 2 folders and 3 aliases here. You need to move the aliases '2.3' and '2.5' elsewhere or delete them. Your admin password is required to do this.

If you choose to delete the aliases, be sure to empty the trash before continuing. If they're still in the trash once 'Rootless' is switched back on, they will be stuck there until you switch it off it again.



Step 5:

Inside the 'BTS El Capitan Python Fix' folder you've downloaded you should see two folders named '2.3' and '2.5'. Move these to where the aliases from Step 4 used to be. Again, your administration password is required.



Step 6:

Now we need to re-enable 'Rootless'. Repeat Step 2 to boot into Recovery Mode again.



Step 6:

Open the Terminal application as described in Step 3. This time you need to enter the following exactly:

Code:
csrutil enable

You'll get a message saying that System Integrity Protection has been enabled and you need to restart your Mac. Do so.



BTS, Warlords, and Colonization should now work. Vanilla Civ4 requires additional steps (see here) as it's blocked by OS X for being too ancient.
 

Attachments

  • BTS El Capitan Python Fix.7z
    11.4 MB · Views: 144
Last edited:
Above fix still works on the second public beta, no reapplication necessary.
 
I've installed the El Capitan Gold Master Candidate release and, as suspected, the fix that worked throughout the rest of the beta no longer does. It's still possible to install, but the way to disable Rootless has changed. Instructions in the first post are updated with this new method.

If anything changes in the official release of 10.11 I'll update them again.
 
Can't you just install the framework into /Library ?

In almost everything, OS X will search for frameworks, etc in this order: $HOME/Library, /Library, /System/Library

Unless Civ 4 is weird, you should be able to just install Python into /Library or even $HOME/Library
 
So I just saw that there's an OS upgrade waiting for me and thought 'hello, we've been here before' and came in here to see Xyth's sorted it out months ago :D

bloodycelt - awesome that Aspyr have tried to keep up with things, though I'll err on the side of caution and prepare to reinstall Python as I upgrade :)
 
Can't you just install the framework into /Library ?

In almost everything, OS X will search for frameworks, etc in this order: $HOME/Library, /Library, /System/Library

Unless Civ 4 is weird, you should be able to just install Python into /Library or even $HOME/Library

I just tested both locations and neither work. Crashes in fact. From the crash report it looks like Aspyr coded BTS to look for Python 2.3 explicitly and only in the /System/Library path. Pretty stupid and it explains why it broke in the first place rather than just following the alias and using 2.7 instead.

Actually, not sure on El Capitan, but w/o touching Python, BTS works. I think Aspyr updated it. https://steamcommunity.com/app/34440/discussions/0/38596748427808111/?l=russian#p4

At least the Steam version.

Yeah it looks like Aspyr got their act together and patched the Steam version. In July this year though, sure took their time. Looks like support for disc versions has been abandoned though.
 
Followed the directions but I got a crash report from apple. I'm using the disc, I have a fondness for it and the hall of fame there. Anyway you think I could get it to work for the disc version or is steam the only workable version now?

Thanks

Also thanks so much for this thread, I completely forgot about this problem when I installed the new OS. The last thread for Yosemite saved me.

Edit: I'm idiot. It works great!
 
Followed the directions but I got a crash report from apple. I'm using the disc, I have a fondness for it and the hall of fame there. Anyway you think I could get it to work for the disc version or is steam the only workable version now?

Thanks

Also thanks so much for this thread, I completely forgot about this problem when I installed the new OS. The last thread for Yosemite saved me.

These instructions are for the disc version and work, for me at least. I suggest trying again, double checking that everything is put in the right place. Post your crash log too, it might have some clues about what's going wrong for you.
 
Hey thanks. I realized that I'm idiot and forgot to extract from Unarchiver so I was using the Yosemite python fix instead. Went back and re-did all the steps with the correct python fix and it worked flawlessly. I'm not a smart person. But yeah, it's up and working now. Thanks so much for the fix!!!
 
I have tried this repair (although I have the digital version) and it still crashes. Any suggestions?

OS X 10.11.1

I have attached the crash report if that helps.
 

Attachments

  • Civ Crash.pdf
    88.7 KB · Views: 372
I have tried this repair (although I have the digital version) and it still crashes. Any suggestions?

OS X 10.11.1

I have attached the crash report if that helps.

So it was crashing before trying this process? That means something else is wrong. This fix is for the "Failed Initializing Python" error that prevents BTS etc from launching.
 
I see the crash report is for Colonization. I don't know if this has any impact. Do we know if COlonization can run in El Capitan?
 
I have the MacAppStore version of Colonization and that is working fine for me on 10.11.1. What version are you trying to launch, diggler?
 
OSX 10.11.1 I have a few other programs that aren't working well since I upgraded to El Capitan, so I am wondering if something else is not right (Office for Mac 2011, and some video converters)

For some strange reason, Colonization is working now.

I contacted Aspyr, and they provided me with a free version via Steam. Great customer service there! Not sure if this is connected to the reason why the AppStore version is working, but I'd guess probably not.
 
I followed all the steps as described and I'm not able to complete the installation... I was able following Xyth's steps for the Yosemite, but I recently installed El Capitán and I don't get the solution.

Anyone is having a similar problem?
 
I followed all the steps as described and I'm not able to complete the installation... I was able following Xyth's steps for the Yosemite, but I recently installed El Capitán and I don't get the solution.

Anyone is having a similar problem?

I never checked to see if the installer itself would break, I just fixed my existing installation. You may need to use a tool like Pacifist to extract and install BTS manually.
 
Top Bottom