Note: I used the github-head ( b344c297007b56660e4d828e73c8110f78dfcb09 ) instead of svn head.
It seems, Ogre broke some APIs. See here or here. Output of one of those errors (gcc 4.8.2-1):
In file included from /usr/include/OGRE/OgreHardwareVertexBuffer.h:34:0,
from /usr/include/OGRE/OgreVertexIndexData.h:32,
from /usr/include/OGRE/OgreRenderOperation.h:32,
from /usr/include/OGRE/OgreRenderable.h:34,
from /usr/include/OGRE/OgreNode.h:38,
from /usr/include/OGRE/OgreSceneNode.h:33,
from /usr/include/OGRE/OgreSceneManager.h:37,
from /usr/include/OGRE/OgreSceneManagerEnumerator.h:33,
from /usr/include/OGRE/OgreRoot.h:36,
from /home/pschn/software/FreeOrion/freeorion/FreeOrion/PagedGeometry/source/BatchPage.cpp:15:
/usr/include/OGRE/OgreSharedPtr.h: In instantiation of ‘Ogre::SharedPtr<T>::SharedPtr(const Ogre::SharedPtr<Y>&) [with Y = Ogre::Resource; T = Ogre::Material]’:
/home/pschn/software/FreeOrion/freeorion/FreeOrion/PagedGeometry/source/BatchPage.cpp:475:100: required from here
/usr/include/OGRE/OgreSharedPtr.h:191:17: error: invalid conversion from ‘Ogre::Resource*’ to ‘Ogre::Material*’ [-fpermissive]
I'm neither confident with Ogre nor with the source of FreeOrion. But applying the cast of the second link seems to fix my build errors (see attached, output off git diff > /tmp/FreeOrion.patch). It's an ugly solution with #ifdef-#else-mazes but at least fixes the build issues for me.
Ogre has been removed as a dependency in the latest SVN version.