Iris2.de

Iris2-Forum
It is currently Sat Nov 09, 2024 12:28 am

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Thu Sep 10, 2009 12:22 am 
Offline

Joined: Thu Sep 10, 2009 12:12 am
Posts: 4
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


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 10, 2009 8:40 am 
Offline
iris2-developer
User avatar

Joined: Tue Apr 18, 2006 10:28 pm
Posts: 823
Location: Munich, Bavaria, Germany
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)


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 10, 2009 12:41 pm 
Offline

Joined: Thu Sep 10, 2009 12:12 am
Posts: 4
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 ?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 10, 2009 2:33 pm 
Offline
iris2-developer
User avatar

Joined: Tue Apr 18, 2006 10:28 pm
Posts: 823
Location: Munich, Bavaria, Germany
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


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 10, 2009 2:36 pm 
Offline
iris2-developer
User avatar

Joined: Tue Apr 18, 2006 10:28 pm
Posts: 823
Location: Munich, Bavaria, Germany
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


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 10, 2009 3:48 pm 
Offline

Joined: Thu Sep 10, 2009 12:12 am
Posts: 4
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 ?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 10, 2009 5:17 pm 
Offline
iris2-developer
User avatar

Joined: Tue Apr 18, 2006 10:28 pm
Posts: 823
Location: Munich, Bavaria, Germany
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.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 10, 2009 7:38 pm 
Offline

Joined: Thu Sep 10, 2009 12:12 am
Posts: 4
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group