[osg-users] Preparing to make 3.5.3 dev release, please test

Robert Osfield robert.osfield at gmail.com
Fri Jun 3 03:43:12 PDT 2016


Hi François,

I have installed Clang 3.8 on my Linux dev machine and got it to
reproduce the same typeid error.  As far as I can tell this warning is
pretty bogus, effectively enforcing a personal preference of the
compiler developers rather than highlighting anything that is
ambiguous or unsupported.  Lots of other projects seem to be affected
by the same error, what the OSG is doing with typeid is pretty
standard.  The workaround seems to be to just create a local variable
which does the dereferences and then passes this on to the typeid,
I've applied this and it fixes the Clang error.  Having to write extra
code to quieten a stupid warning is pretty bad programming practice as
it can risks introducing bugs so I'm not happy doing this type of
stuff.

Despite using Clang 3.8 I don't see the second set of warnings:

[ 85%] Building CXX object
applications/osgviewer/CMakeFiles/application_osgviewer.dir/osgviewer.cpp.o
ConfigLexer.cpp:827:2: warning: 'register' storage class specifier is
deprecated [-Wdeprecated-register]
        register yy_state_type yy_current_state;

I can seen anywhere where the OSG Cmake build system is adding
-Wdeprecated-register.  Are you adding this manually?

Robert.


On 3 June 2016 at 06:01, François Bérard <francois.berard at imag.fr> wrote:
> Yup, compiles and executes fine now. But:
>
> There are tons of warnings such as:
>
> In file included from
> /Users/fberard/Downloads/osg_git/OpenSceneGraph-master/include/osg/NodeVisitor:21:
> /Users/fberard/Downloads/osg_git/OpenSceneGraph-master/include/osg/ValueMap:53:51:
> warning: expression with side effects will be evaluated despite being used
> as an operand to 'typeid'
>       [-Wpotentially-evaluated-expression]
>             if (itr!=_keyValueMap.end() &&
> typeid(*(itr->second))==typeid(UserValueObject))
>                                                   ^
> (I guess this is due to NodeVisitor being used everywhere).
>
> And also a bit of:
>
> [ 85%] Building CXX object
> applications/osgviewer/CMakeFiles/application_osgviewer.dir/osgviewer.cpp.o
> ConfigLexer.cpp:827:2: warning: 'register' storage class specifier is
> deprecated [-Wdeprecated-register]
>         register yy_state_type yy_current_state;
>         ^~~~~~~~~
>
> Also, I did a build in a temporary location (CMAKE_INSTALL_PREFIX to some
> place), but the build did not put the path or some relative paths in the
> binaries:
>
> [Downloads/osg_git] % otool -L ./bin/osgviewer
> ./bin/osgviewer:
>         libosgViewer.144.dylib (compatibility version 144.0.0, current
> version 3.5.3)
>         libosgText.144.dylib (compatibility version 144.0.0, current version
> 3.5.3)
>         libosgGA.144.dylib (compatibility version 144.0.0, current version
> 3.5.3)
>         libosgDB.144.dylib (compatibility version 144.0.0, current version
> 3.5.3)
>         /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
> (compatibility version 2.0.0, current version 157.0.0)
>         /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current
> version 1.2.8)
>         libosgUtil.144.dylib (compatibility version 144.0.0, current version
> 3.5.3)
>         libosg.144.dylib (compatibility version 144.0.0, current version
> 3.5.3)
>         libOpenThreads.20.dylib (compatibility version 20.0.0, current
> version 3.3.0)
>         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
> version 1226.10.1)
>         /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
> (compatibility version 1.0.0, current version 22.0.0)
>         /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
> (compatibility version 1.0.0, current version 1.0.0)
>         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
> version 120.1.0)
>
> So, "./osgviewer" did not work out of the box, I had to set
> DYLD_LIBRARY_PATH to point to the libraries.
>
> ccmake did warn about something that is probably related:
>
> CMake Warning (dev):
>    Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run
> "cmake
>    --help-policy CMP0042" for policy details.  Use the cmake_policy command
> to
>    set the policy and suppress this warning.
>
>    MACOSX_RPATH is not specified for the following targets:
>
>     OpenThreads
>     osg
>     osgAnimation
>     osgDB
>     osgFX
>     osgGA
>     osgManipulator
>     osgParticle
>     osgPresentation
>     osgShadow
>     osgSim
>     osgTerrain
>     osgText
>     osgUI
>     osgUtil
>     osgViewer
>     osgVolume
>     osgWidget
>
>  This warning is for project developers.  Use -Wno-dev to suppress it.
>
>
>
>
>
> On 2/6/16 18:53, Robert Osfield wrote:
>>
>> Hi François,
>>
>> I suspect the build error is down to the osgViewer:: in the
>> REGISTER_WINDOWINGSYSTEMINTERFACE line that is affecting the macro
>> expansion.  I have just checked in removal of the osgViewer:: so the
>> line now looks like:
>>
>> REGISTER_WINDOWINGSYSTEMINTERFACE(IOS,
>> ConcreteIOSWindowingSystemInterface)
>>
>> This is now checked into git master. Could you try this out?
>>
>> Robert.
>>
>>
>> On 2 June 2016 at 17:11, François Bérard<francois.berard at imag.fr>  wrote:
>>>
>>> Hello,
>>>
>>>    I just downloaded a zip from the git web site, expanded, cmake, make,
>>> and
>>> stopped on an error (see below).
>>>
>>>    This is on OSX 10.11.5, using XCode command line tools v7.3 (Apple
>>> LLVM
>>> version 7.3.0 (clang-703.0.29))
>>>
>>>    Hope this helps.
>>>
>>> [ 19%] Building CXX object
>>> src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowCocoa.mm.o
>>> In file included from
>>>
>>> /Users/fberard/Downloads/OpenSceneGraph-master/src/osgViewer/GraphicsWindowCocoa.mm:16:
>>> In file included from
>>>
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osgViewer/api/Cocoa/GraphicsWindowCocoa:40:
>>> In file included from
>>>
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osgViewer/GraphicsWindow:21:
>>> In file included from
>>>
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osgGA/GUIActionAdapter:18:
>>> In file included from
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osg/View:17:
>>> In file included from
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osg/Camera:17:
>>> In file included from
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osg/Transform:17:
>>> In file included from
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osg/Group:18:
>>> In file included from
>>>
>>> /Users/fberard/Downloads/OpenSceneGraph-master/include/osg/NodeVisitor:21:
>>> Downloads/OpenSceneGraph-master/include/osg/ValueMap:53:51: warning:
>>> expression with side effects will be evaluated despite being used as an
>>> operand to 'typeid'
>>>        [-Wpotentially-evaluated-expression]
>>>              if (itr!=_keyValueMap.end()&&
>>> typeid(*(itr->second))==typeid(UserValueObject))
>>>                                                    ^
>>>
>>> Downloads/OpenSceneGraph-master/src/osgViewer/GraphicsWindowCocoa.mm:1715:14:
>>> warning: 'GetCurrentProcess' is deprecated: first deprecated in OS X 10.9
>>>        [-Wdeprecated-declarations]
>>>          if (!GetCurrentProcess(&psn)) {
>>>               ^
>>>
>>> /System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:415:1:
>>> note: 'GetCurrentProcess' has been explicitly marked deprecated here
>>> MacGetCurrentProcess(ProcessSerialNumber * PSN)
>>>
>>> AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9;
>>> ^
>>>
>>> /System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:412:34:
>>> note: expanded from macro 'MacGetCurrentProcess'
>>>      #define MacGetCurrentProcess GetCurrentProcess
>>>                                   ^
>>>
>>> Downloads/OpenSceneGraph-master/src/osgViewer/GraphicsWindowCocoa.mm:1717:13:
>>> warning: 'SetFrontProcess' is deprecated: first deprecated in OS X 10.9
>>> [-Wdeprecated-declarations]
>>>              SetFrontProcess(&psn);
>>>              ^
>>>
>>> /System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:603:1:
>>> note: 'SetFrontProcess' has been explicitly marked deprecated here
>>> SetFrontProcess(const ProcessSerialNumber * PSN)
>>>
>>> AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9;
>>> ^
>>>
>>> Downloads/OpenSceneGraph-master/src/osgViewer/GraphicsWindowCocoa.mm:1726:29:
>>> warning: incompatible pointer types sending 'CocoaAppDelegate *' to
>>> parameter of type
>>>        'id<NSFileManagerDelegate>  _Nullable'
>>> [-Wincompatible-pointer-types]
>>>          [NSApp setDelegate: [[CocoaAppDelegate alloc] init] ];
>>>                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> /usr/include/objc/NSObject.h:60:1: note: instance method 'init' is
>>> assumed
>>> to return an instance of its receiver type ('CocoaAppDelegate *')
>>> - (instancetype)init
>>> ^
>>>
>>> Downloads/OpenSceneGraph-master/src/osgViewer/GraphicsWindowCocoa.mm:1833:1:
>>> error: use of undeclared identifier 's_proxy_osgViewer'
>>> REGISTER_WINDOWINGSYSTEMINTERFACE(Cocoa,
>>> osgViewer::CocoaWindowingSystemInterface)
>>> ^
>>> Downloads/OpenSceneGraph-master/include/osg/GraphicsContext:599:58: note:
>>> expanded from macro 'REGISTER_WINDOWINGSYSTEMINTERFACE'
>>>      static osg::WindowingSystemInterfaceProxy<classname>
>>> s_proxy_##classname(#ext);
>>>                                                           ^
>>> <scratch space>:80:1: note: expanded from here
>>> s_proxy_osgViewer
>>> ^
>>> 4 warnings and 1 error generated.
>>> make[2]: ***
>>> [src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowCocoa.mm.o] Error 1
>>> make[1]: *** [src/osgViewer/CMakeFiles/osgViewer.dir/all] Error 2
>>> make: *** [all] Error 2
>>>
>>>
>>>
>>> On 02/06/16 17:10, Robert Osfield wrote:
>>>>
>>>> Hi All,
>>>>
>>>> I spent the majority of May catching up with submissions and bug fixes
>>>> and now in June I'd like to start moving towards getting a stable
>>>> release out the door - this will 3.6.0.
>>>>
>>>> The first step along this way is the 3.5.3 dev release which wraps up
>>>> all the recent work that been checked into git master.  Before I tag
>>>> this I would appreciate build and runtime testing by members of the
>>>> community on as wide range of platforms as you can lay your hands on
>>>> so I we resolve these issues prior to tagging the 3.5.3 release.
>>>>
>>>> If things work or fail please report here on this thread so I know how
>>>> things are converging.
>>>>
>>>> Thanks for your help,
>>>> Robert.
>>>> _______________________________________________
>>>> osg-users mailing list
>>>> osg-users at lists.openscenegraph.org
>>>>
>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



More information about the osg-users mailing list