Mozilla2Seamonkey/Problem Log/Windows

From Apache OpenOffice Wiki
Jump to: navigation, search

The following problems appeared while building the Seamonkey sources on Windows, after the great preliminary work done by Pierre Pasteau.

Building with Microsoft Visual Studio 2005

msvcp.dll not found

problem

Configure fails with a complaint that msvcp.dll is not found in C:\Program Files\Microsoft Visual Studio 8\VC\..\SDK\v2.0\bin. Well, that's true, it's in %SRC_ROOT\external\msvcp80 - actually, that's a pre-requisite. Submitted as Issue 95642

workaround

copy all the files from %SRC_ROOT\external\msvcp80 to the locate where configure expects them

cairo not found during configure

problem

the configure step for Mozilla fails, with a "package cairo was not found ..." message.

solution

Fixed in makefile.mk (use --enable-system-cairo on non-Windows platforms only)

strange error message in .../ldap/include

problem

Building Mozilla in directory/c-sdk/ldap/include fails with an error message

 Makefile:89: *** target pattern contains no `%'.  Stop.

Huh?

solution

Aunt Google says: make 1.81, as currently part of cygwin, does not support Windows paths anymore. So, targets, and target dependencies, in the makefile need to be converted to cygwin notation.

(source)

Fixed in seamonkey-source-1.1.12.patch.

compiling IDLs fails

problem

during compilation of some IDL files, message boxes pop up saying something about runtime libraries used in an invalid way

cause

The vc71*.zip archives to be put into the download folder contain DLLs which are not compatible with the 2005 compiler.

workaround

place the files extracted from vc8-moztools.zip in %SRC_ROOT\wntmsci11.pro\misc\build\moztoolsinst and %SRC_ROOT\wntmsci11.pro\misc\build\moztoolsinst\vc71

TODO: clarify: why is there moztoolsinst and moztoolsinst\vc71, in parts containing the same files?

solution

None yet.

TODO: Implement a real solution which requires vc8-moztools.zip to be present in the download folder

building mozilla/xpcom/base fails

problem

build fails in mozilla/xpcom/base without a meaningful error message

cause

That seems to be a problem with manifest files - the xpidl.exe and xpt_link.exe used during the build need a manifest file.

solution

Embed manifest files into the .dll resp. .exe. Fortunately, there is a patch for this already in Bugzilla, which with slight adjustments also solved our problem.

Fix is committed to moz/patches/embed_manifest.patch and moz/seamonkey-source-1.1.12.patch.

building mozilla/security/coreconf fails

problem

builds fails in mozilla/security/coreconf with

 ../coreconf/rules.mk:383: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:430: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:431: warning: overriding commands for target `g'
 ../coreconf/rules.mk:384: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:461: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:462: warning: overriding commands for target `g'
 ../coreconf/rules.mk:431: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:469: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:470: warning: overriding commands for target `g'
 ../coreconf/rules.mk:462: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:473: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:474: warning: overriding commands for target `g'
 ../coreconf/rules.mk:470: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:488: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:489: warning: overriding commands for target `g'
 ../coreconf/rules.mk:474: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:492: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:493: warning: overriding commands for target `g'
 ../coreconf/rules.mk:489: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:990: *** multiple target patterns.  Stop.

workaround

Use a cygwin-make version other than 3.81, which is simply broken. 3.82 is said to have this bug fixed, but does not exist, yet. 3.80 is available from here. If this doesn't exist anymore, google for make-3.80-1.tar.bz2, some sites might still have this archive.

solution

None yet. I am not even sure that it is worth investing time here. Finally, that's a bug in cygwin's make, and compiling SeaMonkey during an OOo build eats enough of my time to workaround cygwin bugs :).

Bug 345482 describes a fix, but it consists of a patch to SeaMonkey, plus a patch to cygwin's make. I failed with the latter, but didn't really spend much time on it.

build fails in security/nss/cmd/shlibsign

problem

build fails with the following log:

 sh /cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/./build/cygwin-wrapper ./sign.sh  \
  WIN95 \
 /cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/nss/cmd/shlibsign/sign.sh: line 43: cd: WIN95/lib: No such file or directory
 /shlibsign -v -i
 /cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/nss/cmd/shlibsign/sign.sh: line 56: /shlibsign: No such file or directory
 make[3]: *** [g:/src/moz/wntmsci11.pro/misc/build/mozilla/dist/lib/softokn3.chk] Error 127
 make[3]: Leaving directory `/cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/nss/cmd/shlibsign'
 make[2]: *** [libs] Error 2
 make[2]: Leaving directory `/cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/manager'
 make[1]: *** [tier_50] Error 2
 make[1]: Leaving directory `/cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla'
 make: *** [default] Error 2
 dmake:  Error code 2, while making './wntmsci11.pro/misc/build/so_built_ooo_mozab'
 ERROR: Error 65280 occurred while making /cygdrive/g/src/moz

solution

Like on the other platforms, it seems the $(call core_abspath,...) directive in the security/nss/cmd/shlibsign/Makefile does not work - it resolves to an empty string, no matter what. Like for the other platforms, this can be worked around by creating a platform-specific branch in the makefile, which does not use core_abspath. In the case of Windows, I replaced core_abspath with the usage of $(shell cygpath -d -a ...).

build fails in ...

problem

Uhm, sorry, I forgot to copy the error before I fixed it :-\ Effectively, it was Bug 324842 which I encountered.

solution

Apply the patch attached to Bug 324842, tweak it to include not only mozilla/configure.in, but also mozilla/configure.

Patches committed as revisions 263540 and 263541.

build fails during component registration

problem

 cd ./wntmsci11.pro/misc/WNTMSCIruntime && ./regxpcom.exe
 Can not initialize XPCOM Glue
 Can not aquire component registrar
 dmake:  Error code 255, while making './wntmsci11.pro/misc/build/so_moz_runtime_files'
 ERROR: Error 65280 occurred while making /cygdrive/g/src/moz

solution

TODO: find one ...

Personal tools