uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David García <david.garc...@barcelonamedia.org>
Subject Re: [UIMA C++ Framework] making examples
Date Thu, 12 Aug 2010 08:57:53 GMT
  Hi Eddie,

sorry, I fixed that error. It was a problem with the path in UIMACPP_HOME.

The error I get is:

Caused by: org.apache.uima.uimacpp.UimacppException: null;
         org.apache.uima.uimacpp.InternalTafException:
Error number  : 1005
Recoverable   : No
Error         : : typeSystemInit() Error getting Type objects
  (1005)
         at 
org.apache.uima.uimacpp.UimacppEngine.throwJTafException(UimacppEngine.java:499)
         at 
org.apache.uima.uimacpp.UimacppEngine.initialize(UimacppEngine.java:262)
         at 
org.apache.uima.uimacpp.UimacppEngine.createJTafTAE(UimacppEngine.java:226)
         at 
org.apache.uima.uimacpp.UimacppAnalysisComponent.initialize(UimacppAnalysisComponent.java:152)
         ... 23 more


As I told you in a previous mail, I implemented the component in C++, 
created the proper descriptor file for a C++ component. Then, I created 
a UIMA Java Eclipse project, and I generated the Type System Definition 
by clicking on JCasGen button in Type System tab of the Component 
Descriptor. Next, I generated the pear from this Eclipse Java project, 
installed it and run the pipeline with the C++ component together with 
other Java UIMA components.

Regards,
David

El 12/08/2010 10:23, David García escribió:
>    Hi Eddie,
>
> you were right. Now the C++ component is being used by the UIMA pipeline.
>
> Now, when I launch the UIMA pipeline, I still get a
> ResourceInitializationException. The message reads:
>
> java.lang.UnsatisfiedLinkError: no uima in java.library.path
>
> Eventually, I have tested the component by implementing it in Java and
> reducing its functionality, in order to check if the descriptor was
> causing this error.
> In Java it works right, but, I got this very same error when, adapting
> the descriptor file to Java, I forgot to change tag
> <frameworkImplementation>org.apache.uima.cpp</frameworkImplementation>
> to
> <annotatorImplementationName>org.barcelonamedia.uima.DeSRAnnotator</annotatorImplementationName>
>
>
> Regards,
> David
>
> El 10/08/2010 13:51, Eddie Epstein escribió:
>> Hi David,
>>
>> The LD_LIBRARY_PATH should only include directories, not specific
>> files. Try removing DeSR.so from the path.
>>
>> Eddie
>>
>>
>> On Tue, Aug 10, 2010 at 5:37 AM, David García
>> <david.garcian@barcelonamedia.org>   wrote:
>>>    Hi,
>>>
>>> testing the C++ UIMA annotator I implemented in a UIMA pipeline with other
>>> Java UIMA components, I got following error, caused by a
>>> ResourceInitializationException:
>>>
>>>
>>> Caused by: org.apache.uima.uimacpp.UimacppException: null;
>>>          org.apache.uima.uimacpp.InternalTafException:
>>> Error number  : 2001
>>> Recoverable   : No
>>> Error         : Error loading annotator 'DeSR'.
>>> '/usr/local/share/uima/pipelines/DeSR/installed_pears/DeSR/DeSR.so:
>>> undefined symbol: _ZTVN4Tanl14MorphExtractorE'
>>>     While      : Error loading annotator '???'. '???'
>>>    (2001)
>>>          at
>>> org.apache.uima.uimacpp.UimacppEngine.throwJTafException(UimacppEngine.java:499)
>>>          at
>>> org.apache.uima.uimacpp.UimacppEngine.initialize(UimacppEngine.java:262)
>>>          at
>>> org.apache.uima.uimacpp.UimacppEngine.createJTafTAE(UimacppEngine.java:226)
>>>          at
>>> org.apache.uima.uimacpp.UimacppAnalysisComponent.initialize(UimacppAnalysisComponent.java:152)
>>>
>>>
>>> I have setted all the environment variables required by UIMA SDK:
>>>
>>> export UIMACPP_HOME=/home/d/uimacpp/uimacpp
>>> export PATH=$PATH:$UIMACPP_HOME/bin
>>> export LD_LIBRARY_PATH=$UIMACPP_HOME/lib
>>> export
>>> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/share/uima/pipelines/DeSR/installed_pears/DeSR/DeSR.so
>>>
>>>
>>> It seems the UIMA pipeline can't load the C++ component. Am I doing anything
>>> wrong?
>>>
>>>
>>> Regards,
>>> David
>>>
>>> El 06/08/2010 13:24, Eddie Epstein escribió:
>>>> Hi David,
>>>>
>>>> A C++ annotator is intended to be fully interoperable with those
>>>> written in Java. That is, it can access feature structures found in
>>>> the CAS and create new FS in the CAS. The type system of the CAS is
>>>> the superset of types defined by all annotators, including any C++
>>>> components.
>>>>
>>>> So yes, you can use eclipse and integrate both java and c++ components.
>>>>
>>>> Regards,
>>>> Eddie
>>>>
>>>> On Fri, Aug 6, 2010 at 3:35 AM, David García
>>>> <david.garcian@barcelonamedia.org>    wrote:
>>>>>    Hi Eddie,
>>>>>
>>>>> this C++ UIMA annotator needs previous Java UIMA annotators annotations,
>>>>> as
>>>>> this C++ UIMA annotator needs them to work with.
>>>>> But this types are implemented by means of Java classes, as these
>>>>> previous
>>>>> UIMA annotators are implemented in Java.
>>>>> So my question is whether once I have developed this C++ UIMA annotator,
>>>>> generated the dynamic library, and composed the pipeline will work.
>>>>>
>>>>> Moreover, this C++ UIMA annotator has its own type, which should be
>>>>> implemented, and I neither know if this implementation could be done
in
>>>>> Java
>>>>> or should be in C++.
>>>>>
>>>>> My idea is to develop the annotator in C++, and afterwards, generate
its
>>>>> own
>>>>> type automatically from its descriptor in an Eclipse UIMA Java project.
>>>>> Is
>>>>> this correct?
>>>>>
>>>>>
>>>>> David
>>>>>
>>>>> El 05/08/2010 14:40, Eddie Epstein escribió:
>>>>>> Hi David,
>>>>>>
>>>>>> Capabilities for any annotator should only declare the input types
>>>>>> needed by that annotator and the output types generated by that
>>>>>> annotator. Why would you need types from other annotators?
>>>>>>
>>>>>> Eddie
>>>>>>
>>>>>> On Thu, Aug 5, 2010 at 6:48 AM, David García
>>>>>> <david.garcian@barcelonamedia.org>      wrote:
>>>>>>>    Hi,
>>>>>>>
>>>>>>> I have a doubt regarding UIMA C++ annotator.
>>>>>>> I'm developing a C++ annotator to be combined within a UIMA pipeline
>>>>>>> with
>>>>>>> other Java annotators. The point is this C++ annotator requires,
as
>>>>>>> input
>>>>>>> capabilities, another Java annotator annotations.
>>>>>>> My question is whether it is necessary to translate to C++ the
input
>>>>>>> capability types defined in Java by the ohter Java annotators,
as well
>>>>>>> as
>>>>>>> the C++ annotator types.
>>>>>>>
>>>>>>> My idea is to develop the C++ annotator, generating the dynamic
>>>>>>> library,
>>>>>>> and
>>>>>>> afterwards, create an Eclipse UIMA project by using the proper
>>>>>>> descriptor
>>>>>>> for the C++ UIMA annotator. Then, in this UIMA project, include
the
>>>>>>> Java
>>>>>>> types required for the C++ UIMA annotator as well as its own
types.
>>>>>>>
>>>>>>> Am I wrong, or would it be correct?
>>>>>>>
>>>>>>>
>>>>>>> David
>>>>>>>
>>>>>>> El 22/07/2010 10:02, David García escribió:
>>>>>>>>     It was version problem. Now it works.
>>>>>>>>
>>>>>>>> Thank you Eddie.
>>>>>>>>
>>>>>>>>
>>>>>>>> David
>>>>>>>>
>>>>>>>> El 21/07/2010 20:34, Eddie Epstein escribió:
>>>>>>>>> Probably a mismatch between 32 and 64-bit versions.
>>>>>>>>>
>>>>>>>>> To confirm, use the "file" command on DaveDetector.o
and on
>>>>>>>>> uimacpp/lib/libuima.so
>>>>>>>>>
>>>>>>>>> UIMACPP binary packages come in both flavors for Linux,
so if this is
>>>>>>>>> the problem, get the other one.
>>>>>>>>>
>>>>>>>>> One other solution if your OS is 64-bit and the uimacpp
package is
>>>>>>>>> 32-bit: modify uimacpp/lib/base.mak to force all compiles
to be
>>>>>>>>> 32-bit.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Eddie
>>>>>>>>>
>>>>>>>>> On Wed, Jul 21, 2010 at 4:00 AM, David García
>>>>>>>>> <david.garcian@barcelonamedia.org>         wrote:
>>>>>>>>>>     Thanks for your answer Eddie. You are right,
the include
>>>>>>>>>> of<memory>
>>>>>>>>>> must
>>>>>>>>>> be setted before "uima/api.hpp" include.
>>>>>>>>>>
>>>>>>>>>> Now when I make the DaveDetector example ( make -f
DaveDetector.mak
>>>>>>>>>> )
>>>>>>>>>> I
>>>>>>>>>> get
>>>>>>>>>> following error message:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> /usr/bin/ld: skipping incompatible
>>>>>>>>>> /home/david.garcian/uimacpp/uimacpp/lib/libuima.so
when searching
>>>>>>>>>> for
>>>>>>>>>> -luima
>>>>>>>>>> /usr/bin/ld: cannot find -luima
>>>>>>>>>> collect2: ld returned 1 exit status
>>>>>>>>>> make: *** [DaveDetector.so] Error 1
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> It says libuima.so is icompatible. Does it have anything
to do with
>>>>>>>>>> the
>>>>>>>>>> version of Linux or gcc?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> David
>>>>>>>>>>
>>>>>>>>>> El 19/07/2010 15:13, Eddie Epstein escribió:
>>>>>>>>>>> If you add the include to DaveDetector.cpp, it
must be before
>>>>>>>>>>> the include of uima/api.hpp. A better way to
go would be to
>>>>>>>>>>> put the include of<memory>           into
>>>>>>>>>>> lowlevel_internal_indexes.hpp
>>>>>>>>>>>
>>>>>>>>>>> Eddie
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jul 19, 2010 at 3:01 AM, David García
>>>>>>>>>>> <david.garcian@barcelonamedia.org>    
      wrote:
>>>>>>>>>>>>     Hi Eddie,
>>>>>>>>>>>>
>>>>>>>>>>>> I have tried adding "#include<memory>",
but I've got the same
>>>>>>>>>>>> error
>>>>>>>>>>>> message.
>>>>>>>>>>>>
>>>>>>>>>>>> I've also tried using gcc version 4.3.4 and
I've also got the same
>>>>>>>>>>>> error.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> David
>>>>>>>>>>>>
>>>>>>>>>>>> El 16/07/2010 19:44, Eddie Epstein escribió:
>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>
>>>>>>>>>>>>> More recent versions of g++ are always
getting stricter.
>>>>>>>>>>>>> Try adding
>>>>>>>>>>>>> #include<memory>
>>>>>>>>>>>>> to DaveDetector.cpp.
>>>>>>>>>>>>>
>>>>>>>>>>>>> A goal for uimacpp annotators is that
they be portable, meaning
>>>>>>>>>>>>> that
>>>>>>>>>>>>> the annotator code and any non-standard
dependencies could be
>>>>>>>>>>>>> packaged
>>>>>>>>>>>>> together, and installed anyplace on a
target system.
>>>>>>>>>>>>> LD_LIBRARY_PATH
>>>>>>>>>>>>> is very useful for this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The alternative is to install uimacpp
and it's dependencies in
>>>>>>>>>>>>> some
>>>>>>>>>>>>> standard system directory, but this would
require root access.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Eddie
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Jul 15, 2010 at 8:04 AM, David
García
>>>>>>>>>>>>> <david.garcian@barcelonamedia.org>
            wrote:
>>>>>>>>>>>>>>     Hi all,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am trying to use uimacpp, Linux
version, but I have got
>>>>>>>>>>>>>> problems
>>>>>>>>>>>>>> making
>>>>>>>>>>>>>> C++ examples.
>>>>>>>>>>>>>> I follow README instructions, and
when I do:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> make -f DaveDetector.mak
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I get following error:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> /uimacpp/include/uima/lowlevel_internal_indexes.hpp:
In member
>>>>>>>>>>>>>> function
>>>>>>>>>>>>>> ‘virtual void
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> uima::lowlevel::internal::CachedCompositeIndex<T>::clearAndFillCache()’:
>>>>>>>>>>>>>> /uimacpp/include/uima/lowlevel_internal_indexes.hpp:348:
error:
>>>>>>>>>>>>>> ‘auto_ptr’
>>>>>>>>>>>>>> was not declared in this scope
>>>>>>>>>>>>>> /uimacpp/include/uima/lowlevel_internal_indexes.hpp:348:
error:
>>>>>>>>>>>>>> expected
>>>>>>>>>>>>>> primary-expression before ‘>’
token
>>>>>>>>>>>>>> /uimacpp/include/uima/lowlevel_internal_indexes.hpp:348:
error:
>>>>>>>>>>>>>> there
>>>>>>>>>>>>>> are
>>>>>>>>>>>>>> no
>>>>>>>>>>>>>> arguments to ‘apit’ that depend
on a template parameter, so a
>>>>>>>>>>>>>> declaration
>>>>>>>>>>>>>> of
>>>>>>>>>>>>>> ‘apit’ must be available
>>>>>>>>>>>>>> /uimacpp/include/uima/lowlevel_internal_indexes.hpp:348:
note:
>>>>>>>>>>>>>> (if
>>>>>>>>>>>>>> you
>>>>>>>>>>>>>> use
>>>>>>>>>>>>>> ‘-fpermissive’, G++ will accept
your code, but allowing the use
>>>>>>>>>>>>>> of
>>>>>>>>>>>>>> an
>>>>>>>>>>>>>> undeclared name is deprecated)
>>>>>>>>>>>>>> /uimacpp/include/uima/lowlevel_internal_indexes.hpp:349:
error:
>>>>>>>>>>>>>> ‘apit’
>>>>>>>>>>>>>> was
>>>>>>>>>>>>>> not declared in this scope
>>>>>>>>>>>>>> make: *** [DaveDetector.o] Error
1
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am using gcc version 4.4.1 (Ubuntu
4.4.1-4ubuntu9).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Am I doing something wrong?
>>>>>>>>>>>>>> I have also found that it is not
a good practise to use
>>>>>>>>>>>>>> LD_LIBRARY_PATH
>>>>>>>>>>>>>> env
>>>>>>>>>>>>>> variable. Is this correct?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks in advanced,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> David
>>>>>>>>>>>>>>

Mime
View raw message