Compile errors / gentoo ebuild

Found a bug? Report it here.

Moderator: PPS-Leaders

Post Reply
User avatar
wipp
Human Space Navy Private
Posts: 2
Joined: Tue Oct 03, 2006 10:52 am
Location: Pfaeffikon ZH

Compile errors / gentoo ebuild

Post by wipp » Thu Oct 05, 2006 3:01 pm

I came across the article in Polykum about Orxonox and gave it a try.
Great work!

Here are the issues:
  • Since I'm using Gentoo I fetched the ebuild (orxonox-0.3.2_alpha-r7122.ebuild). I had to copy it from the listing and remove the line numbers :wink: . Right click / save resulted in a html file.
  • Then the ebuild was not able to fetch orxonox-0.3.2_alpha-r7122.tar.bz2 and
    http://fuchs.dnsalias.net/public/orxonox/
    seems to be down. I finally got the file but I don't remember where I got it from or if I renamed an other snapshot.
  • Finally: to get it to compile without errors I had to modify the following files:

    Code: Select all

    diff -r orxonox-0.3.2_alpha/src/lib/graphics/importer/md2Model.h orxonox-0.3.2_alpha_new/src/lib/graphics/importer/md2Model.h
    234c234
    <   inline int MD2Model::getAnim() { return this->animationState.type; }
    ---
    >   inline int getAnim() { return this->animationState.type; }
    diff -r orxonox-0.3.2_alpha/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h orxonox-0.3.2_alpha_new/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h
    34c34
    <   inline int GLMenuImageScreen::getMaximum() const { return this->maxValue; };
    ---
    >   inline int getMaximum() const { return this->maxValue; };
    diff -r orxonox-0.3.2_alpha/src/lib/network/network_game_manager.h orxonox-0.3.2_alpha_new/src/lib/network/network_game_manager.h
    80c80
    <     static NetworkGameManager* NetworkGameManager::getInstance()
    ---
    >     static NetworkGameManager* getInstance()
    diff -r orxonox-0.3.2_alpha/src/lib/parser/ini_parser/ini_parser.cc orxonox-0.3.2_alpha_new/src/lib/parser/ini_parser/ini_parser.cc
    187c187
    <         if (currentSection == NULL)
    ---
    >         if (currentSection == sections.end())
    449c449
    <     if (entry != NULL &&  !strcmp((*entry).name, entryName))
    ---
    >     if (entry != (*getSectionIT(sectionName)).entries.end() &&  !strcmp((*entry).name, entryName))
    619,621d618
    <   if (entry == (*section).entries.end())
    <     return NULL;
    <   else
    642,644d638
    <   if (entry == (*section).entries.end())
    <     return NULL;
    <   else
    diff -r orxonox-0.3.2_alpha/src/lib/shell/shell_completion.h orxonox-0.3.2_alpha_new/src/lib/shell/shell_completion.h
    58c58
    <   static const char* ShellCompletion::typeToString(SHELLC_TYPE type);
    ---
    >   static const char* typeToString(SHELLC_TYPE type);
    diff -r orxonox-0.3.2_alpha/src/world_entities/power_ups/laser_power_up.h orxonox-0.3.2_alpha_new/src/world_entities/power_ups/laser_power_up.h
    24c24
    <   virtual void LaserPowerUp::collidesWith(WorldEntity* entity, const Vector& location);
    ---
    >   virtual void collidesWith(WorldEntity* entity, const Vector& location);
    diff -r orxonox-0.3.2_alpha/src/world_entities/power_ups/turret_power_up.h orxonox-0.3.2_alpha_new/src/world_entities/power_ups/turret_power_up.h
    22c22
    <   virtual void TurretPowerUp::collidesWith(WorldEntity* entity, const Vector&
    location);
    ---
    >   virtual void collidesWith(WorldEntity* entity, const Vector& location);
    diff -r orxonox-0.3.2_alpha/src/world_entities/spawning_point.h orxonox-0.3.2_alpha_new/src/world_entities/spawning_point.h
    27c27
    <     void SpawningPoint::setSpawningEntity(ClassID classID) { this->classID = classID; }
    ---
    >     void setSpawningEntity(ClassID classID) { this->classID = classID; }
    29c29
    <     void SpawningPoint::setSpawningFrequency(float frequency) { this->frequency = frequency; }
    ---
    >     void setSpawningFrequency(float frequency) { this->frequency = frequency;
    }
    31c31
    <     void SpawningPoint::setPositionSeed(float seed) { this->seed = seed; }
    ---
    >     void setPositionSeed(float seed) { this->seed = seed; }
    diff -r orxonox-0.3.2_alpha/src/world_entities/world_entity.cc orxonox-0.3.2_alpha_new/src/world_entities/world_entity.cc
    66c66
    <   this->objectListIterator = NULL;
    ---
    >   //  this->objectListIterator = NULL;
    
I was able to play :mrgreen: and only a few seg faults occured (confirm config gui, [ESC] / [next level button] in meteroid level)

User avatar
patrick
Baron Vladimir Harkonnen
Posts: 350
Joined: Mon Oct 02, 2006 6:03 pm
Location: Bern

Post by patrick » Thu Oct 05, 2006 7:42 pm

Nice work! We will fix the ebuild as soon as possible (after my last exam next week :D).
We just didn't have enough time lately to make it easier to install orxonox, but we will work on this in the next semester.
Yes, there are some segfaults, they are mostly because of untested input combinations or stuff that just isn't yet checked correctly.

Thanks for the compliment and thanks for testing it out. We are always happy to hear some feedback. Keep in touch.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests