You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Bhavani Iyer <bh...@gmail.com> on 2012/08/25 04:03:27 UTC

Re: UIMAC++ and ICU

Sylvain

Not clear whether you've rebuilt UIMA C++ and its dependencies.
I've seen this happen if the annotator and SDK are running incompatible ICU
versions.
Xerces can be built with or without ICU so that may be a source of
incompatibility.

Bhavani

On Fri, Aug 24, 2012 at 9:56 AM, Sylvain Surcin <su...@kwaga.com> wrote:

> Hello Bhavani,
>
> I am using your UIMAcpp release candidate 2.4.0 R6 to create a C++
> linguistic annotator.
> I successfully integrated it under Linux (Ubuntu) in a full-scale
> aggregate architecture and it works fine.
>
> But now I am porting it under Windows, because some of our developpers use
> it.
> Now I am meeting a problem.
> I compiled the C++ linguistic annotator using Visual Studio 2010, that
> part is ok.
>
> But it crashes when I start using icu::UnicodeString::extract() or
> iostream& operator<<(iostream&, const icu::UnicodeString&).
> Each time I get an access violation.
>
> Do you have any idea what could be happening?
>
> Thanks for any hint,
> Sylvain
>
>
> --
> Sylvain SURCIN, Ph.D.
> *KWAGA*
> Senior Software Architect
> 15, rue Jean-Baptiste Berlier
> 75013 Paris
> France
> Tél.: +33 (0)1.55.43.79.20
>
>
>
>

Re: UIMAC++ and ICU

Posted by Burn Lewis <bu...@gmail.com>.
Nice work.  I see you have also discovered the need for APR-iconv on
Windows.  I've just submitted some changes to the build script to fix this
but I'm rather back-level on MSVC 8 so they won't tell you anything you
don't already know.

Thanks,  Burn.

Re: UIMAC++ and ICU

Posted by Sylvain Surcin <su...@kwaga.com>.
Hi Bhavani,

I have been able to build from scratch an UIMACpp SDK image for Win32 and
MSVC 10.0.
The bundled dependencies are :

   - apr-1.4.6
   - aprutil-1.4.1
   - xerces-3.1.1
   - icu4c-4.9.1
   - activemq-cpp-3.4.4

You can find it there:
https://dl.dropbox.com/u/45395937/UIMA_Cpp/uimacpp-2.0.0-r6-win32-msvc10.zip
.

I hope it can be of use.

Sylvain

On Tue, Aug 28, 2012 at 5:37 PM, Bhavani Iyer <bh...@gmail.com> wrote:

> Hi Sylvain
>
> I built all the dependencies using MSVC 2005.  I was able to upgrade APR
> to 2005 and downgrade ActiveMQ from 2008 as
> described in the README.4src. I used a binary distribution of Xerces and
> ICU.
> Looking at ICU download page,
> http://icu-project.org/download/3.6.html#ICU4C
> it says the binary distribution is Windows (win32 x86 32-bit) Visual
> Studio.Net 2003 (MSVC 7.1).
> The MSVC projects for ICU are MSVC 2010 which I did not have installed.
>
> The Xerces 2.8 binary distribution was obtained from here:
> http://xerces.apache.org/xerces-c/download.cgi
>
> I remember attempting trying to build the examples in the SDK with  MSVC
> 2008.  They built but did not run.
>
> I didn't pursue it further.
>
> Bhavani
>
>
> On Tue, Aug 28, 2012 at 6:41 AM, Sylvain Surcin <su...@kwaga.com> wrote:
>
>> Hello Bhavani,
>>
>> After some more investigation, it seems that the problem is not with
>> compatibility issues between Boost and ICU.
>>
>> It is rather a problem that the Win32 binaries provided in the R6
>> candidate link against msvc71, msvc80 and msvc90 DLL families, and they
>> lead to some memory problems when using STL iterators, traits, etc...
>>
>> Perhaps the best solution for me would be to rebuild all the UIMACpp
>> framework with my configuration, but... I've spent hours so far trying to
>> rebuild the framework's dependencies, without success.
>>
>> For instance APR and APR-util.
>> If I get the 1.4 version from Apache's website and try to build them with
>> Visual Studio 2010, by converting the .dsw and .dsp, I get lots of linker
>> errors. If I try the NMAKE approach, it complains about missing .mak files
>> (xml.mak for instance).
>> If I chechout the latest SVN version, Visual Studio tells me it cannot
>> convert the dsw/dsp projects into vcxproj/sln.
>> And concerning the NMAKE approach, almost no .mak file is available.
>>
>> What was your magical recipe to get all dependencies ready for Win32
>> compilation?
>>
>> Thanks,
>> Sylvain
>>
>> On Sat, Aug 25, 2012 at 12:20 PM, Sylvain Surcin <su...@kwaga.com>wrote:
>>
>>> Hi Bhavani,
>>>
>>> No I did not rebuild the UIMA C++ framework, I just reused what was
>>> already there is the binary version available in your directory.
>>>
>>> Perhaps it is important to know that I'm using Boost 1.51 windows
>>> distribution downloaded from www.boost.org.
>>> Perhaps there is something incompatible with the ICU shipped with UIMA
>>> C++?
>>>
>>> The Xerces I use is also the one shipped with UIMA C++, I believe.
>>>
>>> Sylvain
>>>
>>>
>>> On Sat, Aug 25, 2012 at 4:03 AM, Bhavani Iyer <bh...@gmail.com>wrote:
>>>
>>>> Sylvain
>>>>
>>>> Not clear whether you've rebuilt UIMA C++ and its dependencies.
>>>> I've seen this happen if the annotator and SDK are running incompatible
>>>> ICU versions.
>>>> Xerces can be built with or without ICU so that may be a source of
>>>> incompatibility.
>>>>
>>>> Bhavani
>>>>
>>>>
>>>> On Fri, Aug 24, 2012 at 9:56 AM, Sylvain Surcin <su...@kwaga.com>wrote:
>>>>
>>>>> Hello Bhavani,
>>>>>
>>>>> I am using your UIMAcpp release candidate 2.4.0 R6 to create a C++
>>>>> linguistic annotator.
>>>>> I successfully integrated it under Linux (Ubuntu) in a full-scale
>>>>> aggregate architecture and it works fine.
>>>>>
>>>>> But now I am porting it under Windows, because some of our developpers
>>>>> use it.
>>>>> Now I am meeting a problem.
>>>>> I compiled the C++ linguistic annotator using Visual Studio 2010, that
>>>>> part is ok.
>>>>>
>>>>> But it crashes when I start using icu::UnicodeString::extract() or
>>>>> iostream& operator<<(iostream&, const icu::UnicodeString&).
>>>>> Each time I get an access violation.
>>>>>
>>>>> Do you have any idea what could be happening?
>>>>>
>>>>> Thanks for any hint,
>>>>> Sylvain
>>>>>
>>>>>
>>>>> --
>>>>> Sylvain SURCIN, Ph.D.
>>>>> *KWAGA*
>>>>> Senior Software Architect
>>>>> 15, rue Jean-Baptiste Berlier
>>>>> 75013 Paris
>>>>> France
>>>>> Tél.: +33 (0)1.55.43.79.20
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Sylvain SURCIN, Ph.D.
>>> *KWAGA*
>>> Senior Software Architect
>>> 15, rue Jean-Baptiste Berlier
>>> 75013 Paris
>>> France
>>> Tél.: +33 (0)1.55.43.79.20
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Sylvain SURCIN, Ph.D.
>> *KWAGA*
>> Senior Software Architect
>> 15, rue Jean-Baptiste Berlier
>> 75013 Paris
>> France
>> Tél.: +33 (0)1.55.43.79.20
>>
>>
>>
>>
>


-- 
Sylvain SURCIN, Ph.D.
*KWAGA*
Senior Software Architect
15, rue Jean-Baptiste Berlier
75013 Paris
France
Tél.: +33 (0)1.55.43.79.20

Re: UIMAC++ and ICU

Posted by Bhavani Iyer <bh...@gmail.com>.
Hi Sylvain

I built all the dependencies using MSVC 2005.  I was able to upgrade APR to
2005 and downgrade ActiveMQ from 2008 as
described in the README.4src. I used a binary distribution of Xerces and
ICU.
Looking at ICU download page, http://icu-project.org/download/3.6.html#ICU4C
it says the binary distribution is Windows (win32 x86 32-bit) Visual
Studio.Net 2003 (MSVC 7.1).
The MSVC projects for ICU are MSVC 2010 which I did not have installed.

The Xerces 2.8 binary distribution was obtained from here:
http://xerces.apache.org/xerces-c/download.cgi

I remember attempting trying to build the examples in the SDK with  MSVC
2008.  They built but did not run.

I didn't pursue it further.

Bhavani


On Tue, Aug 28, 2012 at 6:41 AM, Sylvain Surcin <su...@kwaga.com> wrote:

> Hello Bhavani,
>
> After some more investigation, it seems that the problem is not with
> compatibility issues between Boost and ICU.
>
> It is rather a problem that the Win32 binaries provided in the R6
> candidate link against msvc71, msvc80 and msvc90 DLL families, and they
> lead to some memory problems when using STL iterators, traits, etc...
>
> Perhaps the best solution for me would be to rebuild all the UIMACpp
> framework with my configuration, but... I've spent hours so far trying to
> rebuild the framework's dependencies, without success.
>
> For instance APR and APR-util.
> If I get the 1.4 version from Apache's website and try to build them with
> Visual Studio 2010, by converting the .dsw and .dsp, I get lots of linker
> errors. If I try the NMAKE approach, it complains about missing .mak files
> (xml.mak for instance).
> If I chechout the latest SVN version, Visual Studio tells me it cannot
> convert the dsw/dsp projects into vcxproj/sln.
> And concerning the NMAKE approach, almost no .mak file is available.
>
> What was your magical recipe to get all dependencies ready for Win32
> compilation?
>
> Thanks,
> Sylvain
>
> On Sat, Aug 25, 2012 at 12:20 PM, Sylvain Surcin <su...@kwaga.com> wrote:
>
>> Hi Bhavani,
>>
>> No I did not rebuild the UIMA C++ framework, I just reused what was
>> already there is the binary version available in your directory.
>>
>> Perhaps it is important to know that I'm using Boost 1.51 windows
>> distribution downloaded from www.boost.org.
>> Perhaps there is something incompatible with the ICU shipped with UIMA
>> C++?
>>
>> The Xerces I use is also the one shipped with UIMA C++, I believe.
>>
>> Sylvain
>>
>>
>> On Sat, Aug 25, 2012 at 4:03 AM, Bhavani Iyer <bh...@gmail.com>wrote:
>>
>>> Sylvain
>>>
>>> Not clear whether you've rebuilt UIMA C++ and its dependencies.
>>> I've seen this happen if the annotator and SDK are running incompatible
>>> ICU versions.
>>> Xerces can be built with or without ICU so that may be a source of
>>> incompatibility.
>>>
>>> Bhavani
>>>
>>>
>>> On Fri, Aug 24, 2012 at 9:56 AM, Sylvain Surcin <su...@kwaga.com>wrote:
>>>
>>>> Hello Bhavani,
>>>>
>>>> I am using your UIMAcpp release candidate 2.4.0 R6 to create a C++
>>>> linguistic annotator.
>>>> I successfully integrated it under Linux (Ubuntu) in a full-scale
>>>> aggregate architecture and it works fine.
>>>>
>>>> But now I am porting it under Windows, because some of our developpers
>>>> use it.
>>>> Now I am meeting a problem.
>>>> I compiled the C++ linguistic annotator using Visual Studio 2010, that
>>>> part is ok.
>>>>
>>>> But it crashes when I start using icu::UnicodeString::extract() or
>>>> iostream& operator<<(iostream&, const icu::UnicodeString&).
>>>> Each time I get an access violation.
>>>>
>>>> Do you have any idea what could be happening?
>>>>
>>>> Thanks for any hint,
>>>> Sylvain
>>>>
>>>>
>>>> --
>>>> Sylvain SURCIN, Ph.D.
>>>> *KWAGA*
>>>> Senior Software Architect
>>>> 15, rue Jean-Baptiste Berlier
>>>> 75013 Paris
>>>> France
>>>> Tél.: +33 (0)1.55.43.79.20
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>> Sylvain SURCIN, Ph.D.
>> *KWAGA*
>> Senior Software Architect
>> 15, rue Jean-Baptiste Berlier
>> 75013 Paris
>> France
>> Tél.: +33 (0)1.55.43.79.20
>>
>>
>>
>>
>
>
> --
> Sylvain SURCIN, Ph.D.
> *KWAGA*
> Senior Software Architect
> 15, rue Jean-Baptiste Berlier
> 75013 Paris
> France
> Tél.: +33 (0)1.55.43.79.20
>
>
>
>

Re: UIMAC++ and ICU

Posted by Sylvain Surcin <su...@kwaga.com>.
Hello Bhavani,

After some more investigation, it seems that the problem is not with
compatibility issues between Boost and ICU.

It is rather a problem that the Win32 binaries provided in the R6 candidate
link against msvc71, msvc80 and msvc90 DLL families, and they lead to some
memory problems when using STL iterators, traits, etc...

Perhaps the best solution for me would be to rebuild all the UIMACpp
framework with my configuration, but... I've spent hours so far trying to
rebuild the framework's dependencies, without success.

For instance APR and APR-util.
If I get the 1.4 version from Apache's website and try to build them with
Visual Studio 2010, by converting the .dsw and .dsp, I get lots of linker
errors. If I try the NMAKE approach, it complains about missing .mak files
(xml.mak for instance).
If I chechout the latest SVN version, Visual Studio tells me it cannot
convert the dsw/dsp projects into vcxproj/sln.
And concerning the NMAKE approach, almost no .mak file is available.

What was your magical recipe to get all dependencies ready for Win32
compilation?

Thanks,
Sylvain

On Sat, Aug 25, 2012 at 12:20 PM, Sylvain Surcin <su...@kwaga.com> wrote:

> Hi Bhavani,
>
> No I did not rebuild the UIMA C++ framework, I just reused what was
> already there is the binary version available in your directory.
>
> Perhaps it is important to know that I'm using Boost 1.51 windows
> distribution downloaded from www.boost.org.
> Perhaps there is something incompatible with the ICU shipped with UIMA C++?
>
> The Xerces I use is also the one shipped with UIMA C++, I believe.
>
> Sylvain
>
>
> On Sat, Aug 25, 2012 at 4:03 AM, Bhavani Iyer <bh...@gmail.com> wrote:
>
>> Sylvain
>>
>> Not clear whether you've rebuilt UIMA C++ and its dependencies.
>> I've seen this happen if the annotator and SDK are running incompatible
>> ICU versions.
>> Xerces can be built with or without ICU so that may be a source of
>> incompatibility.
>>
>> Bhavani
>>
>>
>> On Fri, Aug 24, 2012 at 9:56 AM, Sylvain Surcin <su...@kwaga.com> wrote:
>>
>>> Hello Bhavani,
>>>
>>> I am using your UIMAcpp release candidate 2.4.0 R6 to create a C++
>>> linguistic annotator.
>>> I successfully integrated it under Linux (Ubuntu) in a full-scale
>>> aggregate architecture and it works fine.
>>>
>>> But now I am porting it under Windows, because some of our developpers
>>> use it.
>>> Now I am meeting a problem.
>>> I compiled the C++ linguistic annotator using Visual Studio 2010, that
>>> part is ok.
>>>
>>> But it crashes when I start using icu::UnicodeString::extract() or
>>> iostream& operator<<(iostream&, const icu::UnicodeString&).
>>> Each time I get an access violation.
>>>
>>> Do you have any idea what could be happening?
>>>
>>> Thanks for any hint,
>>> Sylvain
>>>
>>>
>>> --
>>> Sylvain SURCIN, Ph.D.
>>> *KWAGA*
>>> Senior Software Architect
>>> 15, rue Jean-Baptiste Berlier
>>> 75013 Paris
>>> France
>>> Tél.: +33 (0)1.55.43.79.20
>>>
>>>
>>>
>>>
>>
>
>
> --
> Sylvain SURCIN, Ph.D.
> *KWAGA*
> Senior Software Architect
> 15, rue Jean-Baptiste Berlier
> 75013 Paris
> France
> Tél.: +33 (0)1.55.43.79.20
>
>
>
>


-- 
Sylvain SURCIN, Ph.D.
*KWAGA*
Senior Software Architect
15, rue Jean-Baptiste Berlier
75013 Paris
France
Tél.: +33 (0)1.55.43.79.20

Re: UIMAC++ and ICU

Posted by Eddie Epstein <ea...@gmail.com>.
>From here (http://www.boost.org/doc/libs/1_51_0/libs/regex/doc/html/boost_regex/install.html)
it looks like boost has options to link to a specific ICU version. You
may ICU already installed
on your computer and then your annotator code is linking to that
version via boost
as well as the one linked to by uimacpp, as Bhavani has suggested.

On Sat, Aug 25, 2012 at 6:20 AM, Sylvain Surcin <su...@kwaga.com> wrote:
> Hi Bhavani,
>
> No I did not rebuild the UIMA C++ framework, I just reused what was already
> there is the binary version available in your directory.
>
> Perhaps it is important to know that I'm using Boost 1.51 windows
> distribution downloaded from www.boost.org.
> Perhaps there is something incompatible with the ICU shipped with UIMA C++?
>
> The Xerces I use is also the one shipped with UIMA C++, I believe.
>
> Sylvain
>
> On Sat, Aug 25, 2012 at 4:03 AM, Bhavani Iyer <bh...@gmail.com> wrote:
>
>> Sylvain
>>
>> Not clear whether you've rebuilt UIMA C++ and its dependencies.
>> I've seen this happen if the annotator and SDK are running incompatible
>> ICU versions.
>> Xerces can be built with or without ICU so that may be a source of
>> incompatibility.
>>
>> Bhavani
>>
>>
>> On Fri, Aug 24, 2012 at 9:56 AM, Sylvain Surcin <su...@kwaga.com> wrote:
>>
>>> Hello Bhavani,
>>>
>>> I am using your UIMAcpp release candidate 2.4.0 R6 to create a C++
>>> linguistic annotator.
>>> I successfully integrated it under Linux (Ubuntu) in a full-scale
>>> aggregate architecture and it works fine.
>>>
>>> But now I am porting it under Windows, because some of our developpers
>>> use it.
>>> Now I am meeting a problem.
>>> I compiled the C++ linguistic annotator using Visual Studio 2010, that
>>> part is ok.
>>>
>>> But it crashes when I start using icu::UnicodeString::extract() or
>>> iostream& operator<<(iostream&, const icu::UnicodeString&).
>>> Each time I get an access violation.
>>>
>>> Do you have any idea what could be happening?
>>>
>>> Thanks for any hint,
>>> Sylvain
>>>
>>>
>>> --
>>> Sylvain SURCIN, Ph.D.
>>> *KWAGA*
>>> Senior Software Architect
>>> 15, rue Jean-Baptiste Berlier
>>> 75013 Paris
>>> France
>>> Tél.: +33 (0)1.55.43.79.20
>>>
>>>
>>>
>>>
>>
>
>
> --
> Sylvain SURCIN, Ph.D.
> *KWAGA*
> Senior Software Architect
> 15, rue Jean-Baptiste Berlier
> 75013 Paris
> France
> Tél.: +33 (0)1.55.43.79.20

Re: UIMAC++ and ICU

Posted by Sylvain Surcin <su...@kwaga.com>.
Hi Bhavani,

No I did not rebuild the UIMA C++ framework, I just reused what was already
there is the binary version available in your directory.

Perhaps it is important to know that I'm using Boost 1.51 windows
distribution downloaded from www.boost.org.
Perhaps there is something incompatible with the ICU shipped with UIMA C++?

The Xerces I use is also the one shipped with UIMA C++, I believe.

Sylvain

On Sat, Aug 25, 2012 at 4:03 AM, Bhavani Iyer <bh...@gmail.com> wrote:

> Sylvain
>
> Not clear whether you've rebuilt UIMA C++ and its dependencies.
> I've seen this happen if the annotator and SDK are running incompatible
> ICU versions.
> Xerces can be built with or without ICU so that may be a source of
> incompatibility.
>
> Bhavani
>
>
> On Fri, Aug 24, 2012 at 9:56 AM, Sylvain Surcin <su...@kwaga.com> wrote:
>
>> Hello Bhavani,
>>
>> I am using your UIMAcpp release candidate 2.4.0 R6 to create a C++
>> linguistic annotator.
>> I successfully integrated it under Linux (Ubuntu) in a full-scale
>> aggregate architecture and it works fine.
>>
>> But now I am porting it under Windows, because some of our developpers
>> use it.
>> Now I am meeting a problem.
>> I compiled the C++ linguistic annotator using Visual Studio 2010, that
>> part is ok.
>>
>> But it crashes when I start using icu::UnicodeString::extract() or
>> iostream& operator<<(iostream&, const icu::UnicodeString&).
>> Each time I get an access violation.
>>
>> Do you have any idea what could be happening?
>>
>> Thanks for any hint,
>> Sylvain
>>
>>
>> --
>> Sylvain SURCIN, Ph.D.
>> *KWAGA*
>> Senior Software Architect
>> 15, rue Jean-Baptiste Berlier
>> 75013 Paris
>> France
>> Tél.: +33 (0)1.55.43.79.20
>>
>>
>>
>>
>


-- 
Sylvain SURCIN, Ph.D.
*KWAGA*
Senior Software Architect
15, rue Jean-Baptiste Berlier
75013 Paris
France
Tél.: +33 (0)1.55.43.79.20