Development:Building:Build Errors
Contents
- 1 Introduction
- 2 pbxcp: libpermissions.dylib: No such file or directory
- 3 make[7]: *** No rule to make target `nsIProxiedChannel.idl', needed by `_xpidlgen/nsIProxiedChannel.h'. Stop.
- 4 rsync: readlink failed: Too many levels of symbolic links (62)
- 5 make[n]: pipe: Too many open files
- 6 nsString.h:55:15: error: new.h: No such file or directory
- 7 Other stuff we've seen; details to be filled in
Introduction
A breakdown of the common Camino build errors, what causes them, and how to resolve the error.
pbxcp: libpermissions.dylib: No such file or directory
In XCode 2.3:
Error message
Build target "Camino" of project "Camino" with configuration "Development" - (1 error) Copying ../dist/bin/components/libpermissions.dylib - (1 error) pbxcp: libpermissions.dylib: No such file or directory Build failed (1 error)
Cause
You have enabled a static build of Camino in your .mozconfig, but not in Xcode (target mismatch).
Solution
Remove the following lines from your .mozconfig (rather than change Xcode's target, since static builds aren't useful for development)
ac_add_options --disable-shared ac_add_options --enable-static
and make again (?)
make[7]: *** No rule to make target `nsIProxiedChannel.idl', needed by `_xpidlgen/nsIProxiedChannel.h'. Stop.
In Terminal
Error message
../../../dist/bin/xpidl -m header -w -I. -I../../../dist/idl -o _xpidlgen/nsINetUtil nsINetUtil.idl make[7]: *** No rule to make target `nsIProxiedChannel.idl', needed by `_xpidlgen/nsIProxiedChannel.h'. Stop. make[6]: *** [export] Error 2 make[5]: *** [export] Error 2 make[4]: *** [export_tier_9] Error 2 make[3]: *** [tier_9] Error 2 make[2]: *** [default] Error 2 make[1]: *** [build] Error 2 make: *** [build] Error 2
Cause
Unknown
Solution
Unknown
rsync: readlink failed: Too many levels of symbolic links (62)
In Terminal
Error message
Touch /Users/delliott/Documents/Camino/mozilla/camino/build/Development/Camino.app cd /Users/delliott/Documents/Camino/mozilla/camino /usr/bin/touch -c /Users/delliott/Documents/Camino/mozilla/camino/build/Development/Camino.app ** BUILD SUCCEEDED ** rsync -a --copy-unsafe-links build/Development/Camino.app/ ../dist/Camino.app rsync: readlink "/Users/delliott/Documents/Camino/mozilla/camino/build/Development/Camino.app/Contents/Frameworks/ SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/ SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/ SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/ SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/ SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/ SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/ SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/SharedMenusCocoa.framework/ SharedMenusCocoa.framework/SharedMenusCocoa.framework" failed: Too many levels of symbolic links (62) rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-24/rsync/main.c(717) make[5]: *** [libs] Error 23 make[4]: *** [libs_tier_99] Error 2 make[3]: *** [tier_99] Error 2 make[2]: *** [default] Error 2 make[1]: *** [build] Error 2 make: *** [build] Error 2
Cause
You have a symlink to the SharedMenusCocoa.framework directory in your /Library/Frameworks/SharedMenusCocoa.framework directory. Computers do not like recursion.
Solution
Re-install the SharedMenusCocoa framework following these instructions: http://www.caminobrowser.org/development/build/ and make.
make[n]: pipe: Too many open files
In Terminal on 10.3.x
Error Message
Updating dependencies file, .deps/.all.pp Updating dependencies file, .deps/.all.pp Updating dependencies file, .deps/.all.pp Updating dependencies file, .deps/.all.pp make[5]: /Users/smokey/Camino/dev/trunk/mozilla/config/config.mk:788: pipe: Too many open files make[5]: /Users/smokey/Camino/dev/trunk/mozilla/config/config.mk:863: pipe: Too many open files Updating dependencies file, .deps/.all.pp Makefile:43: ../../../config/autoconf.mk: Too many open files Makefile:157: /Users/smokey/Camino/dev/trunk/mozilla/config/rules.mk: Too many open files make[5]: *** No rule to make target `libs'. Stop. make[4]: *** [libs] Error 2 make[3]: *** [libs] Error 2 make[2]: *** [libs_tier_9] Error 2 make[1]: *** [tier_9] Error 2 make: *** [default] Error 2
Cause
- A bug in make that ships with Xcode 1.x (see Bug 335506); happens most often when making in the objdir
Solution
There's no "real" solution to this issue. Work-arounds include:
- Just make again
- If it continues to fail after a couple of tries, go back to mozilla and make -f client.mk
- Manually upgrading your make (not recommended)
nsString.h:55:15: error: new.h: No such file or directory
Error message
In file included from ../../../dist/include/string/nsDependentString.h:43, from nsDependentString.cpp:40: ../../../dist/include/string/nsString.h:55:15: error: new.h: No such file or directory
Cause
You are building using GCC4 instead of GCC 3.3. You cannot use GCC4 with Mac OS X 10.2.8 SDK
Solution
In Terminal.app
sudo gcc_select 3.3 make -f client.mk distclean make -f client.mk
Other stuff we've seen; details to be filled in
Missing/non-Uni SMF
Other
There are some described on the Camino Build instructions page, on Building Mozilla, and on the Mac Build Instructions pages (links below)
- Mac OS X Build Prerequisites: Troubleshooting
- Mozilla Build FAQ: Mac-specific questions (less interesting, and more tuned to Fx)
- Development:Building#FAQ (where these should end up, or possibly that section should link to this page)