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

François Bérard francois.berard at imag.fr
Fri Jun 3 09:13:57 PDT 2016


Hi Robert,

On 03/06/16 12:43, Robert Osfield wrote:
> 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.

I agree. But it did silence the warnings on my setup too.

> 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?

nope. unzip, cmake, make. This must be a new default on my Clang (Apple 
LLVM version 7.3.0 (clang-703.0.29))

I silenced the warnings by adding:

	add_compile_options(-Wno-deprecated-register)

...at line 9 of the main CMakeLists.txt file, i.e. within the first 
IF(APPLE) block.

Doing so, the only warnings that remain are calls to deprecated OSX 
functions on 2 modules:


[ 62%] Building CXX object 
src/osgViewer/CMakeFiles/osgViewer.dir/PixelBufferCocoa.mm.o
/Users/fberard/Downloads/osg_git/distrib/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
                                  ^
/Users/fberard/Downloads/osg_git/distrib/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;
^
/Users/fberard/Downloads/osg_git/distrib/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
^
/Users/fberard/Downloads/osg_git/distrib/src/osgViewer/DarwinUtils.mm:111:26: 
warning: 'CGDisplayModeCopyPixelEncoding' is deprecated: first 
deprecated in OS X 10.11 [-Wdeprecated-declarations]
     CFStringRef pixEnc = CGDisplayModeCopyPixelEncoding(mode);
                          ^
/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDirectDisplay.h:174:34: 
note: 'CGDisplayModeCopyPixelEncoding' has been explicitly marked 
deprecated here
CG_EXTERN CFStringRef __nullable CGDisplayModeCopyPixelEncoding(
                                  ^
/Users/fberard/Downloads/osg_git/distrib/src/osgViewer/DarwinUtils.mm:421:5: 
warning: 'SetFrontProcess' is deprecated: first deprecated in OS X 10.9 
[-Wdeprecated-declarations]
     SetFrontProcess(&sn);
     ^
/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;
^




[ 62%] Building CXX object 
src/osgWrappers/deprecated-dotosg/osgParticle/CMakeFiles/osgdb_deprecated_osgparticle.dir/IO_DomainOperator.cpp.o
/Users/fberard/Downloads/osg_git/distrib/src/osgViewer/PixelBufferCocoa.mm:59:17: 
warning: 'NSOpenGLPFAPixelBuffer' is deprecated: first deprecated in OS 
X 10.7 [-Wdeprecated-declarations]
     attr[i++] = NSOpenGLPFAPixelBuffer; // for pbuffer usage
                 ^
/System/Library/Frameworks/AppKit.framework/Headers/NSOpenGL.h:88:2: 
note: 'NSOpenGLPFAPixelBuffer' has been explicitly marked deprecated here
         NSOpenGLPFAPixelBuffer NS_ENUM_DEPRECATED_MAC(10_3, 10_7) 
=  90,
         ^
/Users/fberard/Downloads/osg_git/distrib/src/osgViewer/PixelBufferCocoa.mm:75:5: 
warning: 'NSOpenGLPixelBuffer' is deprecated: first deprecated in OS X 
10.7 - Use GL_EXT_framebuffer_object instead [-Wdeprecated-declarations]
     NSOpenGLPixelBuffer* pbuffer = [[NSOpenGLPixelBuffer alloc] 
initWithTextureTarget: _traits->target textureInternalFormat: 
_traits->format textureMaxMipMapLevel: _traits->level pixelsWide: 
_traits->width pixelsHigh: _trai...
     ^
/System/Library/Frameworks/AppKit.framework/Headers/NSOpenGL.h:139:12: 
note: 'NSOpenGLPixelBuffer' has been explicitly marked deprecated here
@interface NSOpenGLPixelBuffer : NSObject
            ^
/Users/fberard/Downloads/osg_git/distrib/src/osgViewer/PixelBufferCocoa.mm:75:38: 
warning: 'NSOpenGLPixelBuffer' is deprecated: first deprecated in OS X 
10.7 - Use GL_EXT_framebuffer_object instead [-Wdeprecated-declarations]
     NSOpenGLPixelBuffer* pbuffer = [[NSOpenGLPixelBuffer alloc] 
initWithTextureTarget: _traits->target textureInternalFormat: 
_traits->format textureMaxMipMapLevel: _traits->level pixelsWide: 
_traits->width pixelsHigh: _trai...
                                      ^
/System/Library/Frameworks/AppKit.framework/Headers/NSOpenGL.h:139:12: 
note: 'NSOpenGLPixelBuffer' has been explicitly marked deprecated here
@interface NSOpenGLPixelBuffer : NSObject
            ^
/Users/fberard/Downloads/osg_git/distrib/src/osgViewer/PixelBufferCocoa.mm:75:65: 
warning: 
'initWithTextureTarget:textureInternalFormat:textureMaxMipMapLevel:pixelsWide:pixelsHigh:' 
is deprecated: first deprecated in OS X 10.7
       [-Wdeprecated-declarations]
     NSOpenGLPixelBuffer* pbuffer = [[NSOpenGLPixelBuffer alloc] 
initWithTextureTarget: _traits->target textureInternalFormat: 
_traits->format textureMaxMipMapLevel: _traits->level pixelsWide: 
_traits->width pixelsHigh: _trai...
                                                                 ^
/System/Library/Frameworks/AppKit.framework/Headers/NSOpenGL.h:155:1: 
note: 
'initWithTextureTarget:textureInternalFormat:textureMaxMipMapLevel:pixelsWide:pixelsHigh:' 
has been explicitly marked deprecated here
- (nullable instancetype)initWithTextureTarget:(GLenum)target 
textureInternalFormat:(GLenum)format 
textureMaxMipMapLevel:(GLint)maxLevel pixelsWide:(GLsizei)pixelsWide 
pixelsHigh:(GLsizei)pixelsHigh NS_DEPRECATED_MAC(10_2, 1...
^
/Users/fberard/Downloads/osg_git/distrib/src/osgViewer/PixelBufferCocoa.mm:77:15: 
warning: 'setPixelBuffer:cubeMapFace:mipMapLevel:currentVirtualScreen:' 
is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations]
     [_context setPixelBuffer: pbuffer cubeMapFace: _traits->face 
mipMapLevel:_traits->level currentVirtualScreen: 0];
               ^
/System/Library/Frameworks/AppKit.framework/Headers/NSOpenGL.h:259:1: 
note: 'setPixelBuffer:cubeMapFace:mipMapLevel:currentVirtualScreen:' has 
been explicitly marked deprecated here
- (void)setPixelBuffer:(NSOpenGLPixelBuffer *)pixelBuffer 
cubeMapFace:(GLenum)face mipMapLevel:(GLint)level 
currentVirtualScreen:(GLint)screen NS_DEPRECATED_MAC(10_3, 10_7); /* Use 
IOSurface instead of NSOpenGLPixelBuffer o...
^







> 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
> _______________________________________________
> 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