certi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [certi-dev] [SOLVED] Unable to create RTI ambassador


From: Eric Noulard
Subject: Re: [certi-dev] [SOLVED] Unable to create RTI ambassador
Date: Wed, 14 Sep 2011 10:20:49 +0200

2011/9/14 Jan-Patrick Osterloh <address@hidden>:
> Am 13.09.2011 18:29, schrieb Eric Noulard:
>>
>>> After some heavy debugging in DependencyWalker (I figured out a
>>> Profiling Method, which profiles the loading of dlls etc during runtime
>>> of an executable), I finally found the problem (by accident). X-Plane
>>> loads itself a lot of dlls. If a program has loaded a DLL, then it is
>>> not loaded again by another DLL in this program. Unfortunately, X-Plane
>>> found some DLLs in another path which are also needed by RTIA,
>> Do you have the list of those DLL?
>> RTIA shouldn't depend on much beside CERTI dlls and MSVCRT.dll?
>
> I figured out, that the following DLLs are needed to be in CERTI path:
> - iconv.dll
> - ieshims.dll
> - libgcc_s_dw2-1.dll
> - libxml2.dll
> - zlib1.dll
>
> iconc and zlib1 are mainly dependencies of libxml2, and it seems that
> certi.dll is dependent on libxml2.

This list looks OK.
libxml2 is only needed for xml FOM file, if you use 1.3 fed file you may compile
CERTI without libxml2 dependency.

> Other dependencies are LIBSTDC++-6.DLL, WS2_32.DLL and MSVCRT, but these
> are not found in other directories, and is working therefore.
>
> If you wish, I can send you the whole DependencyWalker output as txt file.

Yes it would be nice.
May be opening a small bug report about that and attach the file could be nice
I'll close the bug that but it would stay in there for the record.
The ML is archived but having 2 ways to find this kind of information
may be useful
to others.

>> May be we can build RTIA with some static lib (those which are in conflict)
>> in order to avoid such bug hunting safari.
>>
>>> such they got loaded. And this DLLs where incompatible with RTIA, so it 
>>> crashed
>>> immediately when started. I solved the problem now, by adding all DLLs
>>> that are needed by RTIA into the CERTI/bin folder.
>> On unix we can use RPATH
>> http://www.vtk.org/Wiki/CMake_RPATH_handling
>> [see CERTI CMakeLists.txt option USE_FULL_RPATH]
>>
>> to solve this DLL mismatch but apparently there is no such feature on 
>> windows:
>> http://stackoverflow.com/questions/107888/is-there-a-windows-msvc-equivalent-to-the-rpath-linker-flag
>
> No, unfortunately not.

Since our only "external" deps is libxml2 we can try to link libxml2
(and its deps) statically
that way you won't have to fiddle with DLL copy here and there.


-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]