Xcode 11 Catalina

  1. Xcode 11 Catalina Software
  2. Xcode 11 Catalina Free
  3. Xcode 11 Requires Catalina
  4. Xcode 11 Without Catalina

When you try to build xdebug on macOS Catalina you will get errors like these:

Mac users with macOS Mojave and macOS Catalina, and new operating systems in place can now install Command Line Tools from the Xcode IDE without needing to install the entire Xcode package, or opening an Apple developers account. Configure and build xdebug on macOS Catalina. The reason for these errors is that the /usr/include folder is missing because Apple removed it when they released Xcode 11. But, you can work around this problem. Here is how: First, you need to make sure that Xcode and the command line tools installed. As per Xcode 11.1 Release Notes, it is a known issue when trying to update to Xcode 11.1. To solve the issue, use the suggested workaround - delete the existing Xcode.app or temporarily change the Xcode.app file extension. Xcode may fail to update from the Mac App Store after updating to macOS Catalina. Xcode 11 can only be installed on a Mac running macOS Mojave (10.14.4 or above) or macOS Catalina (10.15 or above). Go back to Step 0 and check to make sure you have upgraded to macOS Catalina as.

Configure and build xdebug on macOS Catalina

Xcode 11 Catalina

Xcode 11 Catalina Software

The reason for these errors is that the /usr/include folder is missing because Apple removed it when they released Xcode 11.

But, you can work around this problem. Here is how:

First, you need to make sure that Xcode and the command line tools installed. Open a terminal window and run the following command to display the SDK path:

This command should output something like this:

If not, install the command-line tools with executing:

and follow the instructions. After the installation is finished, start Xcode App to make sure the installation is done.

Now try to display the SDK-Path again:

The php tools needed to compile an extension try to use this missing include folder. We will create a modified version of phpize and php-config which will use the includes from the macOS SDK. First we will copy phpize and php-config and then we will modify these copies with a patch.

We create a new folder in your home directory under /Users/YOUR-USERNAME with the name 'php-private'..

Now copy phpize and php-config to php-private

Now determine which PHP version is installed on your system by executing

You should get something like this

I have prepared two patches to simplify the process. Download the two files and save them in your Downloads folder.

Download the phpize patch phpize-catalina.patch.zip and save it. The contents of the patch file for reference:

Xcode

For PHP 7.3.9 Download the php-config patch php-config-7.3.9-catalina.patch.zip and save it.

For PHP 7.3.11 Download the php-config patch php-config-7.3.11-catalina.patch.zip and save it.

The contents of the patch file for reference:

Extract the compressed patch files.

PHP 7.3.9:

PHP 7.3.11:

Xcode 11 Catalina

Now we patching our copy of phpize and php-config

PHP 7.3.9:

PHP 7.3.11:

We are ready to compile xdebug

Create a working directory in your home folder. We will build xdebug here

Download xdebug from Xdebug.org and save in under Downloads.

Xcode 11 catalina software

Copy the archive to the working directory and extract it.

Now, we run our patched phpize in the xdebug folder.

When everything went good, you get something like this:

If so, you can skip the next part and continue with configuring and installing Xdebug.

Errors like these means, you need to install some requirements.

If phpize prints lines like these, you need to install autoconf:

To install autoconf, execute the following commands:

Now run our patched phpize in the xdebug folder again.

Check the output, and if everything went good, continue.

Configure and build xdebug:

Now we will find the full path to our patched php-config. This can be done like this:

The output will something like:

Xcode 11 Catalina

Replace '/Users/YOUR-USERNAME/php-private/php-config' with the output of the above command and configure xdebug by executing:

In the output of configure you will see that the SDK path is being used:

Xcode 11 Catalina Free

Now build the extension

Xcode 11 Requires Catalina

We don't executing 'make install' to install xdebug.so because the macOS System Integrity Protection (SIP) will not allow us to install xdebug to the /usr/lib/extensions folder. To workaround this, we install the extension under the /usr/local folder.

Now edit your php.ini (usually under /etc/php.ini) to load the right xdebug. PHP searches for extensions in its default extension directory. Our xdebug resides outside of this directory, so we have to specify the full path:

To test it, execute:

Xcode 11 Without Catalina

The output should begin like this:

Restart your apache web server to activate your changes

Comments are closed.