omegalib
omegalib copied to clipboard
Cannot build on MacOS 10.11
When trying to build with this command: omega get master cyclops, I encountered these errors:
[ 2%] Built target omicron [ 55%] Built target FreeImage [ 60%] Built target freetype [ 66%] Built target ftgl [ 67%] Built target glew [ 80%] Built target omega [ 84%] Built target omegaToolkit [ 85%] Built target GLFW [ 86%] Built target displaySystem_GLFW [ 87%] Built target bullet [ 88%] Built target osg [ 89%] Built target osgWorks [ 91%] Built target osgBullet [ 91%] Building CXX object modules/omegaOsg/src/CMakeFiles/omegaOsg.dir/OsgDebugOverlay.cpp.o /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgDebugOverlay.cpp:201:15: error: member access into incomplete type 'const omega::DrawContext' if(context.task == DrawContext::OverlayDrawTask && ^ /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/TextureSource.h:34:12: note: forward declaration of 'omega::DrawContext' struct DrawContext; ^ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgDebugOverlay.cpp:204:36: error: member access into incomplete type 'const omega::DrawContext' DrawInterface* di = context.renderer->getRenderer(); ^ /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/TextureSource.h:34:12: note: forward declaration of 'omega::DrawContext' struct DrawContext; ^ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgDebugOverlay.cpp:210:12: error: unknown type name 'DisplayTileConfig' const DisplayTileConfig* tile = context.tile; ^ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgDebugOverlay.cpp:210:45: error: member access into incomplete type 'const omega::DrawContext' const DisplayTileConfig* tile = context.tile; ^ /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/TextureSource.h:34:12: note: forward declaration of 'omega::DrawContext' struct DrawContext; ^ 4 errors generated. make[2]: *** [modules/omegaOsg/src/CMakeFiles/omegaOsg.dir/OsgDebugOverlay.cpp.o] Error 1 make[1]: *** [modules/omegaOsg/src/CMakeFiles/omegaOsg.dir/all] Error 2 make: *** [all] Error 2
And I cannot build displaySystem_Equalizer either:
./omega get master displaySystem_Equalizer
First, I get this error which is easy to solve /bin/sh: /Users/toand/git/mivp/omegalib/omegalib/master/external/equalizer.10.11.patch: No such file or directory make[2]: *** [3rdparty/stamp/equalizer-patch] Error 1 make[1]: *** [modules/displaySystem_Equalizer/CMakeFiles/equalizer.dir/all] Error 2
After copying equalizer.10.11.patch to external:
[ 64%] Building CXX object libs/client/CMakeFiles/Equalizer.dir/aglEventHandler.cpp.o /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:69:32: error: use of undeclared identifier 'kEventWindowUpdate' { kEventClassWindow, kEventWindowUpdate }, ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:70:32: error: use of undeclared identifier 'kEventWindowDrawContent'; did you mean 'kEventWindowFocusContent'? { kEventClassWindow, kEventWindowDrawContent }, ^~~~~~~~~~~~~~~~~~~~~~~ kEventWindowFocusContent /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/CarbonEvents.h:9000:3: note: 'kEventWindowFocusContent' declared here kEventWindowFocusContent = 202 ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:86:34: error: invalid application of 'sizeof' to an incomplete type 'EventTypeSpec []' const size_t nEvents = sizeof( events ) / sizeof( EventTypeSpec ); ^~~~~~~~~~ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:92:9: error: use of undeclared identifier 'GetWindowEventTarget' InstallWindowEventHandler( carbonWindow, eventHandler, nEvents, events, ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/CarbonEvents.h:15104:29: note: expanded from macro 'InstallWindowEventHandler' InstallEventHandler( GetWindowEventTarget( target ), (handler), (numTypes), (list), (userData), (outHandlerRef) ) ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:109:13: error: use of undeclared identifier 'GetWindowEventTarget' InstallWindowEventHandler( carbonWindow, eventDispatcher, nEvents, ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/CarbonEvents.h:15104:29: note: expanded from macro 'InstallWindowEventHandler' InstallEventHandler( GetWindowEventTarget( target ), (handler), (numTypes), (list), (userData), (outHandlerRef) ) ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:120:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:205:5: error: use of undeclared identifier 'GetWindowBounds' GetWindowBounds( carbonWindow, kWindowContentRgn, &rect ); ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:221:14: error: use of undeclared identifier 'kEventWindowUpdate' case kEventWindowUpdate: ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:222:13: error: use of undeclared identifier 'BeginUpdate' BeginUpdate( carbonWindow ); ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:223:13: error: use of undeclared identifier 'EndUpdate' EndUpdate( carbonWindow ); ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:225:14: error: use of undeclared identifier 'kEventWindowDrawContent'; did you mean 'kEventWindowFocusContent'? case kEventWindowDrawContent: ^~~~~~~~~~~~~~~~~~~~~~~ kEventWindowFocusContent /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/CarbonEvents.h:9000:3: note: 'kEventWindowFocusContent' declared here kEventWindowFocusContent = 202 ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:241:33: error: use of undeclared identifier 'FrontNonFloatingWindow' if( carbonWindow == FrontNonFloatingWindow( )) ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:242:17: error: use of undeclared identifier 'SetUserFocusWindow' SetUserFocusWindow( carbonWindow ); ^ /Users/toand/git/mivp/omegalib/omegalib/master/build/3rdparty/equalizer/source/libs/client/aglEventHandler.cpp:400:32: error: use of undeclared identifier 'typeLongInteger'; did you mean 'cLongInteger'? typeLongInteger, 0, sizeof( delta ), 0, &delta ); ^~~~~~~~~~~~~~~ cLongInteger /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AERegistry.h:71:3: note: 'cLongInteger' declared here cLongInteger = 'long', /* 0x6c6f6e67 / ^ 1 warning and 13 errors generated. make[5]: ** [libs/client/CMakeFiles/Equalizer.dir/aglEventHandler.cpp.o] Error 1 make[4]: *** [libs/client/CMakeFiles/Equalizer.dir/all] Error 2 make[3]: *** [all] Error 2 make[2]: *** [3rdparty/stamp/equalizer-build] Error 2 make[1]: *** [modules/displaySystem_Equalizer/CMakeFiles/equalizer.dir/all] Error 2
I just posed a fix on the OmegaOsg module.
RE the Equalizer errors - Equalizer is not maintained on OSX (Cluster display system support is on Linux & Windows only at the moment). You can use the GLFW display system on OSX: if you are using the standard desktop configuration (system/desktop.cfg), in the display
section change
type = "Equalizer";
to
type="GLFW";
I still get errors:
[ 91%] Building CXX object modules/omegaOsg/src/CMakeFiles/omegaOsg.dir/OsgModule.cpp.o In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:36: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgModule.h:39: /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgRenderPass.h:112:13: error: use of undeclared identifier 'Stat'; did you mean 'stat'? Ref<Stat> myTriangleCountStat; ^~~~ stat /usr/include/sys/stat.h:358:5: note: 'stat' declared here int stat(const char _, struct stat *) __DARWIN_INODE64(stat); ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:36: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgModule.h:39: /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgRenderPass.h:112:13: error: template argument for template type parameter must be a type Ref<Stat> myTriangleCountStat; ^~~~ /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/ref.hpp:56:16: note: template parameter is declared here template<class T> class Ref ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:36: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgModule.h:39: /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgRenderPass.h:113:13: error: use of undeclared identifier 'Stat'; did you mean 'stat'? Ref<Stat> myCullTimeStat; ^~~~ stat /usr/include/sys/stat.h:358:5: note: 'stat' declared here int stat(const char *, struct stat *) __DARWIN_INODE64(stat); ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:36: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgModule.h:39: /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgRenderPass.h:113:13: error: template argument for template type parameter must be a type Ref<Stat> myCullTimeStat; ^~~~ /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/ref.hpp:56:16: note: template parameter is declared here template<class T> class Ref ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:36: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgModule.h:39: /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgRenderPass.h:114:13: error: use of undeclared identifier 'Stat'; did you mean 'stat'? Ref<Stat> myDrawTimeStat; ^~~~ stat /usr/include/sys/stat.h:358:5: note: 'stat' declared here int stat(const char *, struct stat *) _DARWIN_INODE64(stat); ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:36: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgModule.h:39: /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgRenderPass.h:114:13: error: template argument for template type parameter must be a type Ref<Stat> myDrawTimeStat; ^~~~ /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/ref.hpp:56:16: note: template parameter is declared here template<class T> class Ref ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:36: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgModule.h:39: /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/./omegaOsg/OsgRenderPass.h:89:70: error: cannot initialize return object of type 'omega::RenderPass *' with an rvalue of type 'omegaOsg::OsgRenderPass *' static RenderPass createInstance(Renderer* client) { return new OsgRenderPass(client, "OsgRenderPass"); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:200:5: error: cannot initialize object parameter of type 'omega::RenderPass' with an expression of type 'omegaOsg::OsgRenderPass' osgrp->setUserData(this); ^~~~~ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:201:22: error: cannot initialize a parameter of type 'omega::RenderPass ' with an lvalue of type 'omegaOsg::OsgRenderPass *' r->addRenderPass(osgrp); ^~~~~ /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/Renderer.h:67:40: note: passing argument to parameter 'pass' here void addRenderPass(RenderPass pass); ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:35: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/PixelData.h:38: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/osystem.h:41: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/otypes.h:37: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron.h:7: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/libconfig/ArgumentHelper.h:23: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/osystem.h:47: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/otypes.h:47: /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/ref.hpp:96:23: error: no matching function for call to 'intrusive_ptr_add_ref' if( px != 0 ) intrusive_ptr_add_ref( px ); ^~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/4.2.1/ext/new_allocator.h:107:20: note: in instantiation of member function 'omicron::RefomegaOsg::OsgRenderPass::Ref' requested here { ::new(__p) _Tp(__val); } ^ /usr/include/c++/4.2.1/bits/stl_list.h:455:28: note: in instantiation of member function '__gnu_cxx::new_allocatoromicron::Ref<omegaOsg::OsgRenderPass >::construct' requested here _M_get_Tp_allocator().construct(&__p->_M_data, __x); ^ /usr/include/c++/4.2.1/bits/stl_list.h:1161:24: note: in instantiation of member function 'std::listomicron::Ref<omegaOsg::OsgRenderPass, std::allocatoromicron::Ref<omegaOsg::OsgRenderPass > >::_M_create_node' requested here _Node* __tmp = _M_create_node(__x); ^ /usr/include/c++/4.2.1/bits/stl_list.h:764:15: note: in instantiation of member function 'std::listomicron::Ref<omegaOsg::OsgRenderPass, std::allocatoromicron::Ref<omegaOsg::OsgRenderPass > >::_M_insert' requested here { this->_M_insert(end(), __x); } ^ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:202:20: note: in instantiation of member function 'std::listomicron::Ref<omegaOsg::OsgRenderPass, std::allocatoromicron::Ref<omegaOsg::OsgRenderPass > >::push_back' requested here myRenderPasses.push_back(osgrp); ^ /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/otypes.h:211:17: note: candidate function not viable: no known conversion from 'omegaOsg::OsgRenderPass ' to 'omicron::ReferenceType *' for 1st argument inline void intrusive_ptr_add_ref(ReferenceType p) { p->ref(); } ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:35: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/PixelData.h:38: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/osystem.h:41: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/otypes.h:37: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron.h:7: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/libconfig/ArgumentHelper.h:23: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/osystem.h:47: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/otypes.h:47: /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/ref.hpp:72:34: error: no matching function for call to 'intrusive_ptr_add_ref' if( px != 0 && add_ref ) intrusive_ptr_add_ref( px ); ^~~~~~~~~~~~~~~~~~~~~ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:202:30: note: in instantiation of member function 'omicron::RefomegaOsg::OsgRenderPass::Ref' requested here myRenderPasses.push_back(osgrp); ^ /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/otypes.h:211:17: note: candidate function not viable: no known conversion from 'omegaOsg::OsgRenderPass ' to 'omicron::ReferenceType *' for 1st argument inline void intrusive_ptr_add_ref(ReferenceType p) { p->ref(); } ^ In file included from /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:35: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/PixelData.h:38: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/osystem.h:41: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/include/omega/otypes.h:37: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron.h:7: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/libconfig/ArgumentHelper.h:23: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/osystem.h:47: In file included from /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/otypes.h:47: /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/ref.hpp:101:23: error: no matching function for call to 'intrusive_ptr_release' if( px != 0 ) intrusive_ptr_release( px ); ^~~~~~~~~~~~~~~~~~~~~ /Users/toand/git/mivp/omegalib/omegalib/master/modules/omegaOsg/src/OsgModule.cpp:202:30: note: in instantiation of member function 'omicron::RefomegaOsg::OsgRenderPass::~Ref' requested here myRenderPasses.push_back(osgrp); ^ /Users/toand/git/mivp/omegalib/omegalib/master/src/omicron/include/omicron/otypes.h:212:17: note: candidate function not viable: no known conversion from 'omegaOsg::OsgRenderPass ' to 'omicron::ReferenceType *' for 1st argument inline void intrusive_ptr_release(ReferenceType p) { p->unref(); } ^ 12 errors generated. make[2]: *** [modules/omegaOsg/src/CMakeFiles/omegaOsg.dir/OsgModule.cpp.o] Error 1 make[1]: *** [modules/omegaOsg/src/CMakeFiles/omegaOsg.dir/all] Error 2
Thanks,