Barthel Marco
2006-10-05 20:52:02 UTC
...did some further investigation:
A way to determine if the SDK FEB 2003 is available or the original
MSVC6 plus service packs is present:
winsock2.h from SDK has a "#define IPPROTO_IPV6 41
/* IPv6 */"
"original" winsock2.h does not have the define.
Any other ideas ??
-marco
A way to determine if the SDK FEB 2003 is available or the original
MSVC6 plus service packs is present:
winsock2.h from SDK has a "#define IPPROTO_IPV6 41
/* IPv6 */"
"original" winsock2.h does not have the define.
Any other ideas ??
-marco
-----Original Message-----
Of Barthel Marco
Sent: Thursday, October 05, 2006 3:27 PM
Subject: RE: [omniORB] Announce: omniORB 4.1.0 and omniORBpy
3.0releasecandidates
We encounter some problems compiling omniORB 4.1.0 RC1 using
corbaOrb.cc
..\..\..\..\include\omniORB4\internal\libcWrapper.h(110) : warning
C4005: 'WIN32_LEAN_AND_MEAN' : macro redefinition
unknown(0) : see previous definition of 'WIN32_LEAN_AND_MEAN'
'sockaddr_in'
: redefinition; different basic types
C:\BM\Progs\MS_SDK\Include\winsock2.h(397) : see
declaration of 'sockaddr_in'
cl -c -O2 -MT -GX -Z7 -D_WINSTATIC -I.. -I.\..
-I..\..\..\..\include\omniORB4\internal
-DUSE_omniORB_logStream -D_OMNIOR B_LIBRARY
-DOMNIORB_VERSION_STRING=\"4.1.0\"
-DOMNIORB_VERSION_HEX=0x040100C1
-DCONFIG_DEFAULT_LOCATION=\"C:\\OMNIORB.CF
G\" -DCONFIG_ENV=\"OMNIORB_CONFIG\" -DNTArchitecture -I. -I.
-I..\..\..\..\include -D__WIN32__ -D_WIN32_WINNT=0x0400 -DW
IN32_LEAN_AND_MEAN -D__x86__ -D__NT__ -D__OSVERSION__=4
-Fostatic\corbaOrb.o -TpcorbaOrb.cc
make[3]: *** [static/corbaOrb.o] Error 2
When we compile using MSVC6 + all service packs applied there
is no problem.
I tracked down the problem to the redefinition of "sockaddr_in"
#define SOCKADDR_STORAGE sockaddr_in --> typedef struct
sockaddr_storage SOCKADDR_STORAGE;
Why is there a "#define SOCKADDR_STORAGE" on WIN32?? This
seems to be defined by winsock.h
-marco
#####################
* Socket address, internet style.
*/
struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
typedef struct sockaddr_storage SOCKADDR_STORAGE; typedef
struct sockaddr_storage *PSOCKADDR_STORAGE; typedef struct
sockaddr_storage FAR *LPSOCKADDR_STORAGE;
#####################
greater # define HAVE_GETADDRINFO 1 # define
HAVE_GETNAMEINFO 1 # define HAVE_STRUCT_SOCKADDR_IN6 1 #
define HAVE_STRUCT_SOCKADDR_STORAGE 1 #endif
#####################
//////////
// Platform feature selection
#if !defined(OMNI_DISABLE_IPV6) &&
defined(HAVE_STRUCT_SOCKADDR_IN6) &&
defined(HAVE_STRUCT_SOCKADDR_STORAGE) && defined(HAVE_GETADDRINFO) &&
defined(HAVE_GETNAMEINFO)
# define OMNI_SUPPORT_IPV6
# define SOCKADDR_STORAGE sockaddr_storage #else # define
SOCKADDR_STORAGE sockaddr_in #endif
_______________________________________________
omniORB-list mailing list
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
Of Barthel Marco
Sent: Thursday, October 05, 2006 3:27 PM
Subject: RE: [omniORB] Announce: omniORB 4.1.0 and omniORBpy
3.0releasecandidates
We encounter some problems compiling omniORB 4.1.0 RC1 using
corbaOrb.cc
..\..\..\..\include\omniORB4\internal\libcWrapper.h(110) : warning
C4005: 'WIN32_LEAN_AND_MEAN' : macro redefinition
unknown(0) : see previous definition of 'WIN32_LEAN_AND_MEAN'
'sockaddr_in'
: redefinition; different basic types
C:\BM\Progs\MS_SDK\Include\winsock2.h(397) : see
declaration of 'sockaddr_in'
cl -c -O2 -MT -GX -Z7 -D_WINSTATIC -I.. -I.\..
-I..\..\..\..\include\omniORB4\internal
-DUSE_omniORB_logStream -D_OMNIOR B_LIBRARY
-DOMNIORB_VERSION_STRING=\"4.1.0\"
-DOMNIORB_VERSION_HEX=0x040100C1
-DCONFIG_DEFAULT_LOCATION=\"C:\\OMNIORB.CF
G\" -DCONFIG_ENV=\"OMNIORB_CONFIG\" -DNTArchitecture -I. -I.
-I..\..\..\..\include -D__WIN32__ -D_WIN32_WINNT=0x0400 -DW
IN32_LEAN_AND_MEAN -D__x86__ -D__NT__ -D__OSVERSION__=4
-Fostatic\corbaOrb.o -TpcorbaOrb.cc
make[3]: *** [static/corbaOrb.o] Error 2
When we compile using MSVC6 + all service packs applied there
is no problem.
I tracked down the problem to the redefinition of "sockaddr_in"
#define SOCKADDR_STORAGE sockaddr_in --> typedef struct
sockaddr_storage SOCKADDR_STORAGE;
Why is there a "#define SOCKADDR_STORAGE" on WIN32?? This
seems to be defined by winsock.h
-marco
#####################
From winsock2.h SDK FEB 2003
/** Socket address, internet style.
*/
struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
typedef struct sockaddr_storage SOCKADDR_STORAGE; typedef
struct sockaddr_storage *PSOCKADDR_STORAGE; typedef struct
sockaddr_storage FAR *LPSOCKADDR_STORAGE;
#####################
From oo41
#if defined(_MSC_VER) && _MSC_VER >= 1300 // VC++ 7 orgreater # define HAVE_GETADDRINFO 1 # define
HAVE_GETNAMEINFO 1 # define HAVE_STRUCT_SOCKADDR_IN6 1 #
define HAVE_STRUCT_SOCKADDR_STORAGE 1 #endif
#####################
From oo41
////////////////////////////////////////////////////////////////////////
// Platform feature selection
#if !defined(OMNI_DISABLE_IPV6) &&
defined(HAVE_STRUCT_SOCKADDR_IN6) &&
defined(HAVE_STRUCT_SOCKADDR_STORAGE) && defined(HAVE_GETADDRINFO) &&
defined(HAVE_GETNAMEINFO)
# define OMNI_SUPPORT_IPV6
# define SOCKADDR_STORAGE sockaddr_storage #else # define
SOCKADDR_STORAGE sockaddr_in #endif
_______________________________________________
omniORB-list mailing list
http://www.omniorb-support.com/mailman/listinfo/omniorb-list