harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Deakin <oliver.dea...@googlemail.com>
Subject Re: [build] Update on my build progress
Date Thu, 25 Oct 2007 10:02:34 GMT
Hi Dims,

According to this article [1] you should be able to access the ATL 
headers by installing the Platform SDK (linked from that page) and 
adding C:\Program Files\Microsoft Platform SDK\include\atl to your 
include path - is this something you have already tried?

Regards,
Oliver

[1] http://www.codeproject.com/wtl/WTLExpress.asp


Davanum Srinivas wrote:
> 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
>>
>>     
>
>
>   

-- 
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


Mime
View raw message