Hi, I already cross-referenced the ldd-output of libuima and libopencv_core. There are some common dependencies (I got a list on my other computer), but there are no version differences. Also, if I'm not mistaken, libs pulled in with dlopen won't even appear in ldd's output, right? Therefore, I also combed through the code to check if maybe UIMA and OpenCV dlopen the same libs. As far as I can tell, this is not the case.
Peter On 02/18/2014 02:22 PM, Eddie Epstein wrote: > UIMA-C++ uses several libraries including APR, ICU and xercesc. Does OpenCV > drag in any of these at different version levels? > > Eddie > > > On Tue, Feb 18, 2014 at 6:34 AM, Peter Retzlaff <[email protected]>wrote: > >> Hello, >> >> we are working on a UIMA project with several C++-Analysis Engines >> (UIMA-AS 2.4 + UIMACPP 2.4). For a while now, we've been getting this >> error message, when one of these AEs exits: >> >> Inconsistency detected by ld.so: dl-close.c: 759: _dl_close: Assertion >> `map->l_init_called' >> >> In particular, this happens with AEs that use OpenCV. I have constructed >> a toy example that does nothing, except defining an Annotator, linking >> it against OpenCV and UIMA and executing it with runAECpp. >> >> The error message seems to be related to the fact, that some calls to >> dlclose happen in library destructors which are called _after_ all >> dynamically loaded libraries have been unloaded. (see >> https://bugzilla.novell.com/show_bug.cgi?id=622977, for example) >> >> So this error might not be specific to UIMA, but what's baffling me is >> that it only occurs, when UIMA and OpenCV are both linked into the lib. >> Linking either one of them on it's own doesn't produce the error message. >> >> Has anyone ever seen this problem with C++-AEs before? I'm desperately >> looking for any pointers or hints, how this problem could be resolved. >> >> Thanks and best regards >> Peter >> >> >> P.S.: This is the test code I use: >> TestAnnotator.cpp: >> "#include "uima/api.hpp" >> using namespace uima; >> >> class TestAnnotator: public Annotator { >> }; >> // This macro exports an entry point that is used to create the annotator. >> >> MAKE_AE( TestAnnotator); >> " >> >> Makefile: >> " >> UIMACPP_HOME=/opt/apache-uima-as/uimacpp >> UIMA_HOME=/opt/apache-uima-as >> TARGET_FILE=TestAnnotator >> OBJS=TestAnnotator.o >> USER_LINKFLAGS=/usr/local/lib/libopencv_core.so.2.4.3-1 >> DEBUG=1 >> DLL_BUILD=1 >> >> all: >> # include file with generic compiler instructions >> include $(UIMACPP_HOME)/lib/base.mak >> >> Executing it with: >> /opt/apache-uima-as/uimacpp/bin/runAECpp ./TestAnnotatorAE.xml -x >> testdata/cas.xml . >> >> >
signature.asc
Description: OpenPGP digital signature
