That's excellent Dims, well done!
Regards,
Oliver
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
--
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