CEGUI 0.8.2 Build Error on OSX - OpenGL3Renderer

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

Sonblind
Just popping in
Just popping in
Posts: 4
Joined: Mon Jun 24, 2013 00:25

CEGUI 0.8.2 Build Error on OSX - OpenGL3Renderer

Postby Sonblind » Mon Jun 24, 2013 00:54

I am on OSX 10.8.4 using Xcode 4.6.3. I tried to compile the default settings via the command line as in the Youtube tutorial with:

Code: Select all

cmake -G Xcode

then

Code: Select all

xcodebuild -configuration Debug -jobs 2


I get an error saying that the OpenGL3Renderer destructor is declared private. Am I doing something wrong?

Code: Select all

struct OpenGL3Renderer_wrapper : CEGUI::OpenGL3Renderer, bp::wrapper< CEGUI::OpenGL3Renderer > {
                                 ^~~~~~~~~~~~~~~~~~~~~~
/Users/Sam/cegui-0.8.2/cegui/include/CEGUI/RendererModules/OpenGL/GL3Renderer.h:255:13: note: declared private here
    virtual ~OpenGL3Renderer();
            ^
/Users/Sam/cegui-0.8.2/cegui/src/ScriptModules/Python/bindings/output/CEGUIOpenGLRenderer/OpenGL3Renderer.pypp.cpp:15:43: note: implicit default destructor for 'OpenGL3Renderer_wrapper' first required here
            this->CEGUI::OpenGL3Renderer::beginRendering(  );
                                          ^
1 error generated.


Code: Select all

** BUILD FAILED **


The following build commands failed:
   CompileC build/cegui/src/ScriptModules/Python/bindings/cegui.build/Release/PyCEGUIOpenGLRenderer.build/Objects-normal/x86_64/OpenGL3Renderer.pypp.o cegui/src/ScriptModules/Python/bindings/output/CEGUIOpenGLRenderer/OpenGL3Renderer.pypp.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Sonblind
Just popping in
Just popping in
Posts: 4
Joined: Mon Jun 24, 2013 00:25

Re: CEGUI 0.8.2 Build Error on OSX - OpenGL3Renderer

Postby Sonblind » Mon Jun 24, 2013 01:05

Next I tried running the Cmake GUI (with default settings) and then explicitly set Xcode to use c++11 and got the following errors:

Code: Select all

Ld build/lib/PyCEGUIOpenGLRenderer_d.so normal x86_64
    cd /Users/Sam/cegui-0.8.2
    setenv MACOSX_DEPLOYMENT_TARGET 10.8
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -L/Users/Sam/cegui-0.8.2/build/lib -F/Users/Sam/cegui-0.8.2/build/lib -filelist /Users/Sam/cegui-0.8.2/build/cegui/src/ScriptModules/Python/bindings/cegui.build/Debug/PyCEGUIOpenGLRenderer.build/Objects-normal/x86_64/PyCEGUIOpenGLRenderer_d.LinkFileList -mmacosx-version-min=10.8 -Wl,-search_paths_first -Wl,-headerpad_max_install_names /Users/Sam/cegui-0.8.2/build/lib/libCEGUIBase-0_d.dylib /usr/local/lib/libboost_python-mt.dylib /usr/lib/libpython2.7.dylib /Users/Sam/cegui-0.8.2/build/lib/libCEGUIOpenGLRenderer-0_d.dylib /Users/Sam/cegui-0.8.2/build/lib/libCEGUIBase-0_d.dylib -stdlib=libc++ -o /Users/Sam/cegui-0.8.2/build/lib/PyCEGUIOpenGLRenderer_d.so

Undefined symbols for architecture x86_64:
  "boost::python::objects::function_object(boost::python::objects::py_function const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)", referenced from:
      boost::python::api::object boost::python::detail::make_function_aux<void (OpenGL3Renderer_wrapper::*)(CEGUI::Size<float> const&), boost::python::default_call_policies, boost::mpl::vector3<void, OpenGL3Renderer_wrapper&, CEGUI::Size<float> const&>, mpl_::int_<1> >(void (OpenGL3Renderer_wrapper::*)(CEGUI::Size<float> const&), boost::python::default_call_policies const&, boost::mpl::vector3<void, OpenGL3Renderer_wrapper&, CEGUI::Size<float> const&> const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<1>) in OpenGL3Renderer.pypp.o
      boost::python::api::object boost::python::detail::make_function_aux<void (CEGUI::OpenGLRendererBase::*)(CEGUI::Size<float> const&), boost::python::default_call_policies, boost::mpl::vector3<void, CEGUI::OpenGL3Renderer&, CEGUI::Size<float> const&>, mpl_::int_<1> >(void (CEGUI::OpenGLRendererBase::*)(CEGUI::Size<float> const&), boost::python::default_call_policies const&, boost::mpl::vector3<void, CEGUI::OpenGL3Renderer&, CEGUI::Size<float> const&> const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<1>) in OpenGL3Renderer.pypp.o
      boost::python::api::object boost::python::detail::make_function_aux<void (*)(CEGUI::String const&), boost::python::default_call_policies, boost::mpl::vector2<void, CEGUI::String const&>, mpl_::int_<1> >(void (*)(CEGUI::String const&), boost::python::default_call_policies const&, boost::mpl::vector2<void, CEGUI::String const&> const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<1>) in OpenGL3Renderer.pypp.o
      boost::python::api::object boost::python::detail::make_function_aux<bool (OpenGL3Renderer_wrapper::*)(CEGUI::String const&) const, boost::python::default_call_policies, boost::mpl::vector3<bool, OpenGL3Renderer_wrapper&, CEGUI::String const&>, mpl_::int_<1> >(bool (OpenGL3Renderer_wrapper::*)(CEGUI::String const&) const, boost::python::default_call_policies const&, boost::mpl::vector3<bool, OpenGL3Renderer_wrapper&, CEGUI::String const&> const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const> const&, mpl_::int_<1>) in OpenGL3Renderer.pypp.o
      boost::python::api::object boost::python::detail::make_function_aux<bool (CEGUI::OpenGLRendererBase::*)(CEGUI::String const&) const, boost::python::default_call_policies, boost::mpl::vector3<bool, CEGUI::OpenGL3Renderer&, CEGUI::String const&>, mpl_::int_<1> >(bool (CEGUI::OpenGLRendererBase::*)(CEGUI::String const&) const, boost::python::default_call_policies const&, boost::mpl::vector3<bool, CEGUI::OpenGL3Renderer&, CEGUI::String const&> const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const> const&, mpl_::int_<1>) in OpenGL3Renderer.pypp.o
      boost::python::api::object boost::python::detail::make_function_aux<void (OpenGL3Renderer_wrapper::*)(), boost::python::default_call_policies, boost::mpl::vector2<void, OpenGL3Renderer_wrapper&>, mpl_::int_<0> >(void (OpenGL3Renderer_wrapper::*)(), boost::python::default_call_policies const&, boost::mpl::vector2<void, OpenGL3Renderer_wrapper&> const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>) in OpenGL3Renderer.pypp.o
      boost::python::api::object boost::python::detail::make_function_aux<CEGUI::Texture& (CEGUI::OpenGLRendererBase::*)(CEGUI::String const&) const, boost::python::return_value_policy<boost::python::reference_existing_object, boost::python::default_call_policies>, boost::mpl::vector3<CEGUI::Texture&, CEGUI::OpenGL3Renderer&, CEGUI::String const&>, mpl_::int_<1> >(CEGUI::Texture& (CEGUI::OpenGLRendererBase::*)(CEGUI::String const&) const, boost::python::return_value_policy<boost::python::reference_existing_object, boost::python::default_call_policies> const&, boost::mpl::vector3<CEGUI::Texture&, CEGUI::OpenGL3Renderer&, CEGUI::String const&> const&, std::__1::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const> const&, mpl_::int_<1>) in OpenGL3Renderer.pypp.o
      ...
  "boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::__1::pair<void*, boost::python::type_info> (*)(void*))", referenced from:
      void boost::python::objects::register_dynamic_id<OpenGL3Renderer_wrapper>(OpenGL3Renderer_wrapper*) in OpenGL3Renderer.pypp.o
      void boost::python::objects::register_dynamic_id<CEGUI::OpenGL3Renderer>(CEGUI::OpenGL3Renderer*) in OpenGL3Renderer.pypp.o
      void boost::python::objects::register_dynamic_id<CEGUI::OpenGLRendererBase>(CEGUI::OpenGLRendererBase*) in OpenGL3Renderer.pypp.o
      void boost::python::objects::register_dynamic_id<CEGUI::OpenGL3Shader>(CEGUI::OpenGL3Shader*) in OpenGL3Shader.pypp.o
      void boost::python::objects::register_dynamic_id<CEGUI::OpenGL3StateChangeWrapper>(CEGUI::OpenGL3StateChangeWrapper*) in OpenGL3StateChangeWrapper.pypp.o
      void boost::python::objects::register_dynamic_id<OpenGLGeometryBufferBase_wrapper>(OpenGLGeometryBufferBase_wrapper*) in OpenGLGeometryBufferBase.pypp.o
      void boost::python::objects::register_dynamic_id<CEGUI::OpenGLGeometryBufferBase>(CEGUI::OpenGLGeometryBufferBase*) in OpenGLGeometryBufferBase.pypp.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

User avatar
Kulik
CEGUI Team
Posts: 1382
Joined: Mon Jul 26, 2010 18:47
Location: Czech Republic
Contact:

Re: CEGUI 0.8.2 Build Error on OSX - OpenGL3Renderer

Postby Kulik » Tue Jun 25, 2013 18:09

Very strange.

As a temporary workaround, disable PyCEGUI with CEGUI_BUILD_PYTHON_MODULES=0

Sonblind
Just popping in
Just popping in
Posts: 4
Joined: Mon Jun 24, 2013 00:25

Re: CEGUI 0.8.2 Build Error on OSX - OpenGL3Renderer

Postby Sonblind » Wed Jun 26, 2013 01:19

This worked. It was also necessary to change the compiler settings to use C++11 in order to compile the OpenGLRenderer. The sample projects actually compiled with those errors mentioned above from pyCEGUI, but after turning off the pyCEGUI module it compiles without any errors. Thanks!


Return to “Help”

Who is online

Users browsing this forum: No registered users and 3 guests