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 c++: cannot specify -o with -c or -S and multiple compilations
- 8 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.
Should we sort these by order in the build process?
I thought that we could sort them by whether or not they occurs in Terminal or in XCode and within those sections by OS
- Terminal
- 10.3
- 10.4
- Non-specific
- XCode
- 10.3
- 10.4
- Non-specific
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
(or follow the instructions in the FAQ for configuring the proper SDK)
c++: cannot specify -o with -c or -S and multiple compilations
Error Message
c++: cannot specify -o with -c or -S and multiple compilations
(need the full error still)
Cause
You switched compilers from gcc 4 to gcc 3 without reconfiguring your tree.
Solution
make -f client.mk distclean make -f client.mk
Other stuff we've seen; details to be filled in
Things that need to be tested
- [5:25pm] mento: also, someone should install xcode 2.4 without my patch and see what bad things happen when you try to build camino with the 10.2.8 sdk
[5:25pm] mento: it's probably the same error from http://developer.mozilla.org/en/docs/Mac_OS_X_Build_Prerequisites#Troubleshooting
- [5:22pm] mento: whoever updates the wiki with this, you might also want to see what bad stuff happens when you take a tree configured for gcc 4 and try to build with gcc 3
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)