Catalina Xcode Install

Additional Downloads

So the solution is to compile Xdebug manually, manually specifying the actual location of the header files, which are still provided by Xcode, just at a different location. The first step is to get Xcode from the App Store. Once Xcode installed, we have to get the command line tools: xcode-select -install. To get around Catalina's draconian permissions rules. I've freshly downloaded XCode and the command line tools: xcode-select -install xcode-select: error: command.

Get the latest beta and older versions of Xcode. To view downloads, simply sign in with your Apple ID.Apple Developer Program membership is not required.

Beta Versions of Xcode
Command Line Tools & Older Versions of Xcode

Xcode is a complete developer toolset for creating apps for Mac, iPhone, iPad, Apple Watch, and Apple TV. Xcode brings user interface design, coding, testing, debugging, and submitting to the App Store into a unified workflow. Downloading and updating Xcode. The current release of Xcode is available as a free download from the Mac App Store. What's the use of having Xcode install the xcode command line tools when opening, if we have to re-install them from pkg anyway to get command line programs to read it? Xcode macos-catalina xcode12 xcode-command-line-tools. Question: Q: Cant install xcode in catalina 10.15.4. It keeps saying 'not enough disk space' Has anyone been trying to install Xcode in Mac OS catalina 10.15.4?

Videos

See the latest advances in Xcode presented at WWDC and other events.

Help and Support

Get step-by-step guidance on how to use Xcode to build, test, and submit apps to the App Store.

Xcode Help Guide
Xcode Support Page

API Reference and Sample Code

Browse the latest documentation including API reference, articles, and sample code.

Discussion Forums

Ask questions and discuss development topics with Apple engineers and other developers.

After figuring out a way around the massive breaking change introduced by Xcode 11, it's now time to install Xdebug back on MacOS Catalina.

Update from January 6th 2021:
Using MacOS Big Sur? This solution should work for you too. But since Apple Deprecated PHP in MacOS Big Sur, you should probably rely on Homebrew now.

Update from June 30th 2020:
After some new investigation while trying to upgrade to a newer version of xdebug, I now believe most of the instructions in this post are not necessary. Before doing anything, you should check if xdebug.so already exists in /usr/lib/php/extensions/no-debug-non-zts-20180731/, which I believe is there by default (let me know if otherwise). If it does exist, you could skip to the Enabled support in PHP portion of this post.

Xcode

Note that building xdebug from source code and actually trying to use that version of xdebug.so (for example by referencing the built file in xdebug/module/xdebug.so after using make install) with the build-in PHP should end up in a 'code signature' error. As described here and here, even after signing the binary, MacOS won't allow system binaries to interact with non-system binaries for security reasons. The only real solution to use a custom version of xdebug would be to compile and use you own instance of PHP instead of the build in one.

Catalina Xcode Can't Install

Long story short, Apple decided to nuke /usr/include in MacOS Catalina, which has been the default location for C header file for ever in UNIX systems. Trying to install through PEAR / PECL will return an error as the compiler will look for necessary headers file in /usr/include. So the solution is to compile Xdebug manually, manually specifying the actual location of the header files, which are still provided by Xcode, just at a different location.

Xcode

The first step is to get Xcode from the App Store.

Once Xcode installed, we have to get the command line tools :

You might need to actually open Xcode at this point to finish installation and accept terms and conditions, especially if the previous command fails.

Finally, make sure the SDK is found. If the path you get differs from the one bellow, you might need to edit the path accordingly later on:

Catalina Xcode Cannot Be Installed

Manually Compiling Xdebug

Getting source

Let's compile 2.7.2, getting the source code from git. Alternatively, you can download the source from Xdebug site.

phpize

Next we need to make a copy phpize so we can edit the include path :

Find this line :

...and replace it with this line :

Catalina Xcode Installer

Run phpize:

You should now see something like this :

Configure & build

We can now configure :

...and run make using our custom SDK location defined as compiler flags. I used a variable to store the path to the SDK so it's easier to edit if it changes :

You might see some warning, just ignore it for now. Finally, we'll need to run :

Again, this command will fail because it can't move the extension to the right place. SIP will prevent it. But no worries, we'll take care of that manually at the next step. make install is still required as it will sign the *.so file.

Catalina xcode cannot be installed
The above trick should work for any PHP extension you want to compile. If you're trying to compile something other than a PHP extension, I recommend having a look at the Makefile to see which directory to include in your custom CPPFLAGS.

Enabled support in PHP

Catalina Install Xcode Command Line Tools

Once make install has been run, we can move the executable somewhere safe. I use /usr/local/php/extensions.

Catalina Xcode Install Command Line Tools

Then we edit the PHP configuration to enable Xdebug. Simply edit php.ini:

And we add the following at the bottom :

Restart built in server to be sure :

And finally test everything went fine :

If the above command returns nothing, then Xdebug is not available on your install. Go back the steps to find out what's missing.

References and thanks :