Compilation error on Win32 (with threads)

Help
2005-01-31
2013-04-10
1 2 > >> (Page 1 of 2)
  • Marcel Luethi
    Marcel Luethi
    2005-01-31

    Hi!

    I'm trying to compile OSE 8.0b6 with Visual C++ 6.0 (Compiler Version 12.00.8804). With the hint for zarathustra94 I could build the ose_opt.dll without any problems.

    Now I'm trying to build the thread-version.
    For this I downloaded pthreads-snap-2005-01-25.tar.gz.

    The build process starts fine, bt after a while the following error occurs:

    otclogger.cc
    ../library/OTC/debug/otclogger.cc(211) : error C2440: 'type cast' : cannot convert from 'ptw32_handle_t' to 'int'
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    NMAKE : fatal error U1077: 'CL' : return code '0x2'
    Stop.

    Any hints?
    Do I really need the thread version? (I want to be able to use Python threads or starting processes - so I thought I need it...)

    Thanks a lot in advance!
    Regards,
    Marcel

     
    • Marcel Luethi
      Marcel Luethi
      2005-01-31

      Sorry - I forgot to mention that this happened while building the C++ libraries.

      But also, when I'm building it to be able to use Python wrappers, another error shows up:

      C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe /c /nologo /Ox /MD /W3
      /GX /DNDEBUG -DOSE_WITH_THREADS=1 -Iinclude -Ic:/Data/OSE/posix/Pre-built/includ
      e -IC:\Python23\include -IC:\Python23\PC /Tplibrary/OTC/thread\otcmutex.cc /Fobuild\temp.win32-2.3\Release\library/OTC/thread\otcmutex.obj
      otcmutex.cc
      library/OTC/thread\otcmutex.cc(37) : error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'const int' (or there is no acceptable conversion)
      library/OTC/thread\otcmutex.cc(70) : error C2676: binary '==' : 'ptw32_handle_t'
      does not define this operator or a conversion to a type acceptable to the predefined operator
      library/OTC/thread\otcmutex.cc(102) : error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'const int' (or there is no acceptable conversion)
      error: command '"C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe"' failed with exit status 2

      Bad luck today... ;-)

      Regards,
      Marcel

       
      • They have obviously gone and changed the value of that type  since when I last built it. Remembering thread IDs and trying to print out a integral value representing them was always a bit dodgy. No quick fix unfortunately. When I get a chance I'll have a look at it further.

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-01

      That's what I said... bad luck!

      I now either try with OSE 7.0 or setup Cygwin.
      As I can see there is no big difference in functionality between 7.0 and 8.0, is it? Or do I better take the Cygwin road?

       
      • Because the issue is with changed type in POSIX thread library for Win32, using OSE 8.0 will make no difference. Using cygwin should be more successful.

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-01

      Aha!

      That means if I would take an older POSIX thread library for Win32 it could work? Do you know about a release that worked?

       
    • Actually, if you use OSE 8.0 the problem in otcmutex.cc will go away. The one in otclogger.cc is not so easy. To get around it, comment out:

      #if defined(OSE_WITH_THREADS)
            pthread_t theThread;
            theThread = pthread_self();
            theThreadId = (int)theThread;
      #endif

      in that file.

       
    • Marcel Luethi
      Marcel Luethi
      2005-02-01

      Ok, but I am using OSE 8.0b6...!

      The problem with your patch for otclogger.cc "solved" it, but now both (C++ libraries and Python wrappers) fail still in otcmutex.cc (see above).

      I'm now trying older versions of the POSIX thread library for Win32 - maybe this helps....

       
      • Whoops, my mistake. Mistook which file it was. It is still fixable in that version, but will need to post up a new version of the file. Too many changes to easily describe here. Will do so later.

         
    • See bug report:

        https://sourceforge.net/tracker/index.php?func=detail&aid=1114336&group_id=17371&atid=117371

      Includes replacement for "otcmutex.cc" that will hopefully work. Compiles on MacOS X, but didn't then actually test it. :-)

       
    • Marcel Luethi
      Marcel Luethi
      2005-02-02

      Sorry for the delay...

      After comipling for a while it stopped with:

      otcmutex.cc
      ../library/OTC/thread/otcmutex.cc(37) : error C2065: 'memset' : undeclared identifier
      NMAKE : fatal error U1077: 'CL' : return code '0x2'
      Stop.

       
      • Add :

          #include <memory.h>

        as an include at the start of the file. After <OTC/thread/mutex.hh>.

        Thought this might be required. Had to add it for OSE 7.0 version of file for it to build under MacOSX. Had built okay in OSE 8.0 under MacOSX though without it. :-)

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-02

      OK, next problem....

      The linking process stopped with:

      pthreadVC.lib
      LINK : fatal error LNK1181: cannot open input file "pthreadVC.lib"
      NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\bin\C
      L.exe"' : return code '0x2'
      Stop.

      There is no "pthreadVC.lib" - but I guess it is posix/Pre-built/lib/pthreadVC1.lib (pthreads-snap-2005-01-25) - so I took this one and renamed it to "pthreadVC.lib"...

      And it works - GREAT!

      --------------------------------------------------

      Now, this was for the OSE library.
      The Python wrappers still have a problem:

      C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe /c /nologo /Ox /MD /W3
      /GX /DNDEBUG -DOSE_WITH_THREADS=1 -Iinclude -Ic:/Data/OSE/posix/Pre-built/include -IC:\Python23\include -IC:\Python23\PC /Tppython\opyrpcgtway.cc /Fobuild\temp.
      win32-2.3\Release\python\opyrpcgtway.obj
      opyrpcgtway.cc
      C:\Python23\include\pyconfig.h(265) : warning C4005: 'SIZEOF_LONG_LONG' : macro
      redefinition
              include\OSE/i386-pc-win32.h(73) : see previous definition of 'SIZEOF_LONG_LONG'
      C:\Python23\include\pyconfig.h(444) : warning C4005: 'HAVE_GETPID' : macro redefinition
              include\OSE/i386-pc-win32.h(33) : see previous definition of 'HAVE_GETPID'
      include\OTC/dispatch/plreader.hh(296) : error C2632: 'long' followed by 'long' is illegal
      include\OTC/dispatch/plreader.hh(296) : error C2535: 'void __thiscall OTC_PLReader::operator >>=(long &)' : member function already defined or declared
              include\OTC/dispatch/plreader.hh(203) : see declaration of '>>='
      include\OTC/dispatch/plreader.hh(302) : error C2632: 'long' followed by 'long' is illegal
      include\OTC/dispatch/plreader.hh(302) : error C2535: 'void __thiscall OTC_PLReader::operator >>=(unsigned long &)' : member function already defined or declared

              include\OTC/dispatch/plreader.hh(248) : see declaration of '>>='
      include\OTC/dispatch/rwpyload.hh(422) : error C2632: 'long' followed by 'long' is illegal
      include\OTC/dispatch/rwpyload.hh(422) : error C2535: 'void __thiscall OTC_RWPayload::operator <<=(long)' : member function already defined or declared
              include\OTC/dispatch/rwpyload.hh(367) : see declaration of '<<='
      include\OTC/dispatch/rwpyload.hh(428) : error C2632: 'long' followed by 'long' is illegal
      include\OTC/dispatch/rwpyload.hh(428) : error C2535: 'void __thiscall OTC_RWPayload::operator <<=(unsigned long)' : member function already defined or declared
              include\OTC/dispatch/rwpyload.hh(393) : see declaration of '<<='
      error: command '"C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe"' failed with exit status 2

      Do you see a solution?
      BTW: thanks for the great support - I really appreciate this!

       
      • Don't rename the library. Change the makefile to refer to the correct name for the version of POSIX thread library you are using. They might likely changed the name because of the change in definition of pthread_t which caused all these errors in the first place. It would have been a different size to before and thus the old library would have been incompatible.

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-03

      Yeah - renaming was a stupid idea...

      So I started again, built the library with pthreadVC1.lib -> ok.
      Then the Python wrappers: still the same problem as above...

      Is the problem the SIZEOF_LONG_LONG macro redefinition?

       
      • Sorry, missed the stuff about SIZEOF_LONG_LONG in your original email.

        Can you find the pyconfig.h file in the include directory of the Python installation and tell me how the definitions are setup for:

          HAVE_LONG_LONG
          SIZEOF_LONG_LONG

        If HAVE_LONG_LONG is commented out and not actually set, can only suggest perhaps also commenting out definition of SIZEOF_LONG_LONG.

        Try that, but also send me two definitions from pyconfig.h.

        I perhaps need use a HAVE_LONG_LONG definition in my stuff as a precursor to using SIZE_LONG_LONG.

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-03

      Here's what I found in my c:\Python23\include\pyconfig.h:

      #define HAVE_LONG_LONG 1
      #define SIZEOF_LONG_LONG 8

      Sorry - stupid question:
      Where should I comment out HAVE_LONG_LONG / SIZEOF_LONG_LONG? In pyconfig.h?

       
      • Unfortunately, not going to be as simple as commenting out things in pyconfig.h after all.

        Looking at Python source code, seems they actually define their own long long type which actually maps to __int64. That is how they support it. VC++ 6.0 doesn't actually support "long long" which is what I use and the fact that pyconfig.h defines SIZEOF_LONG_LONG causes my code problems.

        Only quick hack I can suggest is to edit:

          include/OTC/dispatch/plreader.hh
          include/OTC/dispatch/rwpyload.hh

        After the #includes at the start of the file, add:

          #define SIZEOF_LONG_LONG 0

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-03

      Ok, I hacked the two files and started again the build of the Python wrappers:

      C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe /c /nologo /Ox /MD /W3
      /GX /DNDEBUG -DOSE_WITH_THREADS=1 -Iinclude -Ic:/Data/OSE/posix/Pre-built/include -IC:\Python23\include -IC:\Python23\PC /Tppython\opyexchange.cc /Fobuild\temp.
      win32-2.3\Release\python\opyexchange.obj
      opyexchange.cc
      include\OSE/i386-pc-win32.h(33) : warning C4005: 'HAVE_GETPID' : macro redefinition
              C:\Python23\include\pyconfig.h(444) : see previous definition of 'HAVE_GETPID'
      include\OSE/i386-pc-win32.h(73) : warning C4005: 'SIZEOF_LONG_LONG' : macro redefinition
              C:\Python23\include\pyconfig.h(265) : see previous definition of 'SIZEOF_LONG_LONG'
      include\OTC/message/inetaddr.hh(54) : error C2632: 'int' followed by 'int' is illegal
      include\OTC/message/inetaddr.hh(54) : error C2208: 'int' : no members defined using this type
      error: command '"C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe"' failed with exit status 2

      Again bad luck!
      You think it would help to switch to a newer version of MS C++?
      Or are you interested in solving this (C++6.0) problem?

       
      • I hate VC++ 6.0. Actually, I hate VC++ no matter what version it is.

        Anyway, edit:

          include/OSE/i386-pc-win32.h

        Change:

          /* #undef HAVE_SOCKLEN_T */

        to:

          #define HAVE_SOCKLEN_T 1

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-03

      I know what you mean! ;-)

      Specially if you see this:

      C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe /c /nologo /Ox /MD /W3
      /GX /DNDEBUG -DOSE_WITH_THREADS=1 -Iinclude -Ic:/Data/OSE/posix/Pre-built/include -IC:\Python23\include -IC:\Python23\PC /Tplibrary/OTC/internet\otchttpsrvr.cc
      /Fobuild\temp.win32-2.3\Release\library/OTC/internet\otchttpsrvr.obj
      otchttpsrvr.cc
      include\OTC/message/inetaddr.hh(142) : error C2143: syntax error : missing ';' before '&'
      include\OTC/message/inetaddr.hh(142) : error C2501: 'socklen_t' : missing storage-class or type specifiers
      include\OTC/message/inetaddr.hh(143) : error C2501: 'addrlen' : missing storage-class or type specifiers
      include\OTC/message/inetaddr.hh(143) : warning C4183: 'addrlen': member function definition looks like a ctor, but name does not match enclosing class
      include\OTC/message/inetaddr.hh(147) : error C2146: syntax error : missing ';' before identifier 'addrlen'
      include\OTC/message/inetaddr.hh(147) : error C2501: 'socklen_t' : missing storage-class or type specifiers
      include\OTC/message/inetaddr.hh(148) : warning C4183: 'addrlen': member function definition looks like a ctor, but name does not match enclosing class
      include\OTC/message/inetaddr.hh(208) : error C2146: syntax error : missing ';' before identifier 'length_'
      include\OTC/message/inetaddr.hh(208) : error C2501: 'socklen_t' : missing storage-class or type specifiers
      include\OTC/message/inetaddr.hh(208) : error C2501: 'length_' : missing storage-class or type specifiers
      error: command '"C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe"' failed with exit status 2

      No comment...
      I wished I could use *nix!

       
      • This just isn't going to work, too many fiddles to workaround stuff that Python mucks with. Python has:

        #if _MSC_VER + 0 >= 1300
        /* VC.NET typedefs socklen_t in ws2tcpip.h. */
        #else
        #define socklen_t int
        #endif

        If we define HAVE_SOCKLEN_T, only stuff that includes Python.h will compile. If it isn't defined, only core OSE C++ library files will compile.

        Arrrrggghhh!!!

        Can you get hold of VC++ 7.0? :-(

         
    • Marcel Luethi
      Marcel Luethi
      2005-02-03

      Such is life... ;-)
      But remember Monty Python's: Always Look On the Bright Side of Life...

      Ok, I go and install the newest I can get - but this will take some time as I have to do other things as well...
      If it's done I'll start over with a clean OSE 8.0b6 and pthreads-snap-2005-01-25.

      I'll give you feedback then.

       
    • Marcel Luethi
      Marcel Luethi
      2005-02-05

      Sorry, took a while installing Visual Studio 2003 .NET on a new W2k-VMware (I don't like to pollute my environment ;-)

      After that I started from scratch building the OSE 8.0b6 library. To use VC++ 7.1 it is necessary for the command line to setup the environment with VCVARS32.BAT.
      After applying the otcmutex.cc/otclogger.cc patches above I still can't bring it to compile:

      c:\Data\ose-8.0b6\win32>nmake -f release-mt.mk ose_mt_opt.dll

      Microsoft (R) Program Maintenance Utility Version 7.10.3077
      Copyright (C) Microsoft Corporation.  All rights reserved.

              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/hash/hash_32.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      hash_32.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/hash/hash_32a.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      hash_32a.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/hash/hash_64.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      hash_64.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/hash/hash_64a.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      hash_64a.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/regex/regcomp.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      regcomp.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/regex/regerror.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      regerror.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/regex/regexec.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      regexec.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD ../library/OTC/regex/regfree.c
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      regfree.c
              CL -c -I../include -DOSE_DLL_EXPORT -Ic:/Data/Posix/Pre-built/include -DOSE_WITH_THREADS -GX -Zi -Od -MD -Tp ../library/OTC/collctn/otcanchor.cc
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
      Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

      otcanchor.cc
      ../include\OTC\stdlib\iostream.h(45) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
      NMAKE : fatal error U1077: 'CL' : return code '0x2'
      Stop.

      Of course the file is there! Must be something (compiler flag/preprocessor defnition?) how includes are handled.
      I searched now for some hours now but couldn't find it out. I'm sure it is something deadly simple...
      Maybe you are luckier!

      But being desperate to use OSE I'll build the library and the Python wrappers for 7.0pl10 (with -DENV_CXXSTDTPL!) which worked without any problems.
      I still would like to use OSE 8.0 - so if you have any hints I'll gladly try them out.

       
    • Marcel Luethi
      Marcel Luethi
      2005-02-06

      Good evening!

      After commenting out that section in "compile.h" and the forgotten patching of the otcmutex.cc ( #include <memory.h> ) I was able to compile and link the library.
      Ther were some warnings like this:

      otctrcestrm.cc
      ../library\OTC\debug\otctrcestrm.cc(43) : warning C4355: 'this' : used in base member initializer list

      And short before the end this one:

      ../include\ONS\agent\agent.hh(270) : warning C4541: 'dynamic_cast' used on polymorphic type 'ONS_Agent' with /GR-; unpredictable behavior may result
              ../include\ONS\agent\agent.hh(1037) : see reference to function template instantiation 'DERIVED *ONS_Agent::derivedObject<ONS_Agent::TOBJ,T>(BASE *)' being compiled
              with
              [
                  DERIVED=ONS_Service,
                  T=ONS_Service,
                  BASE=ONS_Agent::TOBJ
              ]
              ../library\ONS\agent\onsservice.cc(702) : see reference to function template instantiation 'OTC_String ONS_Agent::scheduleAction<ONS_Service>(void (__thiscall ONS_Service::* )(const OTC_String &),OTC_JobType,const char *)' being compiled
      ../include\ONS\agent\agent.hh(270) : warning C4541: 'dynamic_cast' used on polymorphic type 'ONS_Monitor' with /GR-; unpredictable behavior may result
              ../include\ONS\agent\monitor.hh(619) : see reference to function template instantiation 'DERIVED *ONS_Agent::derivedObject<ONS_Monitor::TOBJ,T>(BASE *)' being compiled
              with
              [
                  DERIVED=ONS_Service,
                  T=ONS_Service,
                  BASE=ONS_Monitor::TOBJ
              ]
              ../library\ONS\agent\onsservice.cc(1964) : see reference to function template instantiation 'OTC_ServiceStatus ONS_Monitor::subscribeServiceAddress<ONS_Service>(void (__thiscall ONS_Service::* )(OTC_ServiceBinding *,const OTC_String &,OTC_ServiceStatus,const OTC_String &),const OTC_String &,const OTC_String &)' being compiled

      Nevertheless it reached the end and created me a ose_mt_opt.dll!
      Great!

      Then I started building the Python wrappers with this result:

      C:\Data\ose-8.0b6>python setup.py build
      running build
      running build_py
      creating build
      creating build\lib.win32-2.3
      creating build\lib.win32-2.3\netrpc
      copying netrpc\common.py -> build\lib.win32-2.3\netrpc
      copying netrpc\remote.py -> build\lib.win32-2.3\netrpc
      copying netrpc\soap.py -> build\lib.win32-2.3\netrpc
      copying netrpc\xmlrpc.py -> build\lib.win32-2.3\netrpc
      copying netrpc\__init__.py -> build\lib.win32-2.3\netrpc
      creating build\lib.win32-2.3\zsirpc
      copying zsirpc\__init__.py -> build\lib.win32-2.3\zsirpc
      creating build\lib.win32-2.3\netsvc
      copying netsvc\__init__.py -> build\lib.win32-2.3\netsvc
      creating build\lib.win32-2.3\netsvc\xmlrpc
      copying netsvc\xmlrpc\python.py -> build\lib.win32-2.3\netsvc\xmlrpc
      copying netsvc\xmlrpc\__init__.py -> build\lib.win32-2.3\netsvc\xmlrpc
      creating build\lib.win32-2.3\netsvc\soap
      copying netsvc\soap\__init__.py -> build\lib.win32-2.3\netsvc\soap
      creating build\lib.win32-2.3\netsvc\client
      copying netsvc\client\__init__.py -> build\lib.win32-2.3\netsvc\client
      creating build\lib.win32-2.3\netsvc\cache
      copying netsvc\cache\__init__.py -> build\lib.win32-2.3\netsvc\cache
      running build_ext
      error: Python was built with version 6 of Visual Studio, and extensions need to
      be built with the same version of the compiler, but it isn't installed.

      Arrrgh!
      I'm using ActiveState's ActivePython 2.3.4 (the latest of the 2.3 series).
      So we're back to the old problem with VC++ 6.0... :-(

      Frustrated as I was I installed ActivePython 2.4.0 and tried once more:
      This time I was luckier - this version is compiled with VC++ 7.1.
      Again there were some warnings like these:

      opyagent.cc
      include\OSE\i386-pc-win32.h(33) : warning C4005: 'HAVE_GETPID' : macro redefinition
              c:\Python24\include\pyconfig.h(432) : see previous definition of 'HAVE_GETPID'
      include\OSE\i386-pc-win32.h(73) : warning C4005: 'SIZEOF_LONG_LONG' : macro redefinition
              c:\Python24\include\pyconfig.h(272) : see previous definition of 'SIZEOF_LONG_LONG'
      library\OTC\thread\otctask.cc(215) : warning C4101: 'theException' : unreferenced local variable
      regcomp.c
      library\OTC\regex\regcomp.c(1062) : warning C4018: '<' : signed/unsigned mismatch
      library\OTC\regex\regcomp.c(1093) : warning C4018: '<' : signed/unsigned mismatch
      library\OTC\regex\regcomp.c(1120) : warning C4018: '<' : signed/unsigned mismatch
      library\OTC\regex\regcomp.c(1140) : warning C4018: '<' : signed/unsigned mismatch
      regexec.c
      c:\Data\ose-8.0b6\library\OTC\regex\engine.c(152) : warning C4018: '<=' : signed/unsigned mismatch
      c:\Data\ose-8.0b6\library\OTC\regex\engine.c(209) : warning C4018: '<' : signed/unsigned mismatch
      c:\Data\ose-8.0b6\library\OTC\regex\engine.c(210) : warning C4018: '<=' : signed/unsigned mismatch
      c:\Data\ose-8.0b6\library\OTC\regex\engine.c(152) : warning C4018: '<=' : signed/unsigned mismatch
      c:\Data\ose-8.0b6\library\OTC\regex\engine.c(209) : warning C4018: '<' : signed/unsigned mismatch
      c:\Data\ose-8.0b6\library\OTC\regex\engine.c(210) : warning C4018: '<=' : signed/unsigned mismatch

      But in the end it compiled to a _ose.pyd and 'python setup.py install' worked also fine.
      Super great!!! ;-)

      Conclusion: Use ActivePython 2.4.0 on Win32 with OSE 8.0b6!
      (I don't know if other Win32-Python packages could be used...)

      BTW: Are you interested in the whole compiler/linker log for the library and the Python wrappers?
      I'll send it to you if you like.

      Best regards and a good start into the new week
      Marcel

      PS:
      I searched for a list of _MSC_VER values for the different compilers.
      Here's what I found:

         Compiler                                   _MSC_VER value
         --------                                   --------------
         C Compiler version 6.0                          600
         C/C++ compiler version 7.0                      700
         Visual C++, Windows, version 1.0                800
         Visual C++, 32-bit, version 1.0                 800
         Visual C++, Windows, version 2.0                900
         Visual C++, 32-bit, version 2.x                 900
         Visual C++, 32-bit, version 4.0                 1000
         Visual C++, 32-bit, version 5.0                 1100
         Visual C++, 32-bit, version 6.0                 1200
         Visual C++, 32-bit, version 7.0 (VS.NET 2002)   1300
         Visual C++, 32-bit, version 7.1 (VS.NET 2003)   1310
         Visual C++, 32-bit, version 8.0 (VS.NET 2005)   1400

       
1 2 > >> (Page 1 of 2)