[osg-users] [SPAM] Re: Latest SVN: problems with PluginswithoutManifests

Wojciech Lewandowski lewandowski at ai.com.pl
Thu Dec 13 07:53:38 PST 2007


Thank You, Now I have the big picture ;-) 
Wojtek
  ----- Original Message ----- 
  From: Serge Lages 
  To: OpenSceneGraph Users 
  Sent: Thursday, December 13, 2007 4:35 PM
  Subject: Re: [osg-users] [SPAM] Re: Latest SVN: problems with PluginswithoutManifests


  Hi Wojtek,


  On Dec 13, 2007 4:11 PM, Wojciech Lewandowski <lewandowski at ai.com.pl> wrote:

    Roger,
    I totally agree with you that manifests should probably stay in plugins. I made my research out of curiosity. 

    I may add that indeed this mechanism looks like you described. Its interesting though that problem does disappear only if the executable loaded MSVCRT DLLs. If they were not loaded by exe but instead loaded later in DLL loading cascade - problem still remained. That was the case with our original app. Exe was built with static linking. It was loading our aditional DLL modules dynamically (through LoadLibrary). These module were using the same shared MSVCRT DLL libs and OSG libs as OSG Plugins. So when these modules loaded, proper MSVCRT DLLs were loaded as well. But even after loading these modules attempts to read some media with osgDB plugins produced error messages.   

    On a side note, I have problems in understanding why removing manifest from plugins could save users time if main libs were still built with manifests embeded and thus we sitll got the dependecy. Of course its feasible to build some application using former version of OSG and former MSVCRT and later update OSG plugins only. But who would do this ? It seems highly rare and unprobable in practice. But heck, what do I know ? People do so many strange things with computers these days ;-)


  Removing manifest helps when you want to redistribute an OSG application without asking to the users to install the MS redistributable package. Removing it from the plugins and not the core dlls is done because the plugins are distributed into a separated folder, if you don't remove the manifests, you have to put in each folders where dlls are located a copy of the CRT dlls, without manifests, you only need to put the CRT dlls into the executable folder. 

  Of course it's not a common usage, that's why now the manifests are build by default. :)
   
    But I suspect that such Plugins in some way would still depend on MSVCRT lib which was used to build them. If they would work that would be great, but if they would crash no one would be able to find that the reason that was incompatibilty in runtime libs (back to the DLL hell ;-).


    Regards,
    Wojtek

    __________________________________________
    osg-users mailing list
    osg-users at lists.openscenegraph.org
    http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20071213/6008b6ac/attachment.html 


More information about the osg-users mailing list