[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