Solutions to typical compiling errors: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
No edit summary
(Add most common build error (faulty mozconfig), tweak formatting)
Line 1: Line 1:
During a typical compiling process, there are quite a few errors where an inexperienced builder may stumble upon. Here there are a few of them :
During a typical compiling process, there are quite a few errors where an inexperienced builder may stumble upon. Here there are a few of them :


<code>fatal error C1601: unsupported inline assembly opcode</code><br>
*In <code>mozilla/profile/src</code>:<br><code> nsProfile.cpp: In member function `virtual nsresult<br>  nsProfile::StartupWithArgs(nsICmdLineService*, int)':<br>nsProfile.cpp:415: error: `SelectLocaleForProfile' undeclared (first use this function)</code><br><br>MOZ_PHOENIX is not defined, so compilation proceeds for the Mozilla Suite rather than Firefox. Code changes made on the AVIARY branch mean that Mozilla does not compile. Commonly caused by the .mozconfig file not being read by client.mk. Your .mozconfig should be in your home (~) or <code>mozilla</code> directory, and can be called .mozconfig or mozconfig. Or use the environment variable MOZCONFIG to specify an arbitrary file. See [http://www.mozilla.org/projects/firefox/build.html] for further mozconfig setup information. (Firefox 1.0PR).
Older MS assemblers don't support SSE2 assembly instructions. Solution is to apply Microsoft Processor Pack 5 for VC++ (administrator rights may be needed)


*In <code>mozilla/rdf/chrome</code>:<br><code>nsChromeRegistry.cpp:2693: error: prototype for `nsresult<br>nsChromeRegistry::UninstallPackage(const PRUnichar*, int)' does not match any in class `nsChromeRegistry'</code><br><br>As above for Firefox 0.9.3 and earlier.


<code>fatal error C1600: unsupported data type in jidctint.c</code><br>
*<code>fatal error C1601: unsupported inline assembly opcode</code><br>Older MS assemblers don't support SSE2 assembly instructions. Solution is to apply Microsoft Processor Pack 5 for VC++ (administrator rights may be needed)
Solution same as bove


''some toolbar icons, toolbar text fields are broken'' (compiling with MS Visual Studio 6)<br>
*<code>fatal error C1600: unsupported data type in jidctint.c</code><br>Solution same as bove
-O2 optimization is buggy. In your .mozconfig, include <code>ac_add_options -enable-optimize</code> (defaults to -O1 optimization)  or disable optimization.


<code>xxx file doesn't exist</code><br>
*''some toolbar icons, toolbar text fields are broken'' (compiling with MS Visual Studio 6)<br>-O2 optimization is buggy. In your .mozconfig, include <code>ac_add_options -enable-optimize</code> (defaults to -O1 optimization)  or disable optimization.
One possible reason is that .mozconfig doesn't exist or is in the wrong place. First check whether .mozconfig exists at browser/config/mozconfig. Additionally, for Win32, mozconfig.txt must point to the above path by using the following line :<br>
 
<code>. $topsrcdir/browser/config/mozconfig</code>
*<code>xxx file doesn't exist</code><br>One possible reason is that .mozconfig doesn't exist or is in the wrong place. First check whether .mozconfig exists at browser/config/mozconfig. Additionally, for Win32, mozconfig.txt must point to the above path by using the following line :<br><code>. $topsrcdir/browser/config/mozconfig</code>

Revision as of 12:48, 22 October 2004

During a typical compiling process, there are quite a few errors where an inexperienced builder may stumble upon. Here there are a few of them :

  • In mozilla/profile/src:
    nsProfile.cpp: In member function `virtual nsresult
    nsProfile::StartupWithArgs(nsICmdLineService*, int)':
    nsProfile.cpp:415: error: `SelectLocaleForProfile' undeclared (first use this function)


    MOZ_PHOENIX is not defined, so compilation proceeds for the Mozilla Suite rather than Firefox. Code changes made on the AVIARY branch mean that Mozilla does not compile. Commonly caused by the .mozconfig file not being read by client.mk. Your .mozconfig should be in your home (~) or mozilla directory, and can be called .mozconfig or mozconfig. Or use the environment variable MOZCONFIG to specify an arbitrary file. See [1] for further mozconfig setup information. (Firefox 1.0PR).
  • In mozilla/rdf/chrome:
    nsChromeRegistry.cpp:2693: error: prototype for `nsresult
    nsChromeRegistry::UninstallPackage(const PRUnichar*, int)' does not match any in class `nsChromeRegistry'


    As above for Firefox 0.9.3 and earlier.
  • fatal error C1601: unsupported inline assembly opcode
    Older MS assemblers don't support SSE2 assembly instructions. Solution is to apply Microsoft Processor Pack 5 for VC++ (administrator rights may be needed)
  • fatal error C1600: unsupported data type in jidctint.c
    Solution same as bove
  • some toolbar icons, toolbar text fields are broken (compiling with MS Visual Studio 6)
    -O2 optimization is buggy. In your .mozconfig, include ac_add_options -enable-optimize (defaults to -O1 optimization) or disable optimization.
  • xxx file doesn't exist
    One possible reason is that .mozconfig doesn't exist or is in the wrong place. First check whether .mozconfig exists at browser/config/mozconfig. Additionally, for Win32, mozconfig.txt must point to the above path by using the following line :
    . $topsrcdir/browser/config/mozconfig