harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Spark Shen" <smallsmallor...@gmail.com>
Subject Re: [build] Update on my build progress
Date Tue, 23 Oct 2007 03:50:38 GMT
Hi

I once tried to build using Microsoft Visual C++ 2005. IIRC, using Microsoft
Visual C++ 2003 & Windows AMD 64 XP
will lead to build failure. I naturally using 2005 express instead and
encounter same problem.
And finally switched to a trail Enterprise Edition. It provides a X86_64
environment
(I could not remember precisely the name the environment), under which the
build is successful.


I think many developers (if not most) on the same platform will encounter
the problem. So, at least
provides an alternative to allow customers to build under free environment
will be valuable.

2 possible alternatives are:

1. Uses other structures than CAtlArray
2. Uses Cygwin environment

Correct me if I am wrong.



2007/10/23, Davanum Srinivas <davanum@gmail.com>:
>
> Team,
>
> MSFT does not ship ATL with the express edition. But some enterprising
> person has posted info on how to use the old ATL stuff in PSDK.
>
>
> http://www.codeproject.com/wtl/WTLExpress.asp?df=100&forumid=255873&exp=0&fr=26&select=1348720
>
> But, we will have to still get rid of CAtlArray usage as that is not
> available in the old files in PSDK.
>
> So, is the ATL dependency a conscious decision? Since it makes harmony
> build dependent on access to non-free build environment? If not, how
> easy is it to get rid of the dependency or get it working with the
> older files in PSDK?
>
> Thoughts?
>
> -- dims
>
> On 10/22/07, Davanum Srinivas <davanum@gmail.com> wrote:
> > Actually found a way to get past this point using
> > /FORCE:UNRESOLVED...also threw in a /NODEFAULTLIB:LIBC to get past a
> > few more errors. Here's where i am stumped now...Basically "Microsoft
> > Visual C++ 2005 Express Edition" does not seem to support atl.
> >
> > -build-native-windows:
> >      [exec]     cl -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS
> > -FIsehmap.h -D_X86_=1  -DWIN32 -D_WIN32 -W3 -D_WIN95 -D_
> > WIN32_WINDOWS=0x0400 /D_WIN32_DCOM -D_WIN32_IE=0x0500 -DWINVER=0x0400
> > -Zi -Od -D_CRT_SECURE_NO_DEPRECATE  -D_CRT_SECURE_NO_W
> > ARNINGS  -WX -GF -Gs -MD -Zm400  -D_DLL -D_MT -D_WINSOCKAPI_
> > /IC:\APACHE\harmony\working_classlib\deploy\include /IC:\APAC
> > HE\harmony\working_classlib\deploy\jdk\include /I.
> > -FoWinDataTransfer.obj WinDataTransfer.cpp
> >      [exec] WinDataTransfer.cpp
> >      [exec] WinDataTransfer.cpp(23) : fatal error C1083: Cannot open
> > include file: 'atlbase.h': No such file or directory
> >      [exec] NMAKE : fatal error U1077: 'cl' : return code '0x2'
> >      [exec] Stop.
> >
> > BUILD FAILED
> > C:\APACHE\harmony\working_classlib\make\build-native.xml:77: The
> > following error occurred while executing this line:
> > C:\APACHE\harmony\working_classlib\modules\awt\build.xml:226: The
> > following error occurred while executing this line:
> > C:\APACHE\harmony\working_classlib\make\properties.xml:474: exec
> returned: 2
> >
> >
> > On 10/22/07, Davanum Srinivas <davanum@gmail.com> wrote:
> > > Looks like other people have similar issues:
> > >
> http://support.intel.com/support/performancetools/libraries/mkl/win/sb/CS-022853.htm
> > >
> > > And the answer seems to imply that one needs a version of lcms114.lib
> > > compiled with the latest tool chain :(
> > >
> > > -- dims
> > >
> > > On 10/22/07, Davanum Srinivas <davanum@gmail.com> wrote:
> > > > Oliver,
> > > >
> > > > Yep, tried that. Here's the current failure after that change and
> > > > current diff against latest svn.
> > > >
> > > >      [exec] LINK : warning LNK4224: /COMMENT is no longer
> supported;  ignored
> > > >      [exec] lcms114.lib(cmserr.obj) : error LNK2019: unresolved
> > > > external symbol __iob referenced in function _cmsSignalError
> > > >
> > > >      [exec] ..\lcmm.dll : fatal error LNK1120: 1 unresolved
> externals
> > > >      [exec] NMAKE : fatal error U1077: 'link' : return code '0x460'
> > > >      [exec] Stop.
> > > >
> > > > thanks,
> > > > dims
> > > >
> > > > On 10/22/07, Oliver Deakin <oliver.deakin@googlemail.com> wrote:
> > > > > Hi Dims,
> > > > >
> > > > > Looks like you're doing pretty well, that's quite far into the
> native
> > > > > build! Interestingly, when I build the natives with MSVC .NET 2003
> I
> > > > > also get the warning:
> > > > > LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of
> other
> > > > > libs; use /NODEFAULTLIB:library
> > > > >
> > > > > but it is not an error and the build continues, so I wonder if it
> has
> > > > > been promoted to an error for MSVC 2005. I looked at your link
> line and
> > > > > it is exactly the same as mine (which works) so Im guessing its a
> > > > > difference between linker versions. Having a google around it
> appears
> > > > > that libcmt.lib is the static version of the C runtime, whereas we
> want
> > > > > to link against the dynamic version msvcrt.lib. It's not entirely
> clear
> > > > > to me why it seems to be linking against both msvcrt.lib and
> libcmt.lib.
> > > > >
> > > > > If you specify /NODEFAULTLIB:"libcmt.lib" in rules.mak does this
> help?
> > > > > Adding it to the two "link" lines should do the job I think - i.e.
> the
> > > > > link line for DLLNAME and the link line for EXENAME. Adding this
> option
> > > > > to my .NET 2003 build doesn't seem to affect the build, and I can
> run
> > > > > the LUNI tests successfully so it doesn't appear to hurt.
> > > > >
> > > > > I wonder if we should have this flag always set so that we
> definitely
> > > > > don't link against the static C runtime library?
> > > > >
> > > > > Regards,
> > > > > Oliver
> > > > >
> > > > > Davanum Srinivas wrote:
> > > > > > Folks,
> > > > > >
> > > > > > Neex your help. Platform is Windows XP. Please see enclosed
diff
> for
> > > > > > the changes i had to make to get this far.
> > > > > >
> > > > > > Products:
> > > > > > - Microsoft Platform SDK for Windows Server 2003 R2
> > > > > > - Microsoft Visual C++ 2005 Express Edition
> > > > > > - Microsoft Macro Assembler 8.0 (MASM) Package (x86) /
> > > > > >
> > > > > > Current failure:
> > > > > >
> > > > > >      [exec]     link  /debug /opt:icf /opt:ref /INCREMENTAL:NO
> /NOLOGO
> > > > > >  -entry:_DllMainCRTStartup@12 -dll /BASE:0x13300000
> -machine:i386
> > > > > > /comment:"LCMM Wrapper native code. (c) Copyright 2005 - 2006
> The
> > > > > > Apache Software Foundation or its licensors, a
> > > > > > s applicable."  -subsystem:windows -out:..\lcmm.dll
> -map:..\lcmm.map
> > > > > > ..\shared\cmmerror.obj  ..\shared\cmmio.obj  ..\shared\
> > > > > > cmmxforms.obj  ..\shared\NativeCMM.obj
> > > > > > ..\shared\NativeImageFormat.obj lcmm.res
> > > > > > C:\APACHE\harmony\working_classlib\deploy\li
> > > > > > b\hycommon.lib
> C:\APACHE\harmony\working_classlib\deploy\lib\hythr.lib
> > > > > > C:\APACHE\harmony\working_classlib\deploy\lib\hysig.li
> > > > > > b  C:\APACHE\harmony\working_classlib\deploy\lib\hypool.lib
> > > > > > C:\APACHE\harmony\working_classlib\deploy\lib\vmi.lib
> C:\APACHE\h
> > > > > >
> armony\working_classlib\deploy\..\depends\libs\build\lcms\lcms114.lib
> > > > > > ws2_32.lib Iphlpapi.lib  kernel32.lib  ws2_32.lib advap
> > > > > > i32.lib user32.lib gdi32.lib  comdlg32.lib winspool.lib
> > > > > > C:\APACHE\harmony\working_classlib\deploy\lib\lcmm.exp
> > > > > >      [exec] LINK : warning LNK4224: /COMMENT is no longer
> supported;  ignored
> > > > > >      [exec] LIBCMT.lib(crtheap.obj) : error LNK2005:
> __malloc_crt
> > > > > > already defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit
> > > > > > already defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(crt0dat.obj) : error LNK2005:
> __initterm_e
> > > > > > already defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit
> already
> > > > > > defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(realloc.obj) : error LNK2005: _realloc
> already
> > > > > > defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a
> already
> > > > > > defined in MSVCRT.lib(cinitexe.obj)
> > > > > >      [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z
> already
> > > > > > defined in MSVCRT.lib(cinitexe.obj)
> > > > > >      [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a
> already
> > > > > > defined in MSVCRT.lib(cinitexe.obj)
> > > > > >      [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z
> already
> > > > > > defined in MSVCRT.lib(cinitexe.obj)
> > > > > >      [exec] LIBCMT.lib(winxfltr.obj) : error LNK2005:
> ___CppXcptFilter
> > > > > > already defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(tidtable.obj) : error LNK2005:
> __encode_pointer
> > > > > > already defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(tidtable.obj) : error LNK2005:
> __encoded_null
> > > > > > already defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(tidtable.obj) : error LNK2005:
> __decode_pointer
> > > > > > already defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(mlock.obj) : error LNK2005: __unlock
> already
> > > > > > defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(mlock.obj) : error LNK2005: __lock
> already
> > > > > > defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LIBCMT.lib(stricmp.obj) : error LNK2005: __stricmp
> already
> > > > > > defined in MSVCRT.lib(MSVCR80.dll)
> > > > > >      [exec] LINK : warning LNK4098: defaultlib 'MSVCRT'
> conflicts with
> > > > > > use of other libs; use /NODEFAULTLIB:library
> > > > > >      [exec] LINK : warning LNK4098: defaultlib 'LIBCMT'
> conflicts with
> > > > > > use of other libs; use /NODEFAULTLIB:library
> > > > > >      [exec] LIBCMT.lib(crt0.obj) : error LNK2019: unresolved
> external
> > > > > > symbol _main referenced in function ___tmainCRTStartup
> > > > > >      [exec] ..\lcmm.dll : fatal error LNK1120: 1 unresolved
> externals
> > > > > >      [exec] NMAKE : fatal error U1077: '"C:\Program
> Files\Microsoft
> > > > > > Visual Studio 8\VC\BIN\link.EXE"' : return code '0x460'
> > > > > >      [exec] Stop.
> > > > > >
> > > > > > Any ideas?
> > > > > >
> > > > > > thanks,
> > > > > > dims
> > > > > >
> > > > > >
> > > > >
> > > > > --
> > > > > Oliver Deakin
> > > > > Unless stated otherwise above:
> > > > > IBM United Kingdom Limited - Registered in England and Wales with
> number 741598.
> > > > > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire
> PO6 3AU
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Davanum Srinivas :: http://davanum.wordpress.com
> > > >
> > > >
> > >
> > >
> > > --
> > > Davanum Srinivas :: http://davanum.wordpress.com
> > >
> >
> >
> > --
> > Davanum Srinivas :: http://davanum.wordpress.com
> >
>
>
> --
> Davanum Srinivas :: http://davanum.wordpress.com
>



-- 
Spark Shen
China Software Development Lab, IBM

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message