Good work Dims!
Davanum Srinivas wrote: > Team, > > Got DLRVM running :) Please enclosed diff. I used CSimpleArray > instead of CAtlArray and patched the ATL headers in PSDK as mentioned > in article here: > http://www.codeproject.com/wtl/WTLExpress.asp?df=100&forumid=255873&exp=0&fr=26&select=1348720 > > I also had to add #ifndef in apr.h in a couple of spots (line 63 and > line 521). But this could be better handled by the build scripts > itself. > #ifndef _CRT_SECURE_NO_DEPRECATE > #define _CRT_SECURE_NO_DEPRECATE > #endif > > Here's proof: > > C:\APACHE\harmony\working_vm\build\deploy\jdk\jre\bin>java Main > java.runtime.name=Apache Harmony > sun.boot.library.path=c:\apache\harmony\working_vm\build\de... > java.vm.version=11.2.0 > vm.boot.library.path=c:\apache\harmony\working_vm\build\de... > vm.boot.class.path=c:\apache\harmony\working_vm\build\de... > java.vendor.url=http://harmony.apache.org > java.vm.vendor=Apache Software Foundation > path.separator=; > java.vm.name=DRLVM > user.country=US > org.apache.harmony.vm.vmdir=c:\apache\harmony\working_vm\build\de... > java.vm.specification.name=Java Virtual Machine Specification > user.dir=C:\APACHE\harmony\working_vm\build\de... > java.runtime.version=1.5.0 > os.arch=x86 > java.io.tmpdir=C:\DOCUME~1\dims\LOCALS~1\Temp > line.separator= > > java.vm.specification.vendor=Sun Microsystems Inc. > os.name=Windows XP > java.tmpdir=C:\DOCUME~1\dims\LOCALS~1\Temp > java.library.path=C:\APACHE\harmony\working_vm\build\de... > java.specification.name=Java Platform API Specification > java.class.version=50.0 > java.util.prefs.PreferencesFactory=java.util.prefs.RegistryPreferencesFa... > os.version=5.1 > user.home=C:\Documents and Settings\dims > user.timezone=America/New_York > file.encoding=8859_1 > javax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.Transform... > java.specification.version=1.5 > user.name=dims > java.class.path=. > java.vm.specification.version=1.0 > java.home=C:\APACHE\harmony\working_vm\build\de... > user.language=en > java.specification.vendor=Sun Microsystems Inc. > java.vm.info=no info > java.version=1.5.0 > java.ext.dirs=c:\apache\harmony\working_vm\build\de... > sun.boot.class.path=c:\apache\harmony\working_vm\build\de... > java.vendor=Apache Software Foundation > file.separator=\ > java.compiler=client > org.apache.harmony.boot.class.path=C:\APACHE\harmony\working_vm\build\de... > > Here's the 3 line java class used : > > public class Main { > public static void main(String[] args) { > System.getProperties().list(System.out); > } > } > > thanks, > dims > > On 10/25/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote: >> Yep. More details later today! >> >> -- dims >> >> On 10/25/07, Oliver Deakin <[EMAIL PROTECTED]> wrote: >>> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED] -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 >>> >>> >> >> -- >> Davanum Srinivas :: http://davanum.wordpress.com >> > >
