Known Issues and Workarounds
Here are some commonly-reported issues that are known with this release of Xcode.
Creating a project in /tmp may prevent certain project template variables to not expand properly
Changing the Configuration popup in the Build Settings inspector may not update the Based On popup. Close and reopen the inspector to see the correct value.
After changing from Textual to Definitions and back to Textual, Project Find may not find all valid matches in a project.
The Build toolbar item is occasionally disabled when the project is buildable. Use the Build menu item instead.
Much of the functionality new in Xcode 3.0 does not have AppleScript support.
Circular #includes of header files or a cycle of symbolic links may cause Xcode to crash while building or indexing a project.
Opening the same project file simultaneously from two separate instances of Xcode may cause one to crash.
Projects that generate source files at build time must turn off Lazy Symbol Loading in order to stop at breakpoints in those files.
Strings containing Unicode characters do not display properly in the Debugger.
Deleting a header file from a project may not force a rebuild of source files that include it.
You cannot recover a deleted project from a snapshot of it using Xcode. Navigate directly to the Snapshot repository and duplicate the most recent snapshot.
Custom Build Rules no longer output the value of all environment variables in the build log, and there is no way to make them do so. IF you need to do this in order to debug a build rule, add a “set” command to the rule script.
As in previous versions of Xcode, for some Preferences (especially Distributed Builds) you may need to close the Preferences panel and reopen it in order to see the new value of the settings in the Preferences pane.
You cannot distribute builds using Shared Network Builds if Xcode 3.0 is installed in a location other than /Developer
.
Troubleshooting Distributed Network Builds
Sharing your computer for distributed builds and changing the share priority for build tasks on your machine require administrator privileges. If you are unable to unlock sharing in the Xcode 3.0 Distributed Builds Preferences pane, ensure that you have a valid administrator user name and password. If you are still unable to authorize sharing, you will need to re-install the Developer Tools.
Sharing your computer for distributed builds also requires that your machine be able to reach the remote build host(s) over the network. If remote hosts are unable to access your machine for distributed builds, first ping the remote machines to ensure that your machine can reach them over your network. For network problems, contact your system administrator.
Sharing for distcc
If the checkbox "Share my computer for shared workgroup builds (distcc)" in the Xcode 3.0 Distributed Builds Preferences is enabled, and you can ping the remote build host(s) in your workgroup, check the configuration of your machine.
The executable /usr/bin/distccd
must be installed, owned by root:wheel
, with permissions -rwxr-xr-x
The file /System/Library/LaunchDaemons/distccd.plist
must be installed, owned by root:wheel
, with permissions -rw-r--r--
If any of these conditions is not true, you should reinstall the Developer Tools.
If your system appears to be configured correctly, you should be able to start the shared workgroup builds daemon by typing the following command into a Terminal window:
sudo launchctl load -w /System/Library/LaunchDaemons/distccd.plist |
Turning off sharing for distcc
If the checkbox "Share my computer for shared workgroup builds (distcc)" in the Xcode 3.0 Distributed Builds Preferences is disabled but Activity Monitor shows one or more distccd processes running on your machine, you should be able to stop all the distccd processes at once by typing the following command into a Terminal window:
sudo launchctl unload -w /System/Library/LaunchDaemons/distccd.plist |
Note that the "kill" command will stop but not disable the daemon, and launchd will immediately relaunch it.
If you encounter an error when attempting to enable or disable the checkbox "Share my computer for shared workgroup builds (distcc)" in the Xcode 3.0 Distributed Builds Preferences, follow the steps above for sharing or stopping sharing of distcc.
Changing the share priority for shared workgroup builds (distcc)
If you are able to set the share priority of your machine for shared workgroup builds in the Xcode 3.0 Distributed Builds Preferences, but the priority of the distccd process(es) on your machine does not change, check the configuration of your machine.
The executable /Library/Developer/3.0/distcc/distcclaunchdconfig
must be installed, owned by root:wheel
, with permissions -rwxr-xr-x
The file /System/Library/LaunchDaemons/com.apple.distccdConfig.plist
must be installed, owned by root:wheel
, with permissions -rw-r--r--
If any of these conditions is not true, you should reinstall the Developer Tools.
If your system appears to be configured correctly, you may be able to change the priority of the shared workgroup builds processes by typing the following command into a Terminal window:
sudo renice <priority> <pid> |
for the process with the lowest process ID. Valid priorities are 0 (high), 10 (medium), and 20 (low).
If you encounter an error when attempting to set the share priority for shared workgroup builds in the Xcode 3.0 Distributed Builds Preferences, follow the steps above.
Sharing for dedicated network builds (DNB)
If the checkbox "Share my computer for dedicated network builds" in the Xcode 3.0 Distributed Builds Preferences is enabled, and you can ping the remote build host(s) in your dedicated network, check the configuration of your machine.
The following files must be installed in /Library/Developer/3.0/DNB/DedicatedNetworkBuilds.framework/Resources
, owned by root:wheel
, with the correct permissions:
DNB.zip -rw-r--r--
bfobserver -rwxr-xr-x
dnbd -rwxr-xr-x
scmount -rwxr-xr-x
The following files must be installed in /System/Library/LaunchDaemons
, owned by root:wheel
, with permissions -rw-r--r--
:
If any of these conditions is not true, you should reinstall the Developer Tools.
If your system appears to be configured correctly, use Activity Monitor to check that both the bfobserver and dnbd daemons are running. If one or both of these daemons is not running, you should be able to start it manually by typing the appropriate command into a Terminal window.
First start the build files observer:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dnbobserver.plist |
Then start the DNB volunteer:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple. dnbvolunteer.plist |
Stopping sharing for dedicated network builds (DNB)
If the checkbox "Share my computer for dedicated network builds" in the Xcode 3.0 Distributed Builds Preferences is disabled but Activity Monitor shows a dnbd process running as root on your machine, you should be able to stop the process by typing the following command into a Terminal window:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple. dnbvolunteer.plist |
Note that the "kill" command will stop but not disable the daemon, and launchd will immediately relaunch it. You should not stop the build files observer daemon (bfobserver).
If there is a dnbd process running as your user ID on your machine, your machine is acting as a dedicated network builds remote host (recruiter), sending build jobs to other machines. Killing that process will not disable your machine for sharing for dedicated network builds.
If you encounter an error when attempting to enable or disable the checkbox "Share my computer for dedicated network builds" in the Xcode 3.0 Distributed Builds Preferences, follow the steps above for sharing or stopping sharing of dedicated network builds.