I get the following error when trying to compile ogre: ### OgreEXRCodecDll.cpp: In function 'void Ogre::dllStartPlugin()': OgreEXRCodecDll.cpp:37: error: cannot allocate an object of abstract type 'Ogre::EXRCodec' ../../../PlugIns/EXRCodec/include/OgreEXRCodec.h:40: note: because the following virtual functions are pure within 'Ogre::EXRCodec': ../../../OgreMain/include/OgreCodec.h:153: note: virtual Ogre::String Ogre::Codec::magicNumberToFileExt(const char*, size_t) const make[3]: *** [OgreEXRCodecDll.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/var/tmp/paludis/dev-games-ogre-1.6.1/work/ogre/PlugIns/EXRCodec/src' ### This is how I tried to install it: * dev-games/ogre [U 1.4.9 -> 1.6.1] cegui cg devil doc double-precision examples gtk openexr threads build_options: split strip I think it is an upstream issue (not implemented a pure virtual function). Reproducible: Always
reopen with your emerge --info output
Created attachment 181487 [details] paludis --info Th eproblem is, tha Ogre::Codec defines a pure virtual function virtual String magicNumberToFileExt(const char *magicNumberPtr, size_t maxbytes) const = 0; in OgreCodec.h, line 153. And neither Ogre::ImageCodec, norOgre::EXRCodec implement this. So in OgreEXRCodecDll.cpp line 37, when they try to instantiate a new object, this MUST fail... mEXRCodec = new EXRCodec;
Created attachment 181488 [details] emerge --info
Reopen with emerge --info
Created attachment 181611 [details] Same error
Created attachment 181612 [details] emerge --info
It seems Ogre from 1.6.0 does not support the OpenEXR anymore, as EXR support is already provided in FreeImage: http://www.ogre3d.org/forums/viewtopic.php?f=2&t=45636 It compiles fine building with -openexr, but I didn't test for EXR capabilities.
> It compiles fine building with -openexr Don't help to me :-/
(In reply to comment #8) Try to unmerge any earlier version of Ogre fitst -- looks like problem is here
> Try to unmerge any earlier version of Ogre fitst Do not help to me :(
afaik, the openexr code in ogre is no longer maintained, they use freeimage instead. Speaking of which, now that freeimage is no longer hardmasked, should the freeimage use flag be restored?
USE="-openexr freeimage" emerge ogre works for me.
Try 1.6.2.