Iris2.de
http://iris2.de/forum/

Iris2 3021 FTBFS: lugre/src/lugre_commondialog.cpp:180
http://iris2.de/forum/viewtopic.php?f=18&t=1449
Page 1 of 1

Author:  c_korn [ Thu Sep 10, 2009 12:22 am ]
Post subject:  Iris2 3021 FTBFS: lugre/src/lugre_commondialog.cpp:180

Hello,
I try to compile Iris2 for Ubuntu 9.04.
I have these packages installed for compilation:
Code:
Build-Depends: debhelper (>= 6), cmake (>= 2.6), libogre-dev,
libsdl1.2-dev, libode0-dev, wx2.8-headers, libois-dev,
libboost1.37-dev, libopenal-dev, libalut-dev,
libvorbis-dev, libboost-thread1.37-dev, libx11-dev,
linux-libc-dev, x11proto-core-dev, libasound2-dev,
zlib1g-dev, libreadline5-dev, valgrind, libicu-dev,
pkg-config, quilt, libwxbase2.8-dev, libwxgtk2.8-dev


Also I have this patch applied on the sources:
Code:
Index: iris2-0svn3021/lugre/CMakeLists.txt
===================================================================
--- iris2-0svn3021.orig/lugre/CMakeLists.txt   2009-09-10 01:46:00.324487054 +0200
+++ iris2-0svn3021/lugre/CMakeLists.txt   2009-09-10 01:46:00.612460819 +0200
@@ -1,6 +1,6 @@
ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/lib/cadune_tree)
IF(NOT USE_SYSTEM_LUA)
-   ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/lib/lua-5.1.3)
+   ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/lib/lua-5.1.4)
ENDIF(NOT USE_SYSTEM_LUA)
ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/lib/caelum)
ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/lib/md5)
@@ -10,6 +10,9 @@
INCLUDE_DIRECTORIES(
   ${MYLUGRE_INCLUDES}
   ${PKGOGRE_INCLUDE_DIRS}
+   "/usr/include/wx-2.8"
+   "/usr/lib/wx/include/base-unicode-release-2.8/"
+   "/usr/lib/wx/include/gtk2-unicode-release-2.8/"
)
ADD_DEFINITIONS(
   ${PKGOGRE_CFLAGS_OTHER}
Index: iris2-0svn3021/CMakeLists.txt
===================================================================
--- iris2-0svn3021.orig/CMakeLists.txt   2009-09-10 01:46:00.344450277 +0200
+++ iris2-0svn3021/CMakeLists.txt   2009-09-10 01:53:51.153450944 +0200
@@ -13,15 +13,21 @@
      "${iris2_SOURCE_DIR}/lugre/lib/caelum/include"
      "${iris2_SOURCE_DIR}/lugre/lib/cadune_tree/include"
      "${iris2_SOURCE_DIR}/lugre/lib/md5/include"
+      "/usr/include/wx-2.8"
+      "/usr/lib/wx/include/base-unicode-release-2.8/"
+      "/usr/lib/wx/include/gtk2-unicode-release-2.8/"
   )
   SET(LUA_LIBNAMES ${PKGlua_LIBRARIES})
ELSE(USE_SYSTEM_LUA)
   SET(MYLUGRE_INCLUDES
      "${iris2_SOURCE_DIR}/lugre/include"
-      "${iris2_SOURCE_DIR}/lugre/lib/lua-5.1.3/src"
+      "${iris2_SOURCE_DIR}/lugre/lib/lua-5.1.4/src"
      "${iris2_SOURCE_DIR}/lugre/lib/caelum/include"
      "${iris2_SOURCE_DIR}/lugre/lib/cadune_tree/include"
      "${iris2_SOURCE_DIR}/lugre/lib/md5/include"
+      "/usr/include/wx-2.8"
+      "/usr/lib/wx/include/base-unicode-release-2.8/"
+      "/usr/lib/wx/include/gtk2-unicode-release-2.8/"
   )
   SET(LUA_LIBNAMES lugrelua)
ENDIF(USE_SYSTEM_LUA)
@@ -45,7 +51,7 @@
   ${PKGopenal_LIBRARY_DIRS}
   ${PKGvorbisfile_LIBRARY_DIRS}
   ${PKGlua_LIBRARY_DIRS}
-   "${iris2_BINARY_DIR}/lugre/lib/lua-5.1.3"
+   "${iris2_BINARY_DIR}/lugre/lib/lua-5.1.4"
   "${iris2_BINARY_DIR}/lugre/lib/md5"
   "${iris2_BINARY_DIR}/lugre/lib/caelum"
   "${iris2_BINARY_DIR}/lugre/lib/cadune_tree"


But I get this error:
Code:
[ 35%] Building CXX object lugre/CMakeFiles/lugre.dir/src/lugre_commondialog.o
cd /home/korn/iris/iris2-0svn3021/builddir/lugre && /usr/bin/c++   -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -DENABLE_THREADS -DUSE_LUGRE_LIB_MD5 -DUSE_LUGRE_LIB_CADUNE_TREE -DUSE_LUGRE_LIB_CAELUM -DUSE_OPENAL -g -O2 -I/home/korn/iris/iris2-0svn3021/lugre/include -I/home/korn/iris/iris2-0svn3021/lugre/lib/lua-5.1.4/src -I/home/korn/iris/iris2-0svn3021/lugre/lib/caelum/include -I/home/korn/iris/iris2-0svn3021/lugre/lib/cadune_tree/include -I/home/korn/iris/iris2-0svn3021/lugre/lib/md5/include -I/usr/include/wx-2.8 -I/usr/lib/wx/include/base-unicode-release-2.8 -I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/include/OGRE   -DMAIN_WORKING_DIR=\"..\" -DLUA_DIR=\"lua\" -DLUGRE_DIR=\"lugre\" -DDATA_DIR=\"data\" -o CMakeFiles/lugre.dir/src/lugre_commondialog.o -c /home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp
In file included from /usr/include/wx-2.8/wx/window.h:23,
                 from /home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:180:
/usr/include/wx-2.8/wx/cursor.h: In constructor ‘wxBusyCursorSuspender::wxBusyCursorSuspender()’:
/usr/include/wx-2.8/wx/cursor.h:65: error: ‘wxIsBusy’ was not declared in this scope
/usr/include/wx-2.8/wx/cursor.h:67: error: ‘wxBusyCursor’ has not been declared
/usr/include/wx-2.8/wx/cursor.h:67: error: ‘wxSetCursor’ was not declared in this scope
/usr/include/wx-2.8/wx/cursor.h: In destructor ‘wxBusyCursorSuspender::~wxBusyCursorSuspender()’:
/usr/include/wx-2.8/wx/cursor.h:72: error: ‘wxIsBusy’ was not declared in this scope
/usr/include/wx-2.8/wx/cursor.h:74: error: ‘wxBusyCursor’ has not been declared
/usr/include/wx-2.8/wx/cursor.h:74: error: ‘wxSetCursor’ was not declared in this scope
In file included from /usr/include/wx-2.8/wx/window.h:26,
                 from /home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:180:
/usr/include/wx-2.8/wx/region.h: In member function ‘bool wxRegionBase::Intersect(const wxRect&)’:
/usr/include/wx-2.8/wx/region.h:251: error: invalid use of incomplete type ‘struct wxRegion’
/usr/include/wx-2.8/wx/gdicmn.h:38: error: forward declaration of ‘struct wxRegion’
/usr/include/wx-2.8/wx/region.h: In member function ‘bool wxRegionBase::Subtract(const wxRect&)’:
/usr/include/wx-2.8/wx/region.h:256: error: invalid use of incomplete type ‘struct wxRegion’
/usr/include/wx-2.8/wx/gdicmn.h:38: error: forward declaration of ‘struct wxRegion’
/usr/include/wx-2.8/wx/region.h: In member function ‘bool wxRegionBase::Xor(const wxRect&)’:
/usr/include/wx-2.8/wx/region.h:261: error: invalid use of incomplete type ‘struct wxRegion’
/usr/include/wx-2.8/wx/gdicmn.h:38: error: forward declaration of ‘struct wxRegion’
In file included from /home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:180:
/usr/include/wx-2.8/wx/window.h: At global scope:
/usr/include/wx-2.8/wx/window.h:82: error: field ‘font’ has incomplete type
/usr/include/wx-2.8/wx/window.h:85: error: field ‘colFg’ has incomplete type
/usr/include/wx-2.8/wx/window.h:89: error: field ‘colBg’ has incomplete type
/usr/include/wx-2.8/wx/window.h:920: error: ‘wxUpdateUIEvent’ has not been declared
/usr/include/wx-2.8/wx/window.h:1108: error: ‘wxSysColourChangedEvent’ has not been declared
/usr/include/wx-2.8/wx/window.h:1109: error: ‘wxInitDialogEvent’ has not been declared
/usr/include/wx-2.8/wx/window.h:1110: error: ‘wxMouseEvent’ has not been declared
/usr/include/wx-2.8/wx/window.h:1125: error: ‘WXWidget’ does not name a type
/usr/include/wx-2.8/wx/window.h:1127: error: ‘WXWidget’ has not been declared
/usr/include/wx-2.8/wx/window.h:1222: error: field ‘m_cursor’ has incomplete type
/usr/include/wx-2.8/wx/window.h:1223: error: field ‘m_font’ has incomplete type
/usr/include/wx-2.8/wx/window.h:1224: error: field ‘m_backgroundColour’ has incomplete type
/usr/include/wx-2.8/wx/window.h:1225: error: field ‘m_foregroundColour’ has incomplete type
/usr/include/wx-2.8/wx/window.h:1232: error: field ‘m_updateRegion’ has incomplete type
/usr/include/wx-2.8/wx/window.h:562: error: ‘wxNavigationKeyEvent’ has not been declared
/usr/include/wx-2.8/wx/window.h: In member function ‘const wxRegion& wxWindowBase::GetUpdateRegion() const’:
/usr/include/wx-2.8/wx/window.h:761: error: ‘m_updateRegion’ was not declared in this scope
/usr/include/wx-2.8/wx/window.h: In member function ‘wxRegion& wxWindowBase::GetUpdateRegion()’:
/usr/include/wx-2.8/wx/window.h:762: error: ‘m_updateRegion’ was not declared in this scope
/usr/include/wx-2.8/wx/window.h: In member function ‘const wxCursor& wxWindowBase::GetCursor() const’:
/usr/include/wx-2.8/wx/window.h:850: error: ‘m_cursor’ was not declared in this scope
/usr/include/wx-2.8/wx/window.h: In member function ‘wxWindow* wxWindowBase::GetGrandParent() const’:
/usr/include/wx-2.8/wx/window.h:1539: error: invalid use of incomplete type ‘struct wxWindow’
/usr/include/wx-2.8/wx/utils.h:51: error: forward declaration of ‘struct wxWindow’
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp: In function ‘bool Lugre::FileUniDialog(const std::string&, const std::string&, const std::string&, std::string&, bool)’:
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:224: error: cannot allocate an object of abstract type ‘wxApp’
/usr/include/wx-2.8/wx/app.h:58: note:   because the following virtual functions are pure within ‘wxApp’:
/usr/include/wx-2.8/wx/app.h:89: note:    virtual int wxAppConsole::OnRun()
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:229: error: invalid use of incomplete type ‘struct wxWindow’
/usr/include/wx-2.8/wx/utils.h:51: error: forward declaration of ‘struct wxWindow’
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:230: error: invalid use of incomplete type ‘struct wxWindow’
/usr/include/wx-2.8/wx/utils.h:51: error: forward declaration of ‘struct wxWindow’
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:231: error: ‘class wxAppConsole’ has no member named ‘SetTopWindow’
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:237: error: ‘wxFileDialog’ was not declared in this scope
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:237: error: ‘openFileDialog’ was not declared in this scope
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:238: error: expected type-specifier before ‘wxFileDialog’
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:238: error: expected `;' before ‘wxFileDialog’
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:252: warning: possible problem detected in invocation of delete operator:
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:229: warning: ‘mainWindow’ has incomplete type
/usr/include/wx-2.8/wx/utils.h:51: warning: forward declaration of ‘struct wxWindow’
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:252: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined.
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:219: warning: ignoring return value of ‘char* getcwd(char*, size_t)’, declared with attribute warn_unused_result
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:221: warning: ignoring return value of ‘int chdir(const char*)’, declared with attribute warn_unused_result
/home/korn/iris/iris2-0svn3021/lugre/src/lugre_commondialog.cpp:261: warning: ignoring return value of ‘int chdir(const char*)’, declared with attribute warn_unused_result
make[3]: *** [lugre/CMakeFiles/lugre.dir/src/lugre_commondialog.o] Error 1

Author:  ghoulsblade [ Thu Sep 10, 2009 8:40 am ]
Post subject: 

hi, you seem to be using cmake or something, these aren't supported anymore.

please use the newest iris 2 sourcecode from svn, as it contains the latest bugfixes, available via
install subversion
svn co svn://iris.schattenkind.net/iris/trunk iris


i'm also compiling on ubuntu 9.04, so you should be able to use the setup without changes.

./installdeps.ubuntu.sh to install dependencies
./premakelinux.sh to compile iris

use ./makeclean.sh after config/lib changes

also some people seem to have had problems with the newest ogre version under linux, i'm still using ogre 1.6.1 , compiled from source via
http://sourceforge.net/projects/ogre/fi ... 2/download
(see installdeps.ubuntu.sh for instructions on how to build)

Author:  c_korn [ Thu Sep 10, 2009 12:41 pm ]
Post subject: 

Hm, I experience an odd problem when using this premake script:
Code:
$ ls -l premake
-rwxr-xr-x 1 korn korn 203288 2009-09-10 11:56 premake
(jaunty.amd64)korn@ubuntu:~/iris/iris2-0svn3126$ ./premake --noassert --target gnu
bash: ./premake: No such file or directory


//edit
The executable is for i386 actually and I am trying to build for amd64.
Code:
$ file premake
premake: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped

What are the instructions to recompile premake ?

Author:  ghoulsblade [ Thu Sep 10, 2009 2:33 pm ]
Post subject: 

that is weird indeed. the file is obviously there, yet not there, mind shakespear.

are you running a 64 bit system or 32 bit ?

be sure to run ./premakelinux.sh instead of directly running ./premake

Author:  ghoulsblade [ Thu Sep 10, 2009 2:36 pm ]
Post subject: 

ah ok, you'll need to compile premake yourself then.
you can get the source from http://premake.sourceforge.net/
we use version 3.7

Author:  c_korn [ Thu Sep 10, 2009 3:48 pm ]
Post subject: 

Fine, the self-compiled premake works actually.

Now there is an error because fmod is not found:
Code:
lugre/src/lugre_sound_fmod.cpp:6:18: warning: fmod.h: No such file or directory
lugre/src/lugre_sound_fmod.cpp:7:25: warning: fmod_errors.h: No such file or directory


I want to use openal instead of fmod because fmod is not open source.

How can I disable the use of fmod and enable the use of openal ?

//edit
Ok. I found the option in premake.lua.

But now I get this error:
Code:
lugre/src/lugre_texatlas.cpp: In member function ‘void Lugre::cTexAtlas::MakeImage(Ogre::Image&)’:
lugre/src/lugre_texatlas.cpp:90: error: ‘MEMCATEGORY_GENERAL’ is not a member of ‘Ogre’
lugre/src/lugre_texatlas.cpp:90: error: ‘OGRE_MALLOC’ was not declared in this scope

Is this because I use ogre version 1.4.9 ?

Author:  ghoulsblade [ Thu Sep 10, 2009 5:17 pm ]
Post subject: 

Yep, you need ogre 1.6.* ,
ogre 1.4.* is badly outdated and not supported anymore.
(have the distro's still not updated ? jeeez, so much for linux as a gamedev platform).

I'd recommend 1.6.1, as the later versions 1.6.2 and 1.6.3 seem to cause trouble under linux.

I'd really recommend using fmod, it might not be opensource, but it gets the job done ten times better than openal.
OpenAL means no music (as it can't handle the mp3 variant uo uses or something like that) and also seems to sometimes cause crashes.

Author:  c_korn [ Thu Sep 10, 2009 7:38 pm ]
Post subject: 

Ok, thanks. So I will queue the build until Ubuntu karmic is released at the end of October. This release will include ogre-1.6.1.

Thanks for your help.

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/