[SOLVED]Another ETM Linux Compilation Problem


19-04-2009 14:22:50

I have checked out SVN and am trying to compile without success. The stable 2.3.1 zip doesn't seem to work either and the mimimalist makefile isnt helping as to the reasons why. Ofcourse I am assuming here that ETM is compatible with Ogre 1.6.1, esp. after this post viewtopic.php?f=16&t=9331


CMake output:

$ cmake CMakeLists.txt
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for OGRE...
-- checking for module 'OGRE'
-- found OGRE, version 1.6.1
-- Found Ogre Shoggoth (1.6.1)
-- Found OGRE: /usr/local/lib/libOgreMain.so
-- Ogre include dirs: /usr/local/include/OGRE
-- checking for module 'CEGUI'
-- found CEGUI, version 0.5.0
-- Looking for OIS...
-- OIS_PREFIX_PATH changed.
-- checking for module 'OIS'
-- found OIS, version 1.0.0
-- Found OIS: /usr/lib/libOIS.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/balajee/ogre/etm/trunk

and the make output

$ make
Scanning dependencies of target EditableTerrain
[ 4%] Building CXX object EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETAutoUpdater.cpp.o
[ 8%] Building CXX object EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETBrush.cpp.o
[ 12%] Building CXX object EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETDynamicTexture.cpp.o
[ 16%] Building CXX object EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETIndexHandler.cpp.o
[ 20%] Building CXX object EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETMovable.cpp.o
[ 25%] Building CXX object EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETMovableContainer.cpp.o
[ 29%] Building CXX object EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETPage.cpp.o
/home/balajee/ogre/etm/trunk/EditableTerrain/src/ETPage.cpp: In member function ‘void ET::Page::createPatches(const Ogre::String&, unsigned int, Ogre::Real, unsigned int, Ogre::Real)’:
/home/balajee/ogre/etm/trunk/EditableTerrain/src/ETPage.cpp:114: error: cannot allocate an object of abstract type ‘ET::Patch’
/home/balajee/ogre/etm/trunk/EditableTerrain/include/ETPatch.h:49: note: because the following virtual functions are pure within ‘ET::Patch’:
/home/balajee/ogre/etm/trunk/EditableTerrain/include/ETUpdatable.h:43: note: virtual void ET::Updatable::update()
/home/balajee/ogre/etm/trunk/EditableTerrain/src/ETPage.cpp: At global scope:
/home/balajee/ogre/etm/trunk/EditableTerrain/src/ETPage.cpp:152: error: prototype for ‘void ET::Page::notifyDestroyed()’ does not match any in class ‘ET::Page’
/home/balajee/ogre/etm/trunk/EditableTerrain/include/ETPage.h:86: error: candidate is: virtual void ET::Page::notifyDestroyed(ET::Editable*)
make[2]: *** [EditableTerrain/CMakeFiles/EditableTerrain.dir/src/ETPage.cpp.o] Error 1
make[1]: *** [EditableTerrain/CMakeFiles/EditableTerrain.dir/all] Error 2
make: *** [all] Error 2

As for the 2.3.1 zip

$ make
g++ -O2 `pkg-config OGRE --cflags` -Iinclude -fPIC -c -o obj/ETBrush.o src/ETBrush.cpp
Assembler messages:
Fatal error: can't create obj/ETBrush.o: No such file or directory
make: *** [all] Error 1

I confess I am not extremely conversant with GNU/Linux programming, so please point out if I am not doing something obvious.


19-04-2009 14:37:51

svn is broken, it doesn't compile anywhere on any platform.

As for the ETM makefile, you need to create the directories bin and obj. The simple Makefile doesn't do it automatically, and apparently I forgot to include them in the zip archive.


19-04-2009 14:52:46

Awesome! That was a lightning quick reply and that fixed the problem. Thanks a ton!