Closed Bug 335007 Opened 18 years ago Closed 18 years ago

Linking library errors during build

Categories

(Firefox Build System :: General, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: swzhao, Unassigned)

Details

User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Build Identifier: MozillaFirefox1.5rc3

I'm using cygwin on WinXP to try to build the firefox source code. I'm using MozillaFirefox1.5rc3 and MS Visual Studio 2005 as compiler.

Initially I met the following errors:
.....
LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type already
defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(osfinfo.obj) : error LNK2005: __get_osfhandle already defined in MSVC
RT.lib(MSVCR80.dll)
LIBCMT.lib(isctype.obj) : error LNK2005: __isctype already defined in MSVCRT.lib
(MSVCR80.dll)
LIBCMT.lib(getenv.obj) : error LNK2005: _getenv already defined in MSVCRT.lib(MS
VCR80.dll)
LIBCMT.lib(tolower.obj) : error LNK2005: _tolower already defined in MSVCRT.lib(
MSVCR80.dll)
MSVCRT.lib(MSVCR80.dll) : error LNK2005: __strdup already defined in
LIBCMT.lib(strdup.obj)
 Creating library xpidl.lib and object xpidl.exp
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; us
e /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; us
e /NODEFAULTLIB:library
xpidl.exe : fatal error LNK1169: one or more multiply defined symbols found
make[6]: *** [xpidl.exe] Error 145

After I set NODEFAULTLIB:MSVCRT and/or /NODEFAULTLIB:LIBCMT
 to avoid the conflicts between libraries, the old errors disappear but I
got bunch of new error messages like the following.

xpidl.obj : error LNK2001: unresolved external symbol __imp____iob_func
xpidl_idl.obj : error LNK2001: unresolved external symbol __imp____iob_func
xpidl_util.obj : error LNK2001: unresolved external symbol __imp____iob_func
xpt.lib(xpt_struct.obj) : error LNK2001: unresolved external symbol __imp____iob
_func
xpidl_doc.obj : error LNK2001: unresolved external symbol __imp__fputs
xpidl_java.obj : error LNK2019: unresolved external symbol __imp__fputs referenc
ed in function _interface_declaration
xpt.lib(xpt_struct.obj) : error LNK2001: unresolved external symbol __imp__fputs
xpidl.obj : error LNK2001: unresolved external symbol __imp__fputs
xpidl_idl.obj : error LNK2001: unresolved external symbol __imp__fputs
xpidl_util.obj : error LNK2001: unresolved external symbol __imp__fputs
xpidl_header.obj : error LNK2001: unresolved external symbol __imp__fputs

I googled around and it seems like it's due to mixing the various
flavors of CRT libraries. There is an article that explains the
various CRT options.
Q140584 HOWTO: Link with the Correct C Run-Time (CRT) Library
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q140584

However, who can teach me how/where to adjust these options for firefox build?

Thank you so much!



Reproducible: Always
To the best of my knowledge you can't build Firefox 1.5 using Visual Studio 2005.
The patches that made it possible from bug 249782 are only on the trunk.

But it's said somewhere that:
"For doing development on the CVS trunk (Mozilla 1.9 or higher), the standard compiler is Microsoft Visual C++, version 8."
With MozillaFirefox1.5rc3, what's its trunk and branch versions?
Or do I have to use CVS trunk?
I'm still confused what's exactly referred to trunk and branch?

Thanks,
Joshua


(In reply to comment #1)
> To the best of my knowledge you can't build Firefox 1.5 using Visual Studio
> 2005.
> The patches that made it possible from bug 249782 are only on the trunk.

The trunk is where all the main development goes on. Branches are stable lines that came off the trunk at some point and are working towards release. The Firefox 1.5 branch contains gecko 1.8
Just confirmed with people that firefox 1.5 cant be built with VC 8 so resolving this as invalid. If you have the same problem when building the trunk then reopen this.
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → INVALID
Component: Build Config → General
Product: Firefox → Firefox Build System
You need to log in before you can comment on or make changes to this bug.