Development:Building:Build Errors

From Camino Wiki
Revision as of 13:43, 14 August 2006 by Sardisson (talk | contribs) (→‎Other stuff we've seen; details to be filled in: things mento says we should check)
Jump to navigation Jump to search

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

(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: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)