On 1/5/2012 9:37 AM, Alex wrote:
> On Dec 22 2011, 5:16 am, Alex<
alexkonto...@gmail.com> wrote:
>> I'm using Intel C++ Compiler 12.1. I didn't have -NODEFAULTLIB:library
>> as a flag initially, but further up the compilation process I had some
>> errors, saying to use -NODEFAULTLIB:library so I did, and compilation
>> continued further on until this point.
> Okay, with or without /NODEFAULTLIB:library the same errors come up.
It appears that the Intel linker you're using doesn't support a MSVC
feature in use (the -NODEFAULTLIB flag); and you probably manually
hacked something because it probably wanted -NODEFAULTLIB:msvcrt (but
the error message used the word "library" because it was generic, and
you just copied what it said without interpreting it). In this case
it's probably because some of the objects going into mar.exe was built
against msvcrt (mozcrt/jemalloc), but was being linked against the
static CRT because having the updater-bit depend on mozcrt would be a
bad idea.
Your best bet is to attempt to reorganize things and have it build the
relevant object files twice, once against the static CRT (for use in
mar.exe) and once against mozcrt (for linking into libxul or wherever
that goes). Then see if those changes look clean enough to upstream.
This is all going from memory, of course - nothing like actually
debugging the problem on a system exhibiting the (build) problem.
--
HTH,
Mook