How to build Firefox with Visual Studio 2005 Express Edition

Discussion of third-party/unofficial Firefox/Thunderbird/SeaMonkey builds.
Post Reply
User avatar
JoeyBear
Posts: 4
Joined: May 25th, 2006, 5:10 pm
Location: South Jordan, Utah
Contact:

Is there anybody out there?

Post by JoeyBear »

I know that everyone's involved in getting in their Bon Echo code, but I would appreciate any assistance. Please?
User avatar
Sephirot
Posts: 247
Joined: June 15th, 2004, 7:56 am

Post by Sephirot »

JoeyBear wrote:I know that everyone's involved in getting in their Bon Echo code, but I would appreciate any assistance. Please?
problem with IE profile migration --> https://bugzilla.mozilla.org/show_bug.cgi?id=241528

the last patch seems to work fine
Author of Bookmarks Menu Button, Autoclose Bookmark&History Folders and more

Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.19pre) Gecko/20110701 Firefox/3.6.19pre <-- build with MS VC++ 2010 SP1 and PGO on Win 7 x64
BobDobalina
Posts: 7
Joined: August 10th, 2006, 9:45 am

Post by BobDobalina »

Hey all, I'm having some issues with this I was hoping someone could help me with. I've been struggling for the past few days to get my first Thunderbird build going and have been slowly getting a little further. Now I'm totally stuck again.

My last problem was that XPIDL was always crashing whenever it was called. But, after copying some manifest files around (as instructed here: http://blog.vlad1.com/archives/2006/02/13/93/) I got XPIDL to no longer fail. However, while the build progresses much further now, I'm currently getting a failure about a missing header file:

Building deps for nsProfile.cpp
/cygdrive/c/dev/moz/mozilla/build/cygwin-wrapper cl -FonsProfile.obj -c
-DMOZIL
LA_INTERNAL_API -DOSTYPE=\"WINNT5.1\" -DOSARCH=\"WINNT\"
-DBUILD_ID=2006090710 -
I/cygdrive/c/dev/moz/mozilla/profile/src/../dirserviceprovider/src
-I../../dist/
include/xpcom -I../../dist/include/xpcom_obsolete
-I../../dist/include/string -I
../../dist/include/content -I../../dist/include/docshell
-I../../dist/include/we
bbrwsr -I../../dist/include/dom -I../../dist/include/js
-I../../dist/include/xpc
onnect -I../../dist/include/widget -I../../dist/include/necko
-I../../dist/inclu
de/uriloader -I../../dist/include/intl -I../../dist/include/pref
-I../../dist/in
clude/prefmigr -I../../dist/include/appshell
-I../../dist/include/appcomps -I../
../dist/include/chrome -I../../dist/include/windowwatcher
-I../../dist/include/p
rofdirserviceprovider -I../../dist/include/embed_base
-I../../dist/include/profi
le -I../../dist/include -I../../dist/include/nspr -TP -nologo
-W3 -Gy -
FdnsProfile.pdb -DNDEBUG -DTRIMMED -O2 -GALFT -GS- -Gs -Zc:wchar_t-
-fp:fast -a
rch:SSE -MD -DX_DISPLAY_MISSING=1
-DMOZILLA_VERSION=\"1.8.0.5\" -DMOZ
ILLA_VERSION_U=1.8.0.5 -DHAVE_SNPRINTF=1 -D_WINDOWS=1 -D_WIN32=1
-DWIN32=1 -DXP_
WIN=1 -DXP_WIN32=1 -DHW_THREADS=1 -DWINVER=0x400 -D_WIN32_WINNT=0x400
-DSTDC_HEA
DERS=1 -DWIN32_LEAN_AND_MEAN=1 -DNO_X11=1 -D_X86_=1 -DD_INO=d_ino
-DMOZ_DEFAULT_
TOOLKIT=\"windows\" -DMOZ_BUILD_APP=standalone
-DMOZ_DISTRIBUTION_ID=\"org.mozil
la\" -DIBMBIDI=1 -DMOZ_VIEW_SOURCE=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1
-DMOZ_XT
F=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_LOGGING=1
-DMOZ_USER_DIR=\"Mozilla\" -DMO
Z_XUL=1 -DMOZ_PROFILELOCKING=1 -DMOZ_DLL_SUFFIX=\".dll\"
-DJS_THREADSAFE=1 -DNS_
PRINT_PREVIEW=1 -DNS_PRINTING=1 -DMOZILLA_LOCALE_VERSION=\"1.8\"
-DMOZILLA_REGIO
N_VERSION=\"1.8\" -DMOZILLA_SKIN_VERSION=\"1.8\" -D_MOZILLA_CONFIG_H_
-DMOZILLA
_CLIENT /cygdrive/c/dev/moz/mozilla/profile/src/nsProfile.cpp
nsProfile.cpp
c:\dev\moz\mozilla\profile\src\nsProfile.h(46) : fatal error C1083:
Cannot open
include file: 'nsICmdLineService.h': No such file or directory
make[4]: *** [nsProfile.obj] Error 2

Any suggestions on what this issue might be? I can't see where this header should be getting generated to see whether it's failing. It is obviously not present in that directory when the build fails, and I'm not sure why XPIDL wouldn't be creating it.

Thanks in advance.
User avatar
Sephirot
Posts: 247
Joined: June 15th, 2004, 7:56 am

Post by Sephirot »

nsICmdLineService.h was removed ages ago. It's (nsICmdLine) new name is nsICommandLine. (bug #276588 - Rework toolkit command-line handling)
try the following:
change nsICmdLineService.h to nsICommandLine.h at line 46 in nsProfile.h
Author of Bookmarks Menu Button, Autoclose Bookmark&History Folders and more

Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.19pre) Gecko/20110701 Firefox/3.6.19pre <-- build with MS VC++ 2010 SP1 and PGO on Win 7 x64
BobDobalina
Posts: 7
Joined: August 10th, 2006, 9:45 am

Post by BobDobalina »

unfortunately, after changing it to nsICommandLine.h I now get this:

c:\dev\moz\mozilla\profile\src\nsProfile.h(46) : fatal error C1083: Cannot open
include file: 'nsICommandLine.h': No such file or directory
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

What is the -r value that are you fetching off of?
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
BobDobalina
Posts: 7
Joined: August 10th, 2006, 9:45 am

Post by BobDobalina »

mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

I haven't built 1.5.0.5 Thunderbird yet. But I usually pull from CVS as I've had problems with the tarball in the past. You might just go and fetch that one file and stick it in the directory where it is looking for it to see if that gets you through the problem.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
BobDobalina
Posts: 7
Joined: August 10th, 2006, 9:45 am

Post by BobDobalina »

Thanks for the suggestion. I did pull from CVS now and am getting another problem. :

/cygdrive/c/dev/moz/mozilla/build/cygwin-wrapper /cygdrive/c/vc8-moztools/bin/ns
install -t -m 644 nsBuildID.h ../mozilla-config.h /cygdrive/c/dev/moz/mozilla/co
nfig/nsStaticComponents.h ../dist/sdk/include
make[4]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir/config'
make[4]: Entering directory `/cygdrive/c/dev/moz/tb-objdir/build'
make: *** win32: No such file or directory. Stop.
make: Entering an unknown directorymake: Leaving an unknown directorymake[4]: **
* [export] Error 2
make[4]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir/build'
make[3]: *** [export_tier_base] Error 2
make[3]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir'
make[2]: *** [tier_base] Error 2
make[2]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir'
make: *** [build] Error 2

My MOZ_OBJDIR is set to this in the .mozconfig:

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../tb-objdir

Inside of /cygdrive/c/dev/moz/tb-objdir I see a Makefile and a single dir, "unix." If I manually create the win32 dir, I get this:

/cygdrive/c/dev/moz/mozilla/build/cygwin-wrapper /cygdrive/c/vc8-moztools/bin/ns
install -t -m 644 nsBuildID.h ../mozilla-config.h /cygdrive/c/dev/moz/mozilla/co
nfig/nsStaticComponents.h ../dist/sdk/include
make[4]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir/config'
make[4]: Entering directory `/cygdrive/c/dev/moz/tb-objdir/build'
make[5]: Entering directory `/cygdrive/c/dev/moz/tb-objdir/build/win32'
make[5]: *** No rule to make target `export'. Stop.
make[5]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir/build/win32'
make[4]: *** [export] Error 2
make[4]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir/build'
make[3]: *** [export_tier_base] Error 2
make[3]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir'
make[2]: *** [tier_base] Error 2
make[2]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/c/dev/moz/tb-objdir'
make: *** [build] Error 2

I realize this is a Firefox thread, but I haven't seen a "How to build Thunderbird..." thread :)
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

Try it without objdir. I don't think that I ever got that to work on Windows.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
User avatar
mahowi
Posts: 569
Joined: September 16th, 2005, 12:37 pm
Location: Germany
Contact:

Post by mahowi »

Never had a problem with objdir here on Win XP.
Firefox: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9pre) Gecko/2008052316 Firefox/3.0pre (mahowi) ID:2008052316
Thunderbird: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9pre) Gecko/2008052904 Thunderbird/3.0a2pre ID:2008052904
BobDobalina
Posts: 7
Joined: August 10th, 2006, 9:45 am

Post by BobDobalina »

Thanks very much for the assitance. After copying a few manifest files around I was able to successfully build.
alex29
Posts: 9
Joined: March 3rd, 2007, 2:50 am

Post by alex29 »

Successfully compiled TB 1.5.0.10 after days of hard work :) WinXP, MS VC2005 configuration.
Solved all problems with VS2005 - WabObject.h, GLIB and libidl, xpidl.exe with manifests, etc.
Got thunderbird.exe and accompanying files in dist/bin dir.
But thunderbird.exe never starts. It appears in taskmanager for a second and that's all. Tried two configs - default and with full optimizations...
How should I start solving this problem?

and second: how one gets packed installer?
make -C /d/mozilla/mail/installer installer as "Build and Install" manual says and I get:

Code: Select all

cd /d/mozilla/toolkit/mozapps/installer && \
          perl build_static.pl -config "" -srcDir "" \
          -objDir ""
Warning: Remote XPI URL not set. Using ftp://not.supplied.invalid instead!
Error: Packager Manifests and Install Script Location not supplied! Use -config

Thanks!
Post Reply