Best platform for Development ?
  • Greetings,

    I have been trying to get all the components of WorldForge to build correctly with various degrees of close but no success. Most of the issues that I am having point back to configuration or version issues with SDL Lua tolua++ and CEGUI. I have read through the wiki and matched the versions of all the thirdparty libs on http://wiki.worldforge.org/wiki/Quick_Start_Guide

    I have found good information on things like the issue with Lua version in the pkgconfig. I have also tried a builds from releases and from cvs with much the same result.

    So I was wondering what is the best platform to develop on ? Currently I am running Ubuntu 7.10, but I can also run FC7/8 Suse 10.2/3 all in 32bit or 64bit systems. Should I build all the thirdparty libs from source are should I use apt-get / yum as I have been ?

    Thanks.


    -Nick Rathke
  • I have built ember on both Fedora 7 or 8 (I don't remember which) and on an older Ubuntu. I think it was equally difficult on both. I think ensuring you only have lua 5.0 installed, and then hacking it so that CEGUI detects it and will compile is the best and easiest way to get things working.

    The most important factor is probably picking a distribution where you can get decent 3D drivers working for your hardware. To get decent shaders and performance you are almost certainly going to have to use proprietary binary drivers. I think Ubuntu makes this relatively easy, though you can install binary drivers on Fedora if you know what you are doing.
  • I do all Ember development on my x86-64 Mandriva 2008.0 box. All libs except Ogre and CEGUI (and the WF ones) are stock distro libs.

    I remember there being some problems with building CEGUI with lua support on Ubuntu, I think I had to patch it to make it work (I use 32-bit Ubuntu 6.06 for building the .package version which is distributed).
    There seems to be both CEGUI and Ogre packages available for Ubuntu ( https://launchpad.net/ubuntu/+source/cegui-mk2/ and https://launchpad.net/ubuntu/+source/ogre/) but I haven't used those so I can't tell whether they work.

    Ogre for instance needs to be compiled without FreeImage support (instead with DevIL), and CEGUI needs to have the lua scripting module compiled with it.
    If you are having problems, please describe them and we'll help you through.
  • I have found that all required stuff works fine in Gentoo, unless Eris and libwfut, which havent been added to portage yet. In amd64 arch, some deps arent included, like tolua++, but you can force them.
  • "erik" said:
    I do all Ember development on my x86-64 Mandriva 2008.0 box. All libs except Ogre and CEGUI (and the WF ones) are stock distro libs.


    Did you succeded to compile ember in x86-64 Mandriva 2008.0?
    I am trying it without results. When I execute "./configure", it goes out for me that it does not exist "cegui-ogre".

    "Cegui" does not find "lua", and I know that it is necessary.

    With "ogre" cannot execute the demos. He does not find a few textures.

    Had you success? Can you help me?

    Thank you
    ORLANDO
  • If it can't find CEGUI-OGRE it means that you're missing the Ogre adapter for CEGUI. This is installed when you build OGRE after you've built CEGUI. I.e. build CEGUI first, then Ogre. Did you follow this guide?

    If CEGUI can't find Lua that's a showstopper. That's really strange; make sure that you have lib64lua5.0-devel installed (just do "urpmi lib64lua5.0-devel" as root).
  • I have installed lua, cegui and then ogre. Later ember. Ember does not find cegui-ogre, but, cegui cant configure lua scripts


    Yes I have installed lib64lua5.0-devel.

    This is the guide that I have been still.
    In this one guide says that it is necessary to make him a tweak to some systems, especially those that they use dpkg.
    Will not this one be the case?
    If it is like that, how do I do it ?

    These are the steps that I have followed

    CEGUI

    ./configure --without-xerces-c --with-default-xml-parser=TinyXMLParser --enable-toluacegui

    ********************************************************************************
    * Crazy Eddie's GUI System - Configuration Results Summary
    ********************************************************************************
    * Library Release Version: 0.5.0
    *
    * Code options:
    * Building CEGUI in debug mode: no
    *
    * Renderer Modules:
    * Building OpenGL Renderer: yes
    * Building Irrlict Renderer: no
    *
    * Image Loading Codec Modules (currently for OpenGL Renderer only):
    * Building Corona Image Codec: no
    * Building DevIL Image Codec: yes
    * Building FreeImage Image Codec: yes
    * Building SILLY Image Codec: no
    * Building TGA Image Codec: yes
    *
    * Default Image Codec will be: DevILImageCodec
    *
    * XML Parser Modules:
    * Building TinyXMLParser: yes
    * Building ExpatParser: yes
    * Building LibXMLParser: yes
    * Building XercesParser: no
    *
    * Default XML Parser is: TinyXMLParser
    *
    * Scripting:
    * Building Lua scripting module: no
    * Building tolua++cegui generator: yes
    *
    * Samples Framework:
    * Building Samples: yes
    * GTK2 based dialog for renderer selection: no
    * OpenGL Renderer available in samples: yes
    * Irrlict Renderer available in samples: no
    * Ogre3D Renderer available in samples: no
    ********************************************************************************

    OGRE

    ./configure --disable-freeimage --disable-cg

    --------=== Configuration summary ===--------
    Target platform : GLX
    OpenGL Ogre support : GLX
    GUI library to use : gtk
    Use double precision arithmetic : no
    Support for threading : no
    Use STLport : no
    Use FreeType : yes
    Use FreeImage : no
    Use DevIL : yes
    Build OGRE demos : yes
    Build CEGUI demos : true
    Build the OpenEXR plugin : no
    Build the Cg plugin : no
    Build the DirectX 9 plugin : no
    --------===============================--------
  • You shouldn't need to apply any patches on Mandriva to make it catch lua. Could you check your cegui config.log to see where it tries to find lua and fails?
  • I have realized some test:

    rpm -qa | grep -i lua

    lib64lua5.0-5.0.3-4mdv2008.0
    lib64lua5.0-devel-5.0.3-4mdv2008.0
    lua5.0-5.0.3-4mdv2008.0
    lib64lua5.0-devel-static-5.0.3-4mdv2008.0


    cat config.log | grep -i lua

    $ ./configure --without-xerces-c --with-default-xml-parser=TinyXMLParser --enable-toluacegui
    configure:25350: checking for Lua
    configure:25358: $PKG_CONFIG --exists --print-errors "lua >= 5.0 lua < 5.1"
    Package lua was not found in the pkg-config search path.
    Perhaps you should add the directory containing `lua.pc'
    No package 'lua' found
    Package lua was not found in the pkg-config search path.
    Perhaps you should add the directory containing `lua.pc'
    No package 'lua' found
    configure:25376: $PKG_CONFIG --exists --print-errors "lua >= 5.0 lua < 5.1"
    Package lua was not found in the pkg-config search path.
    Perhaps you should add the directory containing `lua.pc'
    No package 'lua' found
    Package lua was not found in the pkg-config search path.
    Perhaps you should add the directory containing `lua.pc'
    No package 'lua' found
    No package 'lua' found
    No package 'lua' found
    configure:25445: Building of Lua scripting module is disabled
    configure:25450: Building of tolua++cegui generator tool is enabled.
    config.status:800: creating ScriptingModules/CEGUILua/LuaScriptModule/Makefile
    config.status:800: creating ScriptingModules/CEGUILua/LuaScriptModule/include/Makefile
    config.status:800: creating ScriptingModules/CEGUILua/LuaScriptModule/package/Makefile
    config.status:800: creating ScriptingModules/CEGUILua/LuaScriptModule/src/Makefile
    config.status:800: creating ScriptingModules/CEGUILua/Makefile
    config.status:800: creating ScriptingModules/CEGUILua/tolua++/Makefile
    config.status:800: creating ScriptingModules/CEGUILua/tolua++bin/Makefile
    ac_cv_env_Lua_CFLAGS_set=
    ac_cv_env_Lua_CFLAGS_value=
    ac_cv_env_Lua_LIBS_set=
    ac_cv_env_Lua_LIBS_value=
    CEGUI_BUILD_LUA_MODULE_FALSE=''
    CEGUI_BUILD_LUA_MODULE_TRUE='#'
    CEGUI_BUILD_TOLUACEGUI_FALSE='#'
    CEGUI_BUILD_TOLUACEGUI_TRUE=''
    Lua_CFLAGS=''
    Lua_LIBS=''




    I did a search for lua.pc. It does not exist in my hd

    thanks
  • Ok, it seems that lib64lua5.0-devel doesn't contain any lua.pc file, whereas lib64lua5.1-devel does. I use the latter, but that requires patching CEGUI to make it work with 5.1. I assumed that the 5.0 rpm contained a lua.pc file just like 5.1, but apparently not.

    You can either go with 5.1 and patch CEGUI, or you could get lua and compile and install it yourself. It's available from http://www.lua.org/ftp/lua-5.0.3.tar.gz
  • ok, thanks.

    I dont know how to patch CEGUI. I'm newbie compiling. :)

    I'm going to try compiling lua.

    Thanks
  • erik, the lua-5.0.3 dont include lua.pc. :(

    Can you help me to patch CEGUI to use lua 5.1 ?

    thanks
  • Start by downloading the patch from here: http://amber.worldforge.org/patches/ceg ... -lua.patch
    Then put it in the source directory of CEGUI and execute the following command: patch -p0 < cegui-0.5.0b-lua.patch
    That will apply the patch. Then just compile and install it.
  • Thank you erik for that.

    After patching got these errors. Before not appeared.


    ./configure --without-xerces-c --with-default-xml-parser=TinyXMLParser --enable-toluacegui
    ********************************************************************************
    * Crazy Eddie's GUI System - Configuration Results Summary
    ********************************************************************************
    * Library Release Version: 0.5.0
    *
    * Code options:
    * Building CEGUI in debug mode: no
    *
    * Renderer Modules:
    * Building OpenGL Renderer: yes
    * Building Irrlict Renderer: no
    *
    * Image Loading Codec Modules (currently for OpenGL Renderer only):
    * Building Corona Image Codec: no
    * Building DevIL Image Codec: yes
    * Building FreeImage Image Codec: yes
    * Building SILLY Image Codec: no
    * Building TGA Image Codec: yes
    *
    * Default Image Codec will be: DevILImageCodec
    *
    * XML Parser Modules:
    * Building TinyXMLParser: yes
    * Building ExpatParser: yes
    * Building LibXMLParser: yes
    * Building XercesParser: no
    *
    * Default XML Parser is: TinyXMLParser
    *
    * Scripting:
    * Building Lua scripting module: yes
    * Building tolua++cegui generator: yes
    *
    * Samples Framework:
    * Building Samples: yes
    * GTK2 based dialog for renderer selection: no
    * OpenGL Renderer available in samples: yes
    * Irrlict Renderer available in samples: no
    * Ogre3D Renderer available in samples: no
    ********************************************************************************


    make

    .
    .
    .
    ...>
    gcc -g -O2 -o .libs/tolua++cegui tolua.o toluabind.o -L/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so -L/usr/lib -llua -lm -lfreeimage -lpthread -ldl -Wl,--rpath -Wl,/usr/local/lib
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    tolua.o: In function `main':
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:89: undefined reference to `luaopen_base'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:90: undefined reference to `luaopen_io'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:91: undefined reference to `luaopen_string'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:92: undefined reference to `luaopen_table'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:93: undefined reference to `luaopen_math'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:94: undefined reference to `luaopen_debug'
    tolua.o: In function `add_extra':
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:69: undefined reference to `luaL_getn'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `lua_dobuffer'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `luaL_newmetatable'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `luaL_getmetatable'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `luaL_error'
    collect2: ld returned 1 exit status
    make[3]: *** [tolua++cegui] Error 1
    make[3]: Leaving directory `/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules'
    make: *** [all-recursive] Error 1





    Apparently only demos, right?
    I worry?

    Thanks
  • Remove "--enable-toluacegui". The patch doesn't include support for the tolua++ binary, and you don't need that now.
  • I have removed "--enable-toluacegui" in the "./configure".
    The error continues being the same.

    thanks
  • Ok, it seems it doesn't pick up that the location of the shared library is /usr/lib64. You have to rerun configure after first exeuting:
    export LDFLAGS=-L/usr/lib64

    That should tell the build system to also look there.
    Alternatively you have both 64bit and 32 bit versions of lua installed. That might confuse the build system. Try to remove the 32 bit versions if so.
  • ok, I have thesse:

    rpm -qa | grep -i lua

    1) lib64lua5.0-5.0.3-4mdv2008.0
    2) lib64lua-devel-5.1.2-4mdv2008.0
    3) lua-5.1.2-4mdv2008.0 ---------- 32bits ?
    4) lib64lua5.1-5.1.2-4mdv2008.0

    and removed (1) and (3). Now, I have:

    lib64lua-devel-5.1.2-4mdv2008.0
    lib64lua5.1-5.1.2-4mdv2008.0

    ok, ldflags, configure, and the same error.

    but, under /usr/lib I have:

    /usr/lib/liblua.a
    /usr/lib/liblua.so
    /usr/lib/liblua.so.5.0
    /usr/lib/liblua.so.5.1
    /usr/lib/liblualib.a
    /usr/lib/liblualib.so
    /usr/lib/liblualib.so.5.0
    /usr/lib/libtolua++-5.1.so
    /usr/lib/libtolua.a
    /usr/lib/lua
    /usr/lib/lua/5.0

    is necesary that I remove them manualy ?

    Thanks
  • It's stange that you still have those even after removing the packages. Yeah, I should say it's worth trying to remove them first and try. Don't delete them right away though, just move them to another directory (it might be that they belong to a package etc., so we want to make sure you can reset the changes if something breaks).
  • ok, moved files, restarting all.

    The config.log from CEGUI: cat config.log | grep -i lua

    configure:26697: checking for Lua
    configure:26705: $PKG_CONFIG --exists --print-errors "lua >= 5.0 lua < 5.1"
    Requested 'lua < 5.1' but version of Lua is 5.1.2
    configure:26723: $PKG_CONFIG --exists --print-errors "lua >= 5.0 lua < 5.1"
    Requested 'lua < 5.1' but version of Lua is 5.1.2
    Requested 'lua < 5.1' but version of Lua is 5.1.2
    configure:26790: Building of Lua scripting module is disabled
    configure:26798: Building of tolua++cegui generator tool is disabled.
    config.status:782: creating ScriptingModules/CEGUILua/LuaScriptModule/Makefile
    config.status:782: creating ScriptingModules/CEGUILua/LuaScriptModule/include/Makefile
    config.status:782: creating ScriptingModules/CEGUILua/LuaScriptModule/package/Makefile
    config.status:782: creating ScriptingModules/CEGUILua/LuaScriptModule/src/Makefile
    config.status:782: creating ScriptingModules/CEGUILua/Makefile
    config.status:782: creating ScriptingModules/CEGUILua/tolua++/Makefile
    config.status:782: creating ScriptingModules/CEGUILua/tolua++bin/Makefile
    ac_cv_env_Lua_CFLAGS_set=
    ac_cv_env_Lua_CFLAGS_value=
    ac_cv_env_Lua_LIBS_set=
    ac_cv_env_Lua_LIBS_value=
    CEGUI_BUILD_LUA_MODULE_FALSE=''
    CEGUI_BUILD_LUA_MODULE_TRUE='#'
    CEGUI_BUILD_TOLUACEGUI_FALSE=''
    CEGUI_BUILD_TOLUACEGUI_TRUE='#'
    Lua_CFLAGS=''
    Lua_LIBS=''


    I have applyed the patch before configure. :( . no Lua ?

    another patch ?

    Thanks
  • sorry, but, no solution at the moment ?

    :(
  • Ok, this seems really strange. It's hard for me to say what's wrong, but something might be broken with your source tree. Could you try unpacking the source tarball to a completely clean directory, running the patch and then configure?
  • I have realized it some 3 times at least.
    To it I was referring when I said "restarting all".

    I have removed lua several times and have put different versions. The only one that it brings lua.pc is the version 5.1.2
    In the sources of lua5.0 is lua.pc, but it does not include it in the moment to install.

    It is possible that the mistake is really silly, but I do not know solve it.

    : ((
  • It might be that pkg-config doesn't pick up the lua.pc file correctly. What's your output when entering "pkg-config --libs lua"?
  • This is the result:

    # pkg-config --libs lua
    -L/usr/local/lib -llua -lm


    I have recompiled lua 5.1.1-src.rpm, installed the files created, but no lua.pc installed. extracted the src.rpm and copied manually the lua.pc to /usr/lib64/pkgconfig/ from sources.
    Here the error is the same.

    configure:26723: $PKG_CONFIG --exists --print-errors "lua >= 5.0 lua < 5.1"
    Requested 'lua < 5.1' but version of Lua is 5.1.1

    I have edited the "configure" file and changed 5.1 to 6.0

    Now, the configure pass without errors, but I have some errors in samples when I "make".

    In file included from CEGuiSample.cpp:50:
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:36:32: error: OgreEventListeners.h: No such file or directory
    In file included from CEGuiSample.cpp:50:
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:93: error: expected class-name before ‘,’ token
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:93: error: expected class-name before ‘,’ token
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:94: error: expected class-name before ‘{’ token
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:105: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:106: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:107: error: ‘Ogre::KeyEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:108: error: ‘Ogre::KeyEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:109: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:110: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:113: error: ‘Ogre::KeyEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:114: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:115: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:116: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:126: error: ISO C++ forbids declaration of ‘EventProcessor’ with no type
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:126: error: invalid use of ‘::’
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:126: error: expected ‘;’ before ‘*’ token
    make[3]: *** [CEGuiSample.lo] Error 1




    Thanks for your help
  • Ok, you don't need to build the CEGUI samples. Add --disable-samples to configure.
    I guess it thinks that Ogre is installed while it perhaps isn't completely.
  • Sorry for not reply. I was spending time with family.

    ok, after that:

    "./configure --with-default-xml-parser=TinyXMLParser --disable-xerces-c --disable-samples"

    a huge list of thesse errors apears.

    .
    .
    .
    lua_CEGUI.cpp:48384: warning: deprecated conversion from string constant to ‘char*’
    lua_CEGUI.cpp:48385: warning: deprecated conversion from string constant to ‘char*’
    lua_CEGUI.cpp:48386: warning: deprecated conversion from string constant to ‘char*’
    .
    .
    .
    lua_CEGUI.cpp:49763: warning: deprecated conversion from string constant to ‘char*’
    lua_CEGUI.cpp:49764: warning: deprecated conversion from string constant to ‘char*’
    lua_CEGUI.cpp:49765: warning: deprecated conversion from string constant to ‘char*’
    make[4]: *** [lua_CEGUI.lo] Error 1
    make[4]: Leaving directory `/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/LuaScriptModule/src'
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory `/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/LuaScriptModule'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/admin/tarballs/CEGUI-0.5.0/ScriptingModules'
    make: *** [all-recursive] Error 1

    ----------->

    And I am boring. The downside is that it can be a mistake to cegui-lua or MDV2008.
    Well, I will not pay yet.

    Thanks
  • You can ignore those warnings. They appear because you use a newer version of gcc which doesn't like when it has to automatically convert "char*" to const char*". But they are not fatal or anything. Look instead for something that starts with "error".
  • Ok, I have not seen any error. Only warnings.
    Later, I have compiled Ogre. Here no errors. Only the Samples not run.

    In ember thesse errors:

    LuaConnector.cpp: In constructor 'EmberOgre::LuaConnectors::ConnectorBase::ConnectorBase()':
    LuaConnector.cpp:45: error: 'LUA_NOREF' was not declared in this scope
    LuaConnector.cpp: In constructor 'EmberOgre::LuaConnectors::ConnectorBase::ConnectorBase(const EmberOgre::LuaTypeStore&)':
    LuaConnector.cpp:51: error: 'LUA_NOREF' was not declared in this scope
    LuaConnector.cpp: In member function 'Treturn EmberOgre::LuaConnectors::ConnectorBase::callLuaMethod(T0, T1, T2, T3)':
    LuaConnector.cpp:90: error: 'LUA_NOREF' was not declared in this scope


    and i cant install it.

    Thanks
  • Ok, strange. Are you sure those are the first errors you get?
    That file includes tolua++.h, which in turns includes lua.h and lauxlib.h. Depending on the version of lua LUA_NOREF is defined in either one of those files. So there should probably be an earlier error message about the system not being able to find one of the .h files involved.
  • only warnings:

    lua_Ogre.cpp: In function 'int tolua_Ogre_Ogre_ColourValue_setHSB00(lua_State*)':
    lua_Ogre.cpp:17737: warning: deprecated conversion from string constant to 'char*'
    lua_Ogre.cpp:17746: warning: deprecated conversion from string constant to 'char*'
    lua_Ogre.cpp: In function 'int tolua_Ogre_open(lua_State*)':
    lua_Ogre.cpp:17759: warning: deprecated conversion from string constant to 'char*'
    lua_Ogre.cpp:17760: warning: deprecated conversion from string constant to 'char*'
    lua_Ogre.cpp:17761: warning: deprecated conversion from string constant to 'char*'


    a big list of that.
    There is a file logs for make ?

    thanks
  • Make doesn't output a log file by default, but you can use bash error redirection like this
    make 2&gt;error&#46;log

    That should write all error messages to the file error.log.
  • I have installed lua 5.0 and copied lua.pc (I searched this in google)
    Well, starting from cegui.
    Fewer errors with toluacegui activated



    ./configure --with-default-xml-parser=TinyXMLParser --enable-toluacegui
    make

    ceguitinyxml/tinyxmlerror.cpp:55:2: warning: no newline at end of file
    ../../libtool: line 1920: cd: IL: No such file or directory
    libtool: link: cannot determine absolute directory name of `IL'
    tolua.o: In function `main':
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:89: undefined reference to `luaopen_base'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:90: undefined reference to `luaopen_io'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:91: undefined reference to `luaopen_string'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:92: undefined reference to `luaopen_table'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:93: undefined reference to `luaopen_math'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:94: undefined reference to `luaopen_debug'
    tolua.o: In function `add_extra':
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:69: undefined reference to `luaL_getn'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `lua_dobuffer'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `luaL_newmetatable'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `luaL_getmetatable'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `luaL_error'
    collect2: ld returned 1 exit status
    make[3]: *** [tolua++cegui] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all-recursive] Error 1

    same errors when install


    Now, in ogre:

    ./configure --disable-freeimage
    make

    .
    .
    .
    OgrePixelFormat.cpp:582: warning: deprecated conversion from string constant to ‘char*’
    In file included from rc1.0_general.h:4,
    from rc1.0_combiners.h:4,
    from rc1.0_combiners.cpp:1:
    rc1.0_register.h: In member function ‘void MappedRegisterStruct::Init(RegisterEnum, int)’:
    rc1.0_register.h:127: warning: comparison is always false due to limited range of data type
    rc1.0_register.h:128: warning: large integer implicitly truncated to unsigned type
    In file included from rc1.0_final.h:4,
    from rc1.0_final.cpp:1:
    rc1.0_register.h: In member function ‘void MappedRegisterStruct::Init(RegisterEnum, int)’:
    rc1.0_register.h:127: warning: comparison is always false due to limited range of data type
    rc1.0_register.h:128: warning: large integer implicitly truncated to unsigned type
    In file included from rc1.0_general.h:4,
    from rc1.0_general.cpp:1:
    rc1.0_register.h: In member function ‘void MappedRegisterStruct::Init(RegisterEnum, int)’:
    rc1.0_register.h:127: warning: comparison is always false due to limited range of data type
    rc1.0_register.h:128: warning: large integer implicitly truncated to unsigned type
    _ts1.0_parser.c: In function ‘int ts10_parse()’:
    _ts1.0_parser.c:1690: warning: deprecated conversion from string constant to ‘char*’
    _ts1.0_parser.c:1789: warning: deprecated conversion from string constant to ‘char*’
    In file included from rc1.0_general.h:4,
    from rc1.0_combiners.h:4,
    from rc1.0_tokens.l:10:
    rc1.0_register.h: In member function ‘void MappedRegisterStruct::Init(RegisterEnum, int)’:
    rc1.0_register.h:127: warning: comparison is always false due to limited range of data type
    rc1.0_register.h:128: warning: large integer implicitly truncated to unsigned type
    In file included from rc1.0_general.h:4,
    from rc1.0_combiners.h:4,
    from rc1.0_grammar.y:14:
    rc1.0_register.h: In member function ‘void MappedRegisterStruct::Init(RegisterEnum, int)’:
    rc1.0_register.h:127: warning: comparison is always false due to limited range of data type
    rc1.0_register.h:128: warning: large integer implicitly truncated to unsigned type
    _rc1.0_parser.c: In function ‘int rc10_parse()’:
    _rc1.0_parser.c:2173: warning: deprecated conversion from string constant to ‘char*’
    _rc1.0_parser.c:2272: warning: deprecated conversion from string constant to ‘char*’
    vs1.0_tokens.l:95: warning: deprecated conversion from string constant to ‘char*’
    .
    .
    .
    _vs1.0_parser.c:1818: warning: deprecated conversion from string constant to ‘char*’
    vs1.0_grammar.y: In function ‘void vs10_error(char*)’:
    vs1.0_grammar.y:453: warning: deprecated conversion from string constant to ‘char*’
    _ps1.0_parser.c: In function ‘int ps10_parse()’:
    _ps1.0_parser.c:1405: warning: deprecated conversion from string constant to ‘char*’
    _ps1.0_parser.c:1504: warning: deprecated conversion from string constant to ‘char*’
    ps1.0_program.cpp: In member function ‘void<unnamed>::src::init(std::string, int, std::string*)’:
    ps1.0_program.cpp:471: warning: comparison is always true due to limited range of data type
    ps1.0_program.cpp:472: warning: comparison is always true due to limited range of data type
    ps1.0_program.cpp:478: warning: comparison is always true due to limited range of data type
    ps1.0_program.cpp:479: warning: comparison is always true due to limited range of data type
    ps1.0_program.cpp: In member function ‘void<unnamed>::set_register_combiners::operator()(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)’:
    ps1.0_program.cpp:577: warning: comparison is always true due to limited range of data type
    .
    .
    .
    OceanDemo.cpp: In member function ‘void OceanDemo::configureShaderControls()’:
    OceanDemo.cpp:784: warning: comparison between ‘const enum ShaderValType’ and ‘enum Ogre::GpuProgramType’


    and in ember:

    ./configure
    make

    ua_EmberServices.cpp: In function 'void tolua_reg_types(lua_State*)':
    lua_EmberServices.cpp:46: warning: deprecated conversion from string constant to 'char*'
    .
    .
    .
    lua_EmberServices.cpp:68: warning: deprecated conversion from string constant to 'char*'
    lua_EmberServices.cpp: In function 'int tolua_EmberServices_Ember_LoggingService_getInstance00(lua_State*)':
    lua_EmberServices.cpp:93: warning: deprecated conversion from string constant to 'char*'
    lua_EmberServices.cpp: In function 'int tolua_EmberServices_Ember_ConfigService_getValue00(lua_State*)':
    lua_EmberServices.cpp:137: warning: deprecated conversion from string constant to 'char*'
    .
    .
    .
    lua_Eris.cpp:2531: warning: deprecated conversion from string constant to 'char*'
    lua_Eris.cpp:2532: warning: deprecated conversion from string constant to 'char*'
    lua_Framework.cpp: In function 'void tolua_reg_types(lua_State*)':
    lua_Framework.cpp:34: warning: deprecated conversion from string constant to 'char*'
    lua_Framework.cpp:35: warning: deprecated conversion from string constant to 'char*'
    .
    .
    .
    lua_EmberOgre.cpp:20639: warning: deprecated conversion from string constant to 'char*'
    In file included from LuaScriptingProvider.cpp:24:

    LuaScriptingProvider.h:29:22: error: CEGUILua.h: No such file or directory
    make[6]: *** [LuaScriptingProvider.lo] Error 1
    make[5]: *** [all-recursive] Error 1
    make[4]: *** [all-recursive] Error 1
    make[3]: *** [all-recursive] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all] Error 2
    make: *** [all-recursive] Error 1



    I hope this aid
    thanks
  • Ok, this is all caused by the CEGUILua not building as it should. You've patched the source to be able to handle both lua 5.0 and lua 5.1, but I'm guessing that you didn't rerun autogen.sh and configure afterwards. Unless you do that the build system can't know that it should use 5.1 and instead tries to use the old 5.0 code.

    So, in cegui rerun ./autogen.sh and then configure
  • autogen.sh dont exist into cegui-0.5.0

    Thanks
  • Ah, yep.
    Issue these commands instead:
    automake
    autoconf
  • At this moment I only have lua 5.1.2 in my system.

    In preview post you have tell me to disable tolua-cegui, but, when I realize that I have more than 6000 errors lines when I "make 2>error.log"

    enabled I have only thesse errors:

    ./configure --with-default-xml-parser=TinyXMLParser --enable-toluacegui
    make


    ceguitinyxml/tinyxmlerror.cpp:55:2: warning: no newline at end of file
    ../../libtool: line 1923: cd: IL: No such file or directory
    libtool: link: cannot determine absolute directory name of `IL'
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    tolua.c: In function ‘main’:
    tolua.c:85: warning: initialization makes pointer from integer without a cast
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    tolua.o: In function `add_extra':
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++bin/tolua.c:69: undefined reference to `luaL_getn'
    /home/admin/tarballs/CEGUI-0.5.0/ScriptingModules/CEGUILua/tolua++/.libs/libCEGUItoluapp.so: undefined reference to `luaL_getmetatable'
    collect2: ld returned 1 exit status
    make[3]: *** [tolua++cegui] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all-recursive] Error 1


    It is possible to eliminate all errors?

    Thanks
  • The error regarding IL seems like it's caused by you not having the DevIL developer package installed. Make sure that the package lib64devil1-devel is installed.

    The reason that you can't build tolua is that the patch didn't provide support for that part, only the scripting module. But what are the errors you get when you disable it? Could you post some of those?
  • I have thesse devil installed:

    lib64devil1-static-devel-1.6.7-14mdv2008.0
    lib64devil1-1.6.7-14mdv2008.0
    lib64devil1-devel-1.6.7-14mdv2008.0

    When I disable toluacegui:

    ./configure --with-default-xml-parser=TinyXMLParser --disable-toluacegui
    make


    ceguitinyxml/tinyxmlerror.cpp:55:2: warning: no newline at end of file
    ../../libtool: line 1923: cd: IL: No such file or directory
    libtool: link: cannot determine absolute directory name of `IL'
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    lua_CEGUI.cpp: In function âvoid tolua_reg_types(lua_State*)â:
    lua_CEGUI.cpp:398: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp:399: warning: deprecated conversion from string constant to âchar*â
    .
    .
    .
    lua_CEGUI.cpp: In function âint tolua_get_CEGUI__Vector2_x(lua_State*)â:
    lua_CEGUI.cpp:520: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp: In function âint tolua_set_CEGUI__Vector2_x(lua_State*)â:
    lua_CEGUI.cpp:534: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp:536: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp: In function âint tolua_get_CEGUI__Vector2_y(lua_State*)â:
    lua_CEGUI.cpp:550: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp: In function âint tolua_set_CEGUI__Vector2_y(lua_State*)â:
    lua_CEGUI.cpp:564: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp:566: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp: In function âint tolua_CEGUI_CEGUI_Vector2__add00(lua_State*)â:
    .
    .
    .
    lua_CEGUI.cpp:49762: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp:49763: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp:49764: warning: deprecated conversion from string constant to âchar*â
    lua_CEGUI.cpp:49765: warning: deprecated conversion from string constant to âchar*â
    make[4]: *** [lua_CEGUI.lo] Error 1
    make[3]: *** [all-recursive] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all-recursive] Error 1




    These are all mistakes. There are 6217 lines of error.

    Thanks
  • Yep, those are all warnings. They can be ignored. Look instead for errors. Try

    grep error error&#46;log


    The reason that you don't see that when you disable the tolua binary is that the whole compilation process is aborted when it can't compile the tolua binary, which makes it never even getting to the lua sciprting module.
  • grep error error.log

    ceguitinyxml/tinyxmlerror.cpp:55:2: warning: no newline at end of file
    lua_CEGUI.cpp:12833: error: ‘LUA_NOREF’ was not declared in this scope
    lua_CEGUI.cpp:18673: error: ‘LUA_NOREF’ was not declared in this scope

    Thanks
  • That is strange. That's defined in lauxlib.h for 5.1. Could you execute the following, which looks for that define in the system installed headers

    grep -nrI LUA_NOREF /usr/include/*

    and post the result?
  • grep -nrI LUA_NOREF /usr/include/*

    /usr/include/lauxlib.h:159:#define LUA_NOREF (-2)


    thanks
  • It sounds as if perhaps you have old Lua 5.0 headers still in your system. Could you search for lua.h and lauxlib.h?
    Do:

    find / -name &quot;lua&#46;h&quot;
    find / -name &quot;lauxlib&#46;h&quot;

    If there are any old versions still in your path. these might be picked up by mistake and causing these problems.[/code]
  • find / -name "lua.h"
    /usr/include/lua.h
    /home/admin/rpm/SOURCES/lua-5.1.1/src/lua.h

    find / -name "lauxlib.h"
    /usr/local/include/lauxlib.h
    /usr/include/lauxlib.h
    /home/admin/rpm/SOURCES/lua-5.1.1/src/lauxlib.h

    thanks
  • Ah, that's probably it. Remove /usr/local/include/lauxlib.h .

    In lua 5.0 LUA_NOREF is defined in lua.h, while in 5.1 it's defined in lauxlib.h.
    So what's happening here is that the compiler picks up /usr/include/lua.h, which is from lua 5.1 and thus doesn't contain the definition for LUA_NOREF, and then picks up /usr/local/include/lauxlib.h which is from lua 5.0 and thus also doesn't contain LUA_NOREF.
    And the result is that LUA_NOREF stays undefined.
  • ok, deleted.

    only this error when "make"

    grep error error.log
    ceguitinyxml/tinyxmlerror.cpp:55:2: warning: no newline at end of file



    thanks
  • Alright! You can ignore all warnings, they won't make the compilation fail.
  • ok, compiling, instaling, and make ogre

    this error in ogre

    grep error error.log
    vs1.0_grammar.y: In function ‘void vs10_error(char*)’:



    returning to cegui to ontain cegui-ogre:

    make

    grep error error.log
    ceguitinyxml/tinyxmlerror.cpp:55:2: warning: no newline at end of file
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:36:32: error: OgreEventListeners.h: No such file or directory
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:93: error: expected class-name before ‘,’ token
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:93: error: expected class-name before ‘,’ token
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:94: error: expected class-name before ‘{’ token
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:105: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:106: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:107: error: ‘Ogre::KeyEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:108: error: ‘Ogre::KeyEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:109: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:110: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:113: error: ‘Ogre::KeyEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:114: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:115: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:116: error: ‘Ogre::MouseEvent’ has not been declared
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:126: error: ISO C++ forbids declaration of ‘EventProcessor’ with no type
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:126: error: invalid use of ‘::’
    ../../../Samples/common/include/CEGuiOgreBaseApplication.h:126: error: expected ‘;’ before ‘*’ token



    in ember, all right, installed.
    When I run it crash loading materials. This error:

    Adding particle/sun.particle as no local version
    Crashed with signal 11, will try to shut down SDL gracefully.
    *** glibc detected *** /usr/local/bin/../bin/ember.bin: double free or corruption (!prev): 0x00000000010610b0 ***
    ======= Backtrace: =========
    /lib64/libc.so.6[0x2b1658a6ef9a]
    /lib64/libc.so.6(cfree+0x8c)[0x2b1658a72c1c]
    /lib64/libc.so.6(__cxa_finalize+0x85)[0x2b1658a32ed5]
    /usr/local/lib/libOgreMain-1.4.6.so[0x2b164c166e53]



    thanks
  • Alright, you've gotten it to compile and work! Regarding CEGUI, the CEGUI-OGRE bindings are in OGRE, so you don't need to recompile CEGUI. You can also disable the CEGUI samples if you run into problems in them. I've updated the wiki about this: http://wiki.worldforge.org/wiki/Compiling_Ember

    Regarding the Ember problem, could you post your ~/.ember/ember.log file? Are you running Ember 0.5.1 or from cvs?
  • When I configure ember, the error appeared cegui-oggre not found. So back to cegui after ogre.

    I have Ember 0.5.1.

    How can I attach a file here ? Is big to paste.

    Thanks[/url]

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Google Sign In with OpenID