Mac OS X via Terminal.app

From CDOT Wiki
Jump to: navigation, search
computer interaction

commentary

See:I Surfed to somewhere

Start

I previous compiled and ran a tarball version of firefox

See:Previous Blog Entry

This is what I did to compile firefox from scratch the

See:I opened the documentation

I Ran Terminal.app; now I gotta get the source

 $ rm -rf moz_src
 $ mkdir moz_src
 $ cd moz_src
 $ mkdir learncompile
 $ cd learncompile/
 $ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk
 $ cd mozilla/
 $ make -f client.mk checkout MOZ_CO_PROJECT=browser
 checkout start: Mon Sep 17 17:34:54 EDT 2007
 ...
 checkout finish: Mon Sep 17 17:40:07 EDT 2007

Ok the source is retreived; now I gotta run configure my compile options See:Configs

 $ pwd
 /Users/coren/moz_src/learncompile/mozilla
 $ pico mozconfig-firefox

The following is what I put in the mozconfig-firefox file

 mk_add_options MOZ_BUILD_PROJECTS=browser
 mk_add_options MOZ_CO_PROJECT=browser
 mk_add_options MOZ_OBJDIR=/Users/coren/moz_ff_trunk/
 ac_add_options --enable-application=browser
 ac_add_options --disable-optimize
 ac_add_options --enable-debug
 ac_add_options --enable-static

Save; Exit

 $ export MOZCONFIG=~/moz_src/learncompile/mozilla/mozconfig-firefox
 $ make -f client.mk build

Now Mozilla compies; watch a bit of TV; oh sadness... a bug

 /usr/bin/ld: Undefined symbols:
 __moz_cairo_image_surface_create
 __moz_cairo_surface_destroy
 __moz_cairo_surface_get_reference_count
 __moz_cairo_surface_reference
 __moz_cairo_surface_set_user_data
 __moz_cairo_surface_finish
 __moz_cairo_surface_flush
 __moz_cairo_surface_get_content
 __moz_cairo_surface_get_device_offset
 __moz_cairo_surface_get_type
 __moz_cairo_surface_get_user_data
 __moz_cairo_surface_mark_dirty
 __moz_cairo_surface_mark_dirty_rectangle
 __moz_cairo_surface_set_device_offset
 __moz_cairo_surface_status
 __moz_cairo_image_surface_create_for_data
 __moz_cairo_image_surface_get_data
 __moz_cairo_image_surface_get_format
 __moz_cairo_image_surface_get_height
 __moz_cairo_image_surface_get_stride
 __moz_cairo_image_surface_get_width
 __moz_cairo_quartz_surface_create
 __moz_cairo_quartz_surface_create_for_cg_context
 __moz_cairo_quartz_surface_get_cg_context
 symbol _libVersionPoint used from dynamic library ../../../dist/bin/libnspr4.dylib(prvrsion.o) not from earlier dynamic library @executable_path/libplds4.dylib(plvrsion.o)
 symbol _libVersionPoint used from dynamic library ../../../dist/bin/libnspr4.dylib(prvrsion.o) not from earlier dynamic library @executable_path/libplc4.dylib(plvrsion.o)
 collect2: ld returned 1 exit status
 make[7]: *** [gfxSurfaceRefCountTest] Error 1
 make[6]: *** [tools] Error 2
 make[5]: *** [tools] Error 2
 make[4]: *** [tools_tier_gecko] Error 2
 make[3]: *** [tier_toolkit] Error 2
 make[2]: *** [default] Error 2
 make[1]: *** [build] Error 2
 make: *** [build] Error 2

ok I changed the mozconfig-firefox to this

 mk_add_options MOZ_OBJDIR=/Users/coren/moz_ff_trunk/
 ac_add_options --enable-application=browser
 ac_add_options --disable-optimize
 ac_add_options --enable-debug
 ac_add_options --disable-static --enable-shared

... deleted /Users/coren/moz_ff_trunk/ ... and recompiled

... compiled a file called MinefieldDebug.app, which ran fine

DONE