[mico-devel] compiling mico with vs 2005(x64)
Zoltan Bordas
zoltan.bordas at openspirit.com
Thu May 24 11:17:45 PDT 2007
Hi Kenichi,
I'm not sure if you made any further progress on this issue or not.
When MICO 2.3.11 was released I have done some research about using MICO
on 64-bit windows platforms. After I made a few changes in the original
source code I successfully tested the runtime library on both IA64 and
X86/64 architectures. However the only thing I have ever tested was the
base MICO DLL. Also since MICO was not ported to MSDEV 2005 (it was not
out that time) I had to make some local hacks to get everything built
and working and the changes were not mature enough to be merged back to
the baseline.
However the binaries worked great and they used in production mode
several places.
Recently I put a bit of an effort building the same libraries using the
original MSDEV 2005 MICO 2.3.12 distribution. I have got everything
compiled after a few code changes and ran some basic tests and seemed to
be working.
If anybody interested in doing some more testing and getting the changes
verified and merged to the MICO baseline I would appreciate it.
- I have not compiled the changes on any of the UNIX platforms.
- I have done only basic runtime testing on the main MICO library linked
in statically into me code and verified that it is operable (same
changes worked fine in 2.3.11).
List of changes:
Added a new platform SDK call so it'll work for Win64 platforms.
contrib\pthreads\
ptw32_interlockedcompareexchange.c
The following changes have been picked up by the compiler and may or may
not be required to run on Win64. However in general it is a good
practice to store the result of string::find in string::size_type
variables rather than ULongs. Feel free to use these changes to avoid
compiler warnings:
idl\
codegen-c++-common.cc
codegen-c++-stub.cc
codegen-idl.cc
idlparser.cc
parsenode.cc
orb\
except.cc
orb.cc
orb\security\
csiv2_impl.cc
The following changes are required to run on win64. The buffer.cc file
was strongly using the assumption that all pointers can be type casted
to long which is unfortunately not always true. I introduced a new type
called MICO_ptr and placed it to types.h. However it might not be the
best place for that type and can be locally specified in buffer.cc or
where it is needed.
Also I noticed that ..alignbase members are only used in some assert
messages but based on what I can see in the code they always be 0 (have
not looked very closely though).
\include\mico\
types.h
orb\
buffer.cc
uni_support.h
Zoltan
-----Original Message-----
From: mico-devel-bounces at mico.org [mailto:mico-devel-bounces at mico.org]
On Behalf Of Karel Gardas
Sent: Friday, March 16, 2007 1:50 AM
To: Kenichi Satoh
Cc: mico-devel at mico.org
Subject: Re: [mico-devel] compiling mico with vs 2005(x64)
Hi,
this is since MICO has not been ported to the Win64 environment yet. If
you are going to do the port yourself, you will need to tune C++
compiler
options and provide new or #ifdefed config.h at least. Also please in
this
case consider submiting your work for inclusion in MICO.
Cheers,
Karel
On Thu, 15 Mar 2007, Kenichi Satoh wrote:
> Please teach us the following issue if you have any idea.
> We downloaded the package mico-cl8-15.05.06.zip. through the below
URL.
>> http://www.mico.org/~msorin/mico-cl8-15.05.06.zip
>
> We have compiled mico by using VS2005.(32bit and 64bit compile)
> (OS:Wondows XP x64)
> 32bit compilation succeeded, but it failed in 64bit
compilation.(execution of
> IDL.exe)
> Please teach us the reason and measures method of this issue if you
can.
> <Error Message>
> c:\mico\orb\os-thread/pthreads.cc:385: assertion failed.
>
> pthreads.cc source list
>> int result = pthread_mutex_destroy(&_mutex);
>> assert(!result); <--- line 385
>
> 64bit compilation succeeds when we use IDL.exe(32bit), however, when
we run
> NSD.exe(64bit) it failed.
>
> k.sato
>
> _______________________________________________
> Mico-devel mailing list
> Mico-devel at mico.org
> http://www.mico.org/mailman/listinfo/mico-devel
>
--
Karel Gardas kgardas at objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com
_______________________________________________
Mico-devel mailing list
Mico-devel at mico.org
http://www.mico.org/mailman/listinfo/mico-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: changes.zip
Type: application/octet-stream
Size: 124473 bytes
Desc: not available
Url : http://www.mico.org/pipermail/mico-devel/attachments/20070524/65cff8d9/changes-0001.obj
More information about the Mico-devel
mailing list