Hello,

I am trying to build OpenSSL for Win CE 6.0 on x86.

Tried the following steps.

Building wcecompat library
-------------------------------------------

1.     Downloaded wcecompat source from "https://github.com/mauricek/wcecompat/";

2.     Open Visual studio 2005 command prompt.

3.     Following environment setup has been done.

@call "D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"

@set OSVERSION=WCE600

@set PLATFORM=DO_X86_600

@set TARGETCPU=X86

@set GE_HALOSDK=D:\Program Files\Windows CE Tools\wce600\DO_X86_600

@set 
PATH=%VSINSTALLDIR%\Common7\IDE;%VCINSTALLDIR%\ce\bin\x86_cex86;%VCINSTALLDIR%\bin;%NASMINSTALLDIR%;%PATH%

@set INCLUDE=%GE_HALOSDK%\Include\x86;%VCINSTALLDIR%\ce\include;%INCLUDE%

@set LIB=%GE_HALOSDK%\Lib\x86;%VCINSTALLDIR%\ce\lib\x86;%LIB%

4.     "cd" to wcecompat source directory.

5.     Call "perl config.pl" --- Done success

6.     Call "nmake" --- Done Success (wcecompat.lib and wcecompatex.lib lib 
files generated).

Building OpenSSL
------------------------------


1.     Downloaded OpenSSL source 
(openssl-1.0.1e.tar.gz<http://www.openssl.org/source/openssl-1.0.1e.tar.gz>) 
from http://www.openssl.org/source/

2.     Open Visual studio 2005 command prompt

3.     Set the following environment

@call "D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"

@set OSVERSION=WCE600

@set PLATFORM=DO_X86_600

@set TARGETCPU=X86



@set WCECOMPAT=C:\wcecompat

@set GE_HALOSDK=D:\Program Files\Windows CE Tools\wce600\DO_X86_600

@set 
PATH=%VSINSTALLDIR%\Common7\IDE;%VCINSTALLDIR%\ce\bin\x86_cex86;%VCINSTALLDIR%\bin;%NASMINSTALLDIR%;%PATH%

@set INCLUDE=%GE_HALOSDK%\Include\x86;%VCINSTALLDIR%\ce\include;%INCLUDE%

@set LIB=%GE_HALOSDK%\Lib\x86;%VCINSTALLDIR%\ce\lib\x86;%LIB%

@set LIBPATH=%GE_HALOSDK%\Lib\x86;%VCINSTALLDIR%\ce\lib\x86;%LIBPATH%

4.     "cd" to "openssl-1.0.1e" OpenSSL source directory

5.     "perl Configure VC-CE".

6.     "ms\do_ms.bat"

7.     "nmake -f ms\cedll.mak"

8.     The build process stops with following error.

        cl /Fotmp32dll_X86\bss_dgram.obj  -Iinc32 -Itmp32dll_X86 /MC /O1i /W3 /W

X /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_

MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT -D_WIN32_WCE=60

0 -DUNDER_CE=600 -DWCE_PLATFORM_DO_X86_600 -Dx86 -D_X86_ -D_i386_ -Di_386_ -IC:\

wcecompat/include -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_

NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE /Zi /Fdtmp32dll_X86/lib -D_WINDLL -D_DLL  -D

OPENSSL_BUILD_SHLIBCRYPTO -c .\crypto\bio\bss_dgram.c

cl : Command line warning D9002 : ignoring unknown option '/MC'

bss_dgram.c

.\crypto\bio\bss_dgram.c(1852) : error C2220: warning treated as error - no 'obj

ect' file generated

.\crypto\bio\bss_dgram.c(1852) : warning C4996: '_ftime64': This function or var

iable may be unsafe. Consider using _ftime64_s instead. To disable deprecation,

use _CRT_SECURE_NO_WARNINGS. See online help for details.

        D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\sys/timeb.h(152) :

 see declaration of '_ftime64'

NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 8\VC\bin\c

l.EXE"' : return code '0x2'

Stop.

9.     Removed the /WX compile option from the cedll.mak and started the nmake 
again (mentioned in step 7)

10.  Got following error message
Building OpenSSL
        cl /Fotmp32dll_X86\b_sock.obj  -Iinc32 -Itmp32dll_X86 /MC /O1i /W3 /GF /
Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -D
L_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT -D_WIN32_WCE=600 -DUND
ER_CE=600 -DWCE_PLATFORM_DO_X86_600 -Dx86 -D_X86_ -D_i386_ -Di_386_ -IC:\wcecomp
at/include -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAK
E -DOPENSSL_NO_STATIC_ENGINE /Zi /Fdtmp32dll_X86/lib -D_WINDLL -D_DLL  -DOPENSSL
_BUILD_SHLIBCRYPTO -c .\crypto\bio\b_sock.c
cl : Command line warning D9002 : ignoring unknown option '/MC'
b_sock.c
.\crypto\bio\b_sock.c(195) : warning C4013: 'getservbyname' undefined; assuming
extern returning int
.\crypto\bio\b_sock.c(195) : warning C4047: '=' : 'servent *' differs in levels
of indirection from 'int'
.\crypto\bio\b_sock.c(629) : error C2079: 'sa_in6' uses undefined struct 'sockad
dr_in6'
.\crypto\bio\b_sock.c(776) : error C2224: left of '.sin6_addr' must have struct/
union type
.\crypto\bio\b_sock.c(776) : error C2224: left of '.sin6_addr' must have struct/
union type
.\crypto\bio\b_sock.c(776) : error C2168: 'memset' : too few actual parameters f
or intrinsic function
.\crypto\bio\b_sock.c(777) : error C2224: left of '.sin6_addr' must have struct/
union type
.\crypto\bio\b_sock.c(861) : error C2079: 'sa_in6' uses undefined struct 'sockad
dr_in6'
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 8\VC\bin\c
l.EXE"' : return code '0x2'
Stop.

Questions

1.     Is there any OpenSSL version available which can be compiled without 
wcecompat library ?? My understanding is that wcecompat is  required only to 
support legacy API's which OpenSSL calls ???

2.     Is there any OpenSSL supported wcecompat library for Win CE 6.0 ?

Please let me know if you need more information to understand the problem.

Regards
Balaji

Reply via email to