Mozilla2Seamonkey/Problem Log/Windows
The following problems appeared while building the Seamonkey sources on Windows, after the great preliminary work done by Pierre Pasteau.
Contents
- 1 Building with Microsoft Visual Studio 2005
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.
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 ...)
.