I am trying to build Firefox 3.6 Beta 4 using Visual Studio 2005 on Windows. I downloaded the release source, the latest version of mozilla build, but get the error "C compiler cannot create executables.". I have been able to build all other 3.5 and previous versions without any issues.
The problem occurs at the start of the build process where it is testing whether or not it can even compile and create an executable.
The build output is...
$ make -f client.mk build
Adding client.mk options from /c/dev/ff3.6/mozilla-1.9.2/.mozconfig:
MOZ_OBJDIR=$(TOPSRCDIR)/obj-firefox
MOZ_CO_PROJECT=browser
make[1]: Entering directory `/c/dev/ff3.6/mozilla-1.9.2'
cd /c/dev/ff3.6/mozilla-1.9.2/obj-firefox
/c/dev/ff3.6/mozilla-1.9.2/configure
Adding configure options from /c/dev/ff3.6/mozilla-1.9.2/.mozconfig:
--disable-tests
--with-windows-version=501
--enable-application=browser
--disable-vista-sdk-requirements
loading cache ./config.cache
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
checking build system type... i686-pc-mingw32
checking for gawk... gawk
checking for perl5... no
checking for perl... /bin/perl
checking for gcc... cl
checking whether the C compiler (cl ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
*** Fix above errors and then restart with "make -f client.mk build"
make[1]: *** [configure] Error 1开发者_StackOverflow中文版
make[1]: Leaving directory `/c/dev/ff3.6/mozilla-1.9.2'
make: *** [/c/dev/ff3.6/mozilla-1.9.2/obj-firefox/Makefile] Error 2
The config.log is...
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
configure:1019: checking host system type
configure:1040: checking target system type
configure:1058: checking build system type
configure:1141: checking for gawk
configure:1258: checking for perl5
configure:1258: checking for perl
configure:2350: checking for gcc
configure:2463: checking whether the C compiler (cl ) works
configure:2479: cl -o conftest conftest.c 1>&5
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
cl : Command line warning D9024 : unrecognized source file type 'c:/mozilla-build/msys/DTEST=2', object file assumed
conftest.c
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.
/out:DTEST=2.exe
/out:conftest.exe
c:/mozilla-build/msys/DTEST=2
conftest.obj
LINK : fatal error LNK1181: cannot open input file 'c:/mozilla-build/msys/DTEST=2.obj'
configure: failed program was:
#line 2474 "configure"
#include "confdefs.h"
The .mozconfig is ..
# Options for client.mk.
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-firefox
mk_add_options MOZ_CO_PROJECT=browser
# Options for 'configure' (same as command-line options).
ac_add_options --disable-tests
ac_add_options --with-windows-version=501
ac_add_options --enable-application=browser
ac_add_options --disable-vista-sdk-requirements
Any ideas?
I don't know too much about MSYS, but it seems as if MSYS and/or configure passes some weird options to the compiler. The compiler seems to interpret "c:/mozilla-build/msys/DTEST=2" as the source file type, which leads me to suspect that /T appears on the command line (see http://msdn.microsoft.com/en-us/library/032xwy55.aspx).
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
cl : Command line warning D9024 : unrecognized source file type 'c:/mozilla-build/msys/DTEST=2', object file assumed
conftest.c
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.
/out:DTEST=2.exe
/out:conftest.exe
c:/mozilla-build/msys/DTEST=2
conftest.obj
LINK : fatal error LNK1181: cannot open input file 'c:/mozilla-build/msys/DTEST=2.obj'
configure: failed program was:
Can you run the configure-script with the -x
option and extract the exact compiler command line?
Im try to compile the the following file "TESTFILE.b".
My file is in the path /home/santy/dir1/TESTFILE.b
I'm compiling the file in following path by excuting the command as /home/santy/> jcompile dir1/TESTFILE.b
Below shows the error.
cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
TESTFILE.c
link @D:\Users\MSANTH~1\AppData\Local\Temp\jbuild385>D:\Users\MSANTH~1\AppData\Local\Temp\jbuild386 failed , command returned a code of 1181
LINK : warning LNK4044: unrecognized option '/DWIN32'; ignored
LINK : warning LNK4044: unrecognized option '/MD'; ignored
LINK : warning LNK4044: unrecognized option '/W3'; ignored
LINK : warning LNK4044: unrecognized option '/GR'; ignored
LINK : warning LNK4044: unrecognized option '/EHsc'; ignored
LINK : warning LNK4044: unrecognized option '/GF'; ignored
LINK : warning LNK4044: unrecognized option '/F5000000'; ignored
LINK : warning LNK4044: unrecognized option '/D_LARGEFILE_SOURCE'; ignored
LINK : warning LNK4044: unrecognized option '/D_LARGEFILE64_SOURCE'; ignored
LINK : warning LNK4044: unrecognized option '/D_FILE_OFFSET_BITS=64'; ignored
LINK : fatal error LNK1181: cannot open input file 'QA\TESTFILE.obj'
jcompile: QA\TESTFILE.j deleted
jcompile: QA\TESTFILE.c deleted
jcompile: Returned an error code of 8
cl version:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
精彩评论