Hi Torben,

Changing upstream projects is only possible in limited cases, so in
general I'd look for ways to make the CMake build system ideally
auto-detect what is required for each platform combination.  One thing
you need to be careful of is that even on one single operating system
version users can install different versions of dependencies, all of
which the OSG might be capable of supporting if given the right build
options.  Some of the recent things problems with stuff I've merged
(including form you) have caused problems because they add support for
a new 3rd party depdencies/build tool combination, but break support
for older but still in use combinations.

It's not easy walking this tight-rope of maintain compatibility, it's
just something we need to be hyper aware of when proposing new
changes.

Robert.

On 23 May 2017 at 10:00, Torben Dannhauer <tor...@dannhauer.info> wrote:
> Hi Robert,
>
> Finally I got some minutes to retry the NVTT plugin compilation on windows.
>
> The environment was defined as:
> - Current OSG master
> - Standard NVTT package downloaded form the internet and compiled as 
> described in its documentation.
> - cmake used to generate VS 2017 solution
>
> After generating the solution I compiled it in VS 2017 and it failed with the 
> below mentioned linker errors.
>
> A solution for the windows side could be to extend OSG nvtt plugin to link 
> also against the missing libraries.
> However, you discovered that these libraries are non existent on your dev 
> machine.
>
> This leed to the assumption that the additional dependencies are already 
> linkt into nvtt library on linux, but they are not linked in on windows.
>
> So we need to decide which solution we try to achieve:
> a) Try change the upstream project/dist-packages to make the build results of 
> linux and windows comparable (e.g. link all dependencies already into nvtt 
> during nvtt compilation, on both windows and linux)
> b) Leave the upsream project/packages untouched and address solution in OSG 
> nvtt plugin. Since linux is fine already, apply these changes only to the 
> windows part (e.g. in cmake using guards)
>
>
> What solution do you prefer?
>
> Thanks,
> Torben
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: osg-submissions 
> [mailto:osg-submissions-boun...@lists.openscenegraph.org] Im Auftrag von 
> Torben Dannhauer
> Gesendet: Freitag, 12. Mai 2017 13:04
> An: 'OpenSceneGraph Submissions' <osg-submissions@lists.openscenegraph.org>
> Betreff: Re: [osg-submissions] missed submission? 3rdParty Package - NVTT 
> updates
>
> Hi Robert,
>
> maybe we talked over cross: Of course we should only merge changes working 
> for all. But I can only provide the windows side. Someone else has to extend 
> it with all required changes to the linux side tio make it compilable.
>
> I'll give it a last shot and call you back.
> Torben
>
> -----Ursprüngliche Nachricht-----
> Von: osg-submissions 
> [mailto:osg-submissions-boun...@lists.openscenegraph.org] Im Auftrag von 
> Robert Osfield
> Gesendet: Freitag, 12. Mai 2017 12:50
> An: OpenSceneGraph Submissions <osg-submissions@lists.openscenegraph.org>
> Betreff: Re: [osg-submissions] missed submission? 3rdParty Package - NVTT 
> updates
>
> Hi Torben,
>
> I'm happy to merge changes to solve platform specific build problems but 
> obviously not ones that fix one build combination but break others.
>
> In the case of the libs that are required for your build combination they 
> would need to be made optional.  I would suggest having a single variable 
> that the CMakeLists.txt includes then have FindNVTT.cmake work out what 
> should go into this depending upon what is available/required.
>
> Robert.
>
> On 12 May 2017 at 11:40, Torben Dannhauer <tor...@dannhauer.info> wrote:
>> Hi Robert,
>>
>> with the default nvtt package downloadable from the internet, it is
>> not possible to compile nvtt plugin in OSG with windows. It fails
>> during linking, sine it misses some symbols from the below libraries.
>>
>> We have two options to fix it:
>> a) change the nvtt buildscripts so it links all required library
>> already when building the nvtt libraries. -> OSG can use them without
>> changing anything in OSG.
>> b) adapt OSG  (nvtt plugin) to link also against the require
>> additional libraries.
>>
>> I think we should go for b) as I always try to change external
>> projects only on a good reason (e.g. true bugfixes).
>> Of course my changes always reflect only the windows parts since I do
>> not develop on linux.
>>
>> I dont have all details on my stack after some month, but I can retry
>> it and give you specific feedback when we try to come to a decision
>> within next days to close this issue.
>>
>> What do you think?
>>
>> Torben
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: osg-submissions
>> [mailto:osg-submissions-boun...@lists.openscenegraph.org] Im Auftrag
>> von Robert Osfield
>> Gesendet: Freitag, 12. Mai 2017 12:29
>> An: OpenSceneGraph Submissions
>> <osg-submissions@lists.openscenegraph.org>
>> Betreff: Re: [osg-submissions] missed submission? 3rdParty Package -
>> NVTT updates
>>
>> Hi Torben,
>>
>> I applied your modified CMakeLists.txt, but didn't need to with the
>> FindNVTT.cmake as it was identical to the one OSG master already.
>> Then I did a build and get the error:
>>
>> CMake Error: The following variables are used in this project, but
>> they are set to NOTFOUND.
>> Please set them or make sure they are set and tested correctly in the
>> CMake
>> files:
>> NVBC6H_LIBRARY
>>     linked by target "osgdb_nvtt" in directory
>> /home/robert/OpenSceneGraph/src/osgPlugins/nvtt
>> NVBC7_LIBRARY
>>     linked by target "osgdb_nvtt" in directory
>> /home/robert/OpenSceneGraph/src/osgPlugins/nvtt
>> NVSQUISH_LIBRARY
>>     linked by target "osgdb_nvtt" in directory
>> /home/robert/OpenSceneGraph/src/osgPlugins/nvtt
>> NVTHREAD_LIBRARY
>>     linked by target "osgdb_nvtt" in directory
>> /home/robert/OpenSceneGraph/src/osgPlugins/nvtt
>>
>> Reverting the src/osgPlugins/nvtt/CMakeLists.txt fixes the build.
>>
>> My dev system is Kubuntu 16.04.  The NVTT_LIBRARY is found just fine,
>> the plugin builds OK, but NVSQUISH* and NVTHREAD* are all *-NOTFOUND.
>>
>> The /usr/include/nvtt.h file has #define NVTT_VERSION 200 in it.
>>
>> Your changes clearly aren't safe to merge as is.  What specific
>> problem were you trying to fix?
>>
>> Robert.
>> _______________________________________________
>> osg-submissions mailing list
>> osg-submissions@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.
>> org
>>
>> _______________________________________________
>> osg-submissions mailing list
>> osg-submissions@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscene
>> graph.org
> _______________________________________________
> osg-submissions mailing list
> osg-submissions@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
> _______________________________________________
> osg-submissions mailing list
> osg-submissions@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
> _______________________________________________
> osg-submissions mailing list
> osg-submissions@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
_______________________________________________
osg-submissions mailing list
osg-submissions@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to