Google

SDL build error - OGRE 1.2.0RC1

Problems building or running the engine, queries about how to use features etc.

Moderators: OGRE Team, Moderators

SDL build error - OGRE 1.2.0RC1

Postby hamilton » Tue Mar 14, 2006 3:36 am

Howdy folks, I'm writing an ebuild for OGRE 1.2.0RC1 but I'm getting some goofy errors upon building with SDL as my platform. I ran the following:
Code: Select all
./configure --with-cfgtk=gtk --with-platform=SDL
which gave me no problems. I then ran
Code: Select all
make
which progressed nicely until it bombed out here:
Code: Select all
g++ -DHAVE_CONFIG_H -I. -I. -I../../../OgreMain/include -I../../../PlatformManagers/SDL/include -I../../../PlatformManagers/SDL/include -I../../../OgreMain/include -I/usr/include/SDL -D_REENTRANT -I/usr/include/gtkmm-2.4 -I/usr/lib64/gtkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib64/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/atkmm-1.6 -I/usr/include/gtk-2.0 -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/atk-1.0 -I/usr/include/libglademm-2.4 -I/usr/lib64/libglademm-2.4/include -I/usr/include/libglade-2.0 -I/usr/include/libxml2 -DSHAREDIR=\"/usr/local/share/OGRE\" -g -O2 -fPIC -I/usr/include/SDL -D_REENTRANT -MT OgreSDLConfig.lo -MD -MP -MF .deps/OgreSDLConfig.Tpo -c OgreSDLConfig.cpp  -fPIC -DPIC -o OgreSDLConfig.loIn file included from OgreSDLConfig.cpp:25:
../../../PlatformManagers/SDL/include/OgreSDLConfig.h:44: error: expected class-name before '{' token
OgreSDLConfig.cpp: In member function `virtual bool Ogre::SDLConfig::display()':OgreSDLConfig.cpp:44: error: incomplete type `Ogre::LogManager' used in nested name specifier
OgreSDLConfig.cpp:52: error: incomplete type `Ogre::LogManager' used in nested name specifier
OgreSDLConfig.cpp:68: error: `slot' is not a member of `SigC'
OgreSDLConfig.cpp:71: error: `slot' is not a member of `SigC'
OgreSDLConfig.cpp:73: error: `slot' is not a member of `SigC'
OgreSDLConfig.cpp:75: error: `slot' is not a member of `SigC'
OgreSDLConfig.cpp:77: error: `slot' is not a member of `SigC'
OgreSDLConfig.cpp:78: error: `slot' is not a member of `SigC'
make[4]: *** [OgreSDLConfig.lo] Error 1
make[4]: Leaving directory `/home/hamilton/ogrenew/PlatformManagers/SDL/src'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/hamilton/ogrenew/PlatformManagers/SDL/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/hamilton/ogrenew/PlatformManagers/SDL'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/hamilton/ogrenew/PlatformManagers'
make: *** [all-recursive] Error 1
I'm using libSDL 1.2.9. Re-configuring using --with-platform=GLX compiles without error. I remember seeing this error on OGRE 1.0.5 as well. Where should I look for a remedy?
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby pjcast » Tue Mar 14, 2006 3:39 am

Hmm, I am not on linux right now (and in fact am reinstalling all my OSes). However, I thought gt had it's own rendersystem and platoform. I don't think you should be mixing the SDL platform and gt renderer. And, besides, from what i hear, GLX is the preferred way (and most updated platform on Linux now) to embed windows.
Have a question about Input? Video? WGE? Come on over... http://www.wreckedgames.com/forum/
User avatar
pjcast
OGRE Team Member
OGRE Team Member
 
Posts: 2925
Joined: Fri Oct 24, 2003 2:53 am
Location: San Diego, Ca

Postby hamilton » Tue Mar 14, 2006 3:45 am

If SDL is a deprecated option, I'll gladly disable that bit when I submit the ebuild. If GLX is the most current and best supported, I won't worry about SDL. Thank you for the timely response!
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby Frenetic » Tue Mar 14, 2006 5:49 am

SDL is also less desirable because, afaik (been a while since I really used SDL), you can have only one window for your app (not a problem with games really, but its still a rather significant limit in general).

...unless, of course, Ogre somehow creates multiple instances of SDL for every RenderWindow... I doubt it.
User avatar
Frenetic
Veteran
 
Posts: 806
Joined: Fri Feb 03, 2006 7:08 am

Postby MWeb » Tue Mar 14, 2006 7:59 am

hamilton nice of you to create the ebuild. I have started with creating one too, but couldn’t finish it yesterday and i won't have time today. So if I’m lucky I can use yours tomorrow. :wink:
Are you going to add the amd64 keyword? this was missing in all old ebuilds and it always compiled just fine. There was also a bug report that it worked but no change.
MWeb
Familiar face
 
Posts: 46
Joined: Fri Sep 24, 2004 10:04 am
Location: Luzern, Switzerland

Postby hamilton » Tue Mar 14, 2006 8:18 am

MWeb

That was my bug report, and I've since gotten the dependencies updated for 1.2.0 (Dagon) with many thanks to sinbad and Temas. I intend to keyword it ~amd64 and let the maintainers handle it from there. I will submit the ebuild as soon as the OceanDemo situation here has been resolved. Feel free to help figure out what's going on with CEGUI and SDL. I can be reached in IRC as arbiter_dev in #gentoo on irc.freenode.net
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby MWeb » Tue Mar 14, 2006 1:19 pm

I have posted some information about the Ocean Demo this is the same as I had when I tried to build it before Dagon. About SDL I don't know, this was just the point I couldn't get ebuild to work.
As I said I won’t have time until tomorrow evening to work on this. But if I can help you then I will. Thanks.
MWeb
Familiar face
 
Posts: 46
Joined: Fri Sep 24, 2004 10:04 am
Location: Luzern, Switzerland

Postby hamilton » Tue Mar 14, 2006 8:22 pm

Thank you for clarifying what was going on with CEGUI. I've posted the preliminary ebuild here along with the necessary CEGUI patch and the updated dependencies to build with GLX instead of SDL.
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby MWeb » Tue Mar 14, 2006 11:00 pm

thx i will give it a try tomorow.
MWeb
Familiar face
 
Posts: 46
Joined: Fri Sep 24, 2004 10:04 am
Location: Luzern, Switzerland

Postby MWeb » Wed Mar 15, 2006 7:59 pm

did it work for you? it compiled just fine. but it didn't install the libararies. I got some problems with a fixed path /usr/local/lib. But this isn't used on Gentoo.
If i try to compile by hand i just get the same error but if i run a make clean just after ./configure
it works perfectly.
Does sombody have an idea what that could be?
MWeb
Familiar face
 
Posts: 46
Joined: Fri Sep 24, 2004 10:04 am
Location: Luzern, Switzerland

Postby eckzow » Thu Mar 16, 2006 4:51 am

I also am missing the libraries with the ebuild as posted in the bug notice... neither /usr/lib/OGRE nor /usr/local/lib/OGRE exist after emerging.

I'll see if I can't puzzle it out for myself and update it on the bug entry if I can fix it...
eckzow
Newcomer
 
Posts: 8
Joined: Thu Mar 16, 2006 4:46 am

Postby hamilton » Thu Mar 16, 2006 7:07 am

Running the following on my Gentoo system shows me what is installed:

Code: Select all
# equery f ogre
[ Searching for packages matching ogre... ]
* Contents of dev-games/ogre-1.2.0:
/usr
/usr/bin
/usr/bin/OgreMaterialUpgrade
/usr/bin/OgreMeshUpgrade
/usr/bin/OgreXMLConverter
/usr/include
/usr/include/OGRE
/usr/include/OGRE/Ogre.h
/usr/include/OGRE/OgreAnimable.h
/usr/include/OGRE/OgreAnimation.h
/usr/include/OGRE/OgreAnimationState.h
/usr/include/OGRE/OgreAnimationTrack.h
/usr/include/OGRE/OgreAny.h
/usr/include/OGRE/OgreArchive.h
/usr/include/OGRE/OgreArchiveFactory.h
/usr/include/OGRE/OgreArchiveManager.h
/usr/include/OGRE/OgreAutoParamDataSource.h
/usr/include/OGRE/OgreAxisAlignedBox.h
/usr/include/OGRE/OgreBillboard.h
/usr/include/OGRE/OgreBillboardChain.h
/usr/include/OGRE/OgreBillboardParticleRenderer.h
/usr/include/OGRE/OgreBillboardSet.h
/usr/include/OGRE/OgreBitwise.h
/usr/include/OGRE/OgreBlendMode.h
/usr/include/OGRE/OgreBone.h
/usr/include/OGRE/OgreBorderPanelOverlayElement.h
/usr/include/OGRE/OgreCEGUIRenderer.h
/usr/include/OGRE/OgreCEGUIResourceProvider.h
/usr/include/OGRE/OgreCEGUITexture.h
/usr/include/OGRE/OgreCamera.h
/usr/include/OGRE/OgreCodec.h
/usr/include/OGRE/OgreColourValue.h
/usr/include/OGRE/OgreCommon.h
/usr/include/OGRE/OgreCompiler2Pass.h
/usr/include/OGRE/OgreCompositionPass.h
/usr/include/OGRE/OgreCompositionTargetPass.h
/usr/include/OGRE/OgreCompositionTechnique.h
/usr/include/OGRE/OgreCompositor.h
/usr/include/OGRE/OgreCompositorChain.h
/usr/include/OGRE/OgreCompositorInstance.h
/usr/include/OGRE/OgreCompositorManager.h
/usr/include/OGRE/OgreCompositorScriptCompiler.h
/usr/include/OGRE/OgreCompositorSerializer.h
/usr/include/OGRE/OgreConfig.h
/usr/include/OGRE/OgreConfigDialog.h
/usr/include/OGRE/OgreConfigFile.h
/usr/include/OGRE/OgreConfigOptionMap.h
/usr/include/OGRE/OgreController.h
/usr/include/OGRE/OgreControllerManager.h
/usr/include/OGRE/OgreCursor.h
/usr/include/OGRE/OgreDataStream.h
/usr/include/OGRE/OgreDefaultHardwareBufferManager.h
/usr/include/OGRE/OgreDynLib.h
/usr/include/OGRE/OgreDynLibManager.h
/usr/include/OGRE/OgreEdgeListBuilder.h
/usr/include/OGRE/OgreEntity.h
/usr/include/OGRE/OgreErrorDialog.h
/usr/include/OGRE/OgreEventDispatcher.h
/usr/include/OGRE/OgreEventListeners.h
/usr/include/OGRE/OgreEventProcessor.h
/usr/include/OGRE/OgreEventQueue.h
/usr/include/OGRE/OgreEventTarget.h
/usr/include/OGRE/OgreException.h
/usr/include/OGRE/OgreExternalTextureSource.h
/usr/include/OGRE/OgreExternalTextureSourceManager.h
/usr/include/OGRE/OgreFactoryObj.h
/usr/include/OGRE/OgreFileSystem.h
/usr/include/OGRE/OgreFont.h
/usr/include/OGRE/OgreFontManager.h
/usr/include/OGRE/OgreFrameListener.h
/usr/include/OGRE/OgreFrustum.h
/usr/include/OGRE/OgreGpuProgram.h
/usr/include/OGRE/OgreGpuProgramManager.h
/usr/include/OGRE/OgreGpuProgramUsage.h
/usr/include/OGRE/OgreHardwareBuffer.h
/usr/include/OGRE/OgreHardwareBufferManager.h
/usr/include/OGRE/OgreHardwareIndexBuffer.h
/usr/include/OGRE/OgreHardwareOcclusionQuery.h
/usr/include/OGRE/OgreHardwarePixelBuffer.h
/usr/include/OGRE/OgreHardwareVertexBuffer.h
/usr/include/OGRE/OgreHighLevelGpuProgram.h
/usr/include/OGRE/OgreHighLevelGpuProgramManager.h
/usr/include/OGRE/OgreILCodecs.h
/usr/include/OGRE/OgreILImageCodec.h
/usr/include/OGRE/OgreImage.h
/usr/include/OGRE/OgreImageCodec.h
/usr/include/OGRE/OgreInput.h
/usr/include/OGRE/OgreInputEvent.h
/usr/include/OGRE/OgreIteratorWrappers.h
/usr/include/OGRE/OgreKeyEvent.h
/usr/include/OGRE/OgreKeyFrame.h
/usr/include/OGRE/OgreKeyTarget.h
/usr/include/OGRE/OgreLight.h
/usr/include/OGRE/OgreLog.h
/usr/include/OGRE/OgreLogManager.h
/usr/include/OGRE/OgreManualObject.h
/usr/include/OGRE/OgreMaterial.h
/usr/include/OGRE/OgreMaterialManager.h
/usr/include/OGRE/OgreMaterialSerializer.h
/usr/include/OGRE/OgreMath.h
/usr/include/OGRE/OgreMatrix3.h
/usr/include/OGRE/OgreMatrix4.h
/usr/include/OGRE/OgreMemoryMacros.h
/usr/include/OGRE/OgreMemoryManager.h
/usr/include/OGRE/OgreMesh.h
/usr/include/OGRE/OgreMeshFileFormat.h
/usr/include/OGRE/OgreMeshManager.h
/usr/include/OGRE/OgreMeshSerializer.h
/usr/include/OGRE/OgreMeshSerializerImpl.h
/usr/include/OGRE/OgreMouseEvent.h
/usr/include/OGRE/OgreMouseMotionTarget.h
/usr/include/OGRE/OgreMouseTarget.h
/usr/include/OGRE/OgreMovableObject.h
/usr/include/OGRE/OgreMovablePlane.h
/usr/include/OGRE/OgreNoMemoryMacros.h
/usr/include/OGRE/OgreNode.h
/usr/include/OGRE/OgreOverlay.h
/usr/include/OGRE/OgreOverlayContainer.h
/usr/include/OGRE/OgreOverlayElement.h
/usr/include/OGRE/OgreOverlayElementCommands.h
/usr/include/OGRE/OgreOverlayElementFactory.h
/usr/include/OGRE/OgreOverlayManager.h
/usr/include/OGRE/OgrePanelOverlayElement.h
/usr/include/OGRE/OgreParticle.h
/usr/include/OGRE/OgreParticleAffector.h
/usr/include/OGRE/OgreParticleAffectorFactory.h
/usr/include/OGRE/OgreParticleEmitter.h
/usr/include/OGRE/OgreParticleEmitterCommands.h
/usr/include/OGRE/OgreParticleEmitterFactory.h
/usr/include/OGRE/OgreParticleIterator.h
/usr/include/OGRE/OgreParticleSystem.h
/usr/include/OGRE/OgreParticleSystemManager.h
/usr/include/OGRE/OgreParticleSystemRenderer.h
/usr/include/OGRE/OgrePass.h
/usr/include/OGRE/OgrePatchMesh.h
/usr/include/OGRE/OgrePatchSurface.h
/usr/include/OGRE/OgrePixelFormat.h
/usr/include/OGRE/OgrePlane.h
/usr/include/OGRE/OgrePlaneBoundedVolume.h
/usr/include/OGRE/OgrePlatform.h
/usr/include/OGRE/OgrePlatformManager.h
/usr/include/OGRE/OgrePose.h
/usr/include/OGRE/OgrePositionTarget.h
/usr/include/OGRE/OgrePredefinedControllers.h
/usr/include/OGRE/OgrePrerequisites.h
/usr/include/OGRE/OgreProfiler.h
/usr/include/OGRE/OgreProgressiveMesh.h
/usr/include/OGRE/OgreQuaternion.h
/usr/include/OGRE/OgreRadixSort.h
/usr/include/OGRE/OgreRay.h
/usr/include/OGRE/OgreRectangle.h
/usr/include/OGRE/OgreRectangle2D.h
/usr/include/OGRE/OgreRenderOperation.h
/usr/include/OGRE/OgreRenderQueue.h
/usr/include/OGRE/OgreRenderQueueInvocation.h
/usr/include/OGRE/OgreRenderQueueListener.h
/usr/include/OGRE/OgreRenderQueueSortingGrouping.h
/usr/include/OGRE/OgreRenderSystem.h
/usr/include/OGRE/OgreRenderSystemCapabilities.h
/usr/include/OGRE/OgreRenderTarget.h
/usr/include/OGRE/OgreRenderTargetListener.h
/usr/include/OGRE/OgreRenderTexture.h
/usr/include/OGRE/OgreRenderWindow.h
/usr/include/OGRE/OgreRenderable.h
/usr/include/OGRE/OgreResource.h
/usr/include/OGRE/OgreResourceBackgroundQueue.h
/usr/include/OGRE/OgreResourceGroupManager.h
/usr/include/OGRE/OgreResourceManager.h
/usr/include/OGRE/OgreRibbonTrail.h
/usr/include/OGRE/OgreRoot.h
/usr/include/OGRE/OgreRotationalSpline.h
/usr/include/OGRE/OgreSceneManager.h
/usr/include/OGRE/OgreSceneManagerEnumerator.h
/usr/include/OGRE/OgreSceneNode.h
/usr/include/OGRE/OgreSceneQuery.h
/usr/include/OGRE/OgreScriptLoader.h
/usr/include/OGRE/OgreSearchOps.h
/usr/include/OGRE/OgreSerializer.h
/usr/include/OGRE/OgreShadowCaster.h
/usr/include/OGRE/OgreShadowVolumeExtrudeProgram.h
/usr/include/OGRE/OgreSharedPtr.h
/usr/include/OGRE/OgreSimpleRenderable.h
/usr/include/OGRE/OgreSimpleSpline.h
/usr/include/OGRE/OgreSingleton.h
/usr/include/OGRE/OgreSkeleton.h
/usr/include/OGRE/OgreSkeletonFileFormat.h
/usr/include/OGRE/OgreSkeletonInstance.h
/usr/include/OGRE/OgreSkeletonManager.h
/usr/include/OGRE/OgreSkeletonSerializer.h
/usr/include/OGRE/OgreSphere.h
/usr/include/OGRE/OgreSpotShadowFadePng.h
/usr/include/OGRE/OgreStableHeaders.h
/usr/include/OGRE/OgreStaticFaceGroup.h
/usr/include/OGRE/OgreStaticGeometry.h
/usr/include/OGRE/OgreStdHeaders.h
/usr/include/OGRE/OgreString.h
/usr/include/OGRE/OgreStringConverter.h
/usr/include/OGRE/OgreStringInterface.h
/usr/include/OGRE/OgreStringVector.h
/usr/include/OGRE/OgreSubEntity.h
/usr/include/OGRE/OgreSubMesh.h
/usr/include/OGRE/OgreTagPoint.h
/usr/include/OGRE/OgreTargetManager.h
/usr/include/OGRE/OgreTechnique.h
/usr/include/OGRE/OgreTextAreaOverlayElement.h
/usr/include/OGRE/OgreTexture.h
/usr/include/OGRE/OgreTextureManager.h
/usr/include/OGRE/OgreTextureUnitState.h
/usr/include/OGRE/OgreTimer.h
/usr/include/OGRE/OgreUserDefinedObject.h
/usr/include/OGRE/OgreVector2.h
/usr/include/OGRE/OgreVector3.h
/usr/include/OGRE/OgreVector4.h
/usr/include/OGRE/OgreVertexBoneAssignment.h
/usr/include/OGRE/OgreVertexIndexData.h
/usr/include/OGRE/OgreViewport.h
/usr/include/OGRE/OgreWireBoundingBox.h
/usr/include/OGRE/OgreZip.h
/usr/include/OGRE/asm_math.h
/usr/lib64
/usr/lib64/OGRE
/usr/lib64/libCEGUIOgreRenderer.la
/usr/lib64/libCEGUIOgreRenderer.so -> libCEGUIOgreRenderer.so.0.0.0
/usr/lib64/libCEGUIOgreRenderer.so.0 -> libCEGUIOgreRenderer.so.0.0.0
/usr/lib64/libCEGUIOgreRenderer.so.0.0.0
/usr/lib64/libOgreMain.la
/usr/lib64/libOgreMain.so -> libOgreMain.so.11.0.0
/usr/lib64/libOgreMain.so.11 -> libOgreMain.so.11.0.0
/usr/lib64/libOgreMain.so.11.0.0
/usr/lib64/libOgrePlatform.la
/usr/lib64/libOgrePlatform.so -> libOgrePlatform.so.0.0.0
/usr/lib64/libOgrePlatform.so.0 -> libOgrePlatform.so.0.0.0
/usr/lib64/libOgrePlatform.so.0.0.0
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/CEGUI-OGRE.pc
/usr/lib64/pkgconfig/OGRE.pc
/usr/share
/usr/share/OGRE
/usr/share/OGRE/Media
/usr/share/OGRE/Media/terrain.cfg
/usr/share/doc
/usr/share/doc/ogre-1.2.0
/usr/share/doc/ogre-1.2.0/AUTHORS.gz
/usr/share/doc/ogre-1.2.0/BUGS.gz
/usr/share/doc/ogre-1.2.0/LINUX.DEV.gz
/usr/share/doc/ogre-1.2.0/README.gz
/usr/share/doc/ogre-1.2.0/README.linux.gz
/usr/share/doc/ogre-1.2.0/html
/usr/share/doc/ogre-1.2.0/html/ChangeLog.html
/usr/share/doc/ogre-1.2.0/html/ContributorLicenseAgreement.html
/usr/share/doc/ogre-1.2.0/html/License.html
/usr/share/doc/ogre-1.2.0/html/ReadMe.html


I'm on amd64, so my libraries default to /usr/lib64 and /lib64. /usr/lib/OGRE does indeed get created, but all of the libs are dumped into /usr/lib64 (/usr/lib in the 32-bit case). If this is a problem, comment at the Gentoo Bugzilla so the more experienced ebuild writers can correct the situation. In the meantime, the libraries you need should be available in /usr/lib{,64}, as well as the includes, which are in the expected place.
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby hamilton » Thu Mar 16, 2006 7:40 am

Followup!

It seems I made a mistake in the ebuild located at the bugzilla above. I commented out the ./bootstrap || die line. Upon uncommenting it, I get the following files:

Code: Select all
equery f ogre
[ Searching for packages matching ogre... ]
* Contents of dev-games/ogre-1.2.0_rc1:
/usr
/usr/bin
/usr/bin/OgreMaterialUpgrade
/usr/bin/OgreMeshUpgrade
/usr/bin/OgreXMLConverter
/usr/include
/usr/include/OGRE
/usr/include/OGRE/Ogre.h
/usr/include/OGRE/OgreAnimable.h
/usr/include/OGRE/OgreAnimation.h
/usr/include/OGRE/OgreAnimationState.h
/usr/include/OGRE/OgreAnimationTrack.h
/usr/include/OGRE/OgreAny.h
/usr/include/OGRE/OgreArchive.h
/usr/include/OGRE/OgreArchiveFactory.h
/usr/include/OGRE/OgreArchiveManager.h
/usr/include/OGRE/OgreAutoParamDataSource.h
/usr/include/OGRE/OgreAxisAlignedBox.h
/usr/include/OGRE/OgreBillboard.h
/usr/include/OGRE/OgreBillboardChain.h
/usr/include/OGRE/OgreBillboardParticleRenderer.h
/usr/include/OGRE/OgreBillboardSet.h
/usr/include/OGRE/OgreBitwise.h
/usr/include/OGRE/OgreBlendMode.h
/usr/include/OGRE/OgreBone.h
/usr/include/OGRE/OgreBorderPanelOverlayElement.h
/usr/include/OGRE/OgreCEGUIRenderer.h
/usr/include/OGRE/OgreCEGUIResourceProvider.h
/usr/include/OGRE/OgreCEGUITexture.h
/usr/include/OGRE/OgreCamera.h
/usr/include/OGRE/OgreCodec.h
/usr/include/OGRE/OgreColourValue.h
/usr/include/OGRE/OgreCommon.h
/usr/include/OGRE/OgreCompiler2Pass.h
/usr/include/OGRE/OgreCompositionPass.h
/usr/include/OGRE/OgreCompositionTargetPass.h
/usr/include/OGRE/OgreCompositionTechnique.h
/usr/include/OGRE/OgreCompositor.h
/usr/include/OGRE/OgreCompositorChain.h
/usr/include/OGRE/OgreCompositorInstance.h
/usr/include/OGRE/OgreCompositorManager.h
/usr/include/OGRE/OgreCompositorScriptCompiler.h
/usr/include/OGRE/OgreCompositorSerializer.h
/usr/include/OGRE/OgreConfig.h
/usr/include/OGRE/OgreConfigDialog.h
/usr/include/OGRE/OgreConfigFile.h
/usr/include/OGRE/OgreConfigOptionMap.h
/usr/include/OGRE/OgreController.h
/usr/include/OGRE/OgreControllerManager.h
/usr/include/OGRE/OgreCursor.h
/usr/include/OGRE/OgreDataStream.h
/usr/include/OGRE/OgreDefaultHardwareBufferManager.h
/usr/include/OGRE/OgreDynLib.h
/usr/include/OGRE/OgreDynLibManager.h
/usr/include/OGRE/OgreEdgeListBuilder.h
/usr/include/OGRE/OgreEntity.h
/usr/include/OGRE/OgreErrorDialog.h
/usr/include/OGRE/OgreEventDispatcher.h
/usr/include/OGRE/OgreEventListeners.h
/usr/include/OGRE/OgreEventProcessor.h
/usr/include/OGRE/OgreEventQueue.h
/usr/include/OGRE/OgreEventTarget.h
/usr/include/OGRE/OgreException.h
/usr/include/OGRE/OgreExternalTextureSource.h
/usr/include/OGRE/OgreExternalTextureSourceManager.h
/usr/include/OGRE/OgreFactoryObj.h
/usr/include/OGRE/OgreFileSystem.h
/usr/include/OGRE/OgreFont.h
/usr/include/OGRE/OgreFontManager.h
/usr/include/OGRE/OgreFrameListener.h
/usr/include/OGRE/OgreFrustum.h
/usr/include/OGRE/OgreGpuProgram.h
/usr/include/OGRE/OgreGpuProgramManager.h
/usr/include/OGRE/OgreGpuProgramUsage.h
/usr/include/OGRE/OgreHardwareBuffer.h
/usr/include/OGRE/OgreHardwareBufferManager.h
/usr/include/OGRE/OgreHardwareIndexBuffer.h
/usr/include/OGRE/OgreHardwareOcclusionQuery.h
/usr/include/OGRE/OgreHardwarePixelBuffer.h
/usr/include/OGRE/OgreHardwareVertexBuffer.h
/usr/include/OGRE/OgreHighLevelGpuProgram.h
/usr/include/OGRE/OgreHighLevelGpuProgramManager.h
/usr/include/OGRE/OgreILCodecs.h
/usr/include/OGRE/OgreILImageCodec.h
/usr/include/OGRE/OgreImage.h
/usr/include/OGRE/OgreImageCodec.h
/usr/include/OGRE/OgreInput.h
/usr/include/OGRE/OgreInputEvent.h
/usr/include/OGRE/OgreIteratorWrappers.h
/usr/include/OGRE/OgreKeyEvent.h
/usr/include/OGRE/OgreKeyFrame.h
/usr/include/OGRE/OgreKeyTarget.h
/usr/include/OGRE/OgreLight.h
/usr/include/OGRE/OgreLog.h
/usr/include/OGRE/OgreLogManager.h
/usr/include/OGRE/OgreManualObject.h
/usr/include/OGRE/OgreMaterial.h
/usr/include/OGRE/OgreMaterialManager.h
/usr/include/OGRE/OgreMaterialSerializer.h
/usr/include/OGRE/OgreMath.h
/usr/include/OGRE/OgreMatrix3.h
/usr/include/OGRE/OgreMatrix4.h
/usr/include/OGRE/OgreMemoryMacros.h
/usr/include/OGRE/OgreMemoryManager.h
/usr/include/OGRE/OgreMesh.h
/usr/include/OGRE/OgreMeshFileFormat.h
/usr/include/OGRE/OgreMeshManager.h
/usr/include/OGRE/OgreMeshSerializer.h
/usr/include/OGRE/OgreMeshSerializerImpl.h
/usr/include/OGRE/OgreMouseEvent.h
/usr/include/OGRE/OgreMouseMotionTarget.h
/usr/include/OGRE/OgreMouseTarget.h
/usr/include/OGRE/OgreMovableObject.h
/usr/include/OGRE/OgreMovablePlane.h
/usr/include/OGRE/OgreNoMemoryMacros.h
/usr/include/OGRE/OgreNode.h
/usr/include/OGRE/OgreOverlay.h
/usr/include/OGRE/OgreOverlayContainer.h
/usr/include/OGRE/OgreOverlayElement.h
/usr/include/OGRE/OgreOverlayElementCommands.h
/usr/include/OGRE/OgreOverlayElementFactory.h
/usr/include/OGRE/OgreOverlayManager.h
/usr/include/OGRE/OgrePanelOverlayElement.h
/usr/include/OGRE/OgreParticle.h
/usr/include/OGRE/OgreParticleAffector.h
/usr/include/OGRE/OgreParticleAffectorFactory.h
/usr/include/OGRE/OgreParticleEmitter.h
/usr/include/OGRE/OgreParticleEmitterCommands.h
/usr/include/OGRE/OgreParticleEmitterFactory.h
/usr/include/OGRE/OgreParticleIterator.h
/usr/include/OGRE/OgreParticleSystem.h
/usr/include/OGRE/OgreParticleSystemManager.h
/usr/include/OGRE/OgreParticleSystemRenderer.h
/usr/include/OGRE/OgrePass.h
/usr/include/OGRE/OgrePatchMesh.h
/usr/include/OGRE/OgrePatchSurface.h
/usr/include/OGRE/OgrePixelFormat.h
/usr/include/OGRE/OgrePlane.h
/usr/include/OGRE/OgrePlaneBoundedVolume.h
/usr/include/OGRE/OgrePlatform.h
/usr/include/OGRE/OgrePlatformManager.h
/usr/include/OGRE/OgrePose.h
/usr/include/OGRE/OgrePositionTarget.h
/usr/include/OGRE/OgrePredefinedControllers.h
/usr/include/OGRE/OgrePrerequisites.h
/usr/include/OGRE/OgreProfiler.h
/usr/include/OGRE/OgreProgressiveMesh.h
/usr/include/OGRE/OgreQuaternion.h
/usr/include/OGRE/OgreRadixSort.h
/usr/include/OGRE/OgreRay.h
/usr/include/OGRE/OgreRectangle.h
/usr/include/OGRE/OgreRectangle2D.h
/usr/include/OGRE/OgreRenderOperation.h
/usr/include/OGRE/OgreRenderQueue.h
/usr/include/OGRE/OgreRenderQueueInvocation.h
/usr/include/OGRE/OgreRenderQueueListener.h
/usr/include/OGRE/OgreRenderQueueSortingGrouping.h
/usr/include/OGRE/OgreRenderSystem.h
/usr/include/OGRE/OgreRenderSystemCapabilities.h
/usr/include/OGRE/OgreRenderTarget.h
/usr/include/OGRE/OgreRenderTargetListener.h
/usr/include/OGRE/OgreRenderTexture.h
/usr/include/OGRE/OgreRenderWindow.h
/usr/include/OGRE/OgreRenderable.h
/usr/include/OGRE/OgreResource.h
/usr/include/OGRE/OgreResourceBackgroundQueue.h
/usr/include/OGRE/OgreResourceGroupManager.h
/usr/include/OGRE/OgreResourceManager.h
/usr/include/OGRE/OgreRibbonTrail.h
/usr/include/OGRE/OgreRoot.h
/usr/include/OGRE/OgreRotationalSpline.h
/usr/include/OGRE/OgreSceneManager.h
/usr/include/OGRE/OgreSceneManagerEnumerator.h
/usr/include/OGRE/OgreSceneNode.h
/usr/include/OGRE/OgreSceneQuery.h
/usr/include/OGRE/OgreScriptLoader.h
/usr/include/OGRE/OgreSearchOps.h
/usr/include/OGRE/OgreSerializer.h
/usr/include/OGRE/OgreShadowCaster.h
/usr/include/OGRE/OgreShadowVolumeExtrudeProgram.h
/usr/include/OGRE/OgreSharedPtr.h
/usr/include/OGRE/OgreSimpleRenderable.h
/usr/include/OGRE/OgreSimpleSpline.h
/usr/include/OGRE/OgreSingleton.h
/usr/include/OGRE/OgreSkeleton.h
/usr/include/OGRE/OgreSkeletonFileFormat.h
/usr/include/OGRE/OgreSkeletonInstance.h
/usr/include/OGRE/OgreSkeletonManager.h
/usr/include/OGRE/OgreSkeletonSerializer.h
/usr/include/OGRE/OgreSphere.h
/usr/include/OGRE/OgreSpotShadowFadePng.h
/usr/include/OGRE/OgreStableHeaders.h
/usr/include/OGRE/OgreStaticFaceGroup.h
/usr/include/OGRE/OgreStaticGeometry.h
/usr/include/OGRE/OgreStdHeaders.h
/usr/include/OGRE/OgreString.h
/usr/include/OGRE/OgreStringConverter.h
/usr/include/OGRE/OgreStringInterface.h
/usr/include/OGRE/OgreStringVector.h
/usr/include/OGRE/OgreSubEntity.h
/usr/include/OGRE/OgreSubMesh.h
/usr/include/OGRE/OgreTagPoint.h
/usr/include/OGRE/OgreTargetManager.h
/usr/include/OGRE/OgreTechnique.h
/usr/include/OGRE/OgreTextAreaOverlayElement.h
/usr/include/OGRE/OgreTexture.h
/usr/include/OGRE/OgreTextureManager.h
/usr/include/OGRE/OgreTextureUnitState.h
/usr/include/OGRE/OgreTimer.h
/usr/include/OGRE/OgreUserDefinedObject.h
/usr/include/OGRE/OgreVector2.h
/usr/include/OGRE/OgreVector3.h
/usr/include/OGRE/OgreVector4.h
/usr/include/OGRE/OgreVertexBoneAssignment.h
/usr/include/OGRE/OgreVertexIndexData.h
/usr/include/OGRE/OgreViewport.h
/usr/include/OGRE/OgreWireBoundingBox.h
/usr/include/OGRE/OgreZip.h
/usr/include/OGRE/asm_math.h
/usr/lib64
/usr/lib64/OGRE
/usr/lib64/OGRE/Plugin_BSPSceneManager.la
/usr/lib64/OGRE/Plugin_BSPSceneManager.so
/usr/lib64/OGRE/Plugin_CgProgramManager.la
/usr/lib64/OGRE/Plugin_CgProgramManager.so
/usr/lib64/OGRE/Plugin_EXRCodec.la
/usr/lib64/OGRE/Plugin_EXRCodec.so
/usr/lib64/OGRE/Plugin_OctreeSceneManager.la
/usr/lib64/OGRE/Plugin_OctreeSceneManager.so
/usr/lib64/OGRE/Plugin_ParticleFX.la
/usr/lib64/OGRE/Plugin_ParticleFX.so
/usr/lib64/OGRE/RenderSystem_GL.la
/usr/lib64/OGRE/RenderSystem_GL.so
/usr/lib64/libCEGUIOgreRenderer.la
/usr/lib64/libCEGUIOgreRenderer.so -> libCEGUIOgreRenderer.so.0.0.0
/usr/lib64/libCEGUIOgreRenderer.so.0 -> libCEGUIOgreRenderer.so.0.0.0
/usr/lib64/libCEGUIOgreRenderer.so.0.0.0
/usr/lib64/libOgreMain.la
/usr/lib64/libOgreMain.so -> libOgreMain.so.11.0.0
/usr/lib64/libOgreMain.so.11 -> libOgreMain.so.11.0.0
/usr/lib64/libOgreMain.so.11.0.0
/usr/lib64/libOgrePlatform.la
/usr/lib64/libOgrePlatform.so -> libOgrePlatform.so.0.0.0
/usr/lib64/libOgrePlatform.so.0 -> libOgrePlatform.so.0.0.0
/usr/lib64/libOgrePlatform.so.0.0.0
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/CEGUI-OGRE.pc
/usr/lib64/pkgconfig/OGRE.pc
/usr/share
/usr/share/OGRE
/usr/share/OGRE/Media
/usr/share/OGRE/Media/terrain.cfg
/usr/share/doc
/usr/share/doc/ogre-1.2.0_rc1
/usr/share/doc/ogre-1.2.0_rc1/AUTHORS.gz
/usr/share/doc/ogre-1.2.0_rc1/BUGS.gz
/usr/share/doc/ogre-1.2.0_rc1/LINUX.DEV.gz
/usr/share/doc/ogre-1.2.0_rc1/README.gz
/usr/share/doc/ogre-1.2.0_rc1/README.linux.gz
/usr/share/doc/ogre-1.2.0_rc1/html
/usr/share/doc/ogre-1.2.0_rc1/html/ChangeLog.html
/usr/share/doc/ogre-1.2.0_rc1/html/ContributorLicenseAgreement.html
/usr/share/doc/ogre-1.2.0_rc1/html/License.html
/usr/share/doc/ogre-1.2.0_rc1/html/ReadMe.html


Note that /usr/lib64/OGRE actually contains files now. I'll make the appropriate edit on the bugzilla. Keep pointing out errors as you see them.
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby MWeb » Thu Mar 16, 2006 7:44 am

ok i just found the problem an the solution to it. Why did you comment out the following lines?

Code: Select all
   
# bundled libtool goes boom, so force newer ... note, don't
# remove this until bundled libtool version != 1.4.3
[[ $(grep ^VERSION= ltmain.sh) != "VERSION=1.4.3" ]] && die "TIME TO UPGRADE ! :D"
sed -i 's:libtoolize:libtoolize --copy:' bootstrap
./bootstrap || die "bootstrap failed"


If i do this it worked for me. The bundled libtools are still the same as they where with 1.0.x.

Edit:
I just saw that you have found the problem your self and that you postet a fix to the gentoo bugzilla. but i'm not sure if the bootstrap line is enough but i'll have to test it.
Last edited by MWeb on Thu Mar 16, 2006 7:51 am, edited 1 time in total.
MWeb
Familiar face
 
Posts: 46
Joined: Fri Sep 24, 2004 10:04 am
Location: Luzern, Switzerland

Postby hamilton » Thu Mar 16, 2006 7:50 am

I wasn't sure if the bundled libtool had been updated or not, so I went with "when in doubt, leave it out". I'll update the ebuild on bugzilla, pending successful compilation on my system.
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby MWeb » Thu Mar 16, 2006 7:52 am

ok thanks. :D
MWeb
Familiar face
 
Posts: 46
Joined: Fri Sep 24, 2004 10:04 am
Location: Luzern, Switzerland

Postby eckzow » Thu Mar 16, 2006 9:09 am

OK, with those tweaks I get all of the libraries to show up properly, but now I'm having issues getting anything to actually run.

Using the code from the "your first application" article...

Code: Select all
eckzow@desktop ~/ogre $ ls
ExampleApplication.h  ExampleFrameListener.h  Makefile  Makefile~  Media  plugins.cfg  resources.cfg  test.cpp
eckzow@desktop ~/ogre $ make
g++ -I/usr/include/OGRE   -g -O0 -lOgreMain   -o test test.cpp
eckzow@desktop ~/ogre $ ./test
Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
Loading library libOgrePlatform.so
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
DevIL version: Developer's Image Library (DevIL) 1.6.7 Mar 15 2006
DevIL image formats: bmp dib cut dcx dds gif hdr ico cur jpg jpe jpeg lif mdl mng jng pcx pic pix png pbm pgm pnm ppm psd pdd psp pxr sgi bw rgb rgba tga vda icb vst tif tiff wal xpm raw
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
Loading library /usr/lib/OGRE/RenderSystem_GL.so
OpenGL Rendering Subsystem created.
Loading library /usr/lib/OGRE/Plugin_ParticleFX.so
Particle Emitter Type 'Point' registered
Particle Emitter Type 'Box' registered
Particle Emitter Type 'Ellipsoid' registered
Particle Emitter Type 'Cylinder' registered
Particle Emitter Type 'Ring' registered
Particle Emitter Type 'HollowEllipsoid' registered
Particle Affector Type 'LinearForce' registered
Particle Affector Type 'ColourFader' registered
Particle Affector Type 'ColourFader2' registered
Particle Affector Type 'ColourImage' registered
Particle Affector Type 'ColourInterpolator' registered
Particle Affector Type 'Scaler' registered
Particle Affector Type 'Rotator' registered
Particle Affector Type 'DirectionRandomiser' registered
Particle Affector Type 'DeflectorPlane' registered
Loading library /usr/lib/OGRE/Plugin_BSPSceneManager.so
Registering ResourceManager for type BspLevel
Loading library /usr/lib/OGRE/Plugin_OctreeSceneManager.so
Loading library /usr/lib/OGRE/Plugin_CgProgramManager.so
*-*-* OGRE Initialising
*-*-* Version 1.2.0 (Dagon)
Creating resource group Bootstrap
Added resource location 'Media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
Added resource location 'Media' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/fonts' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/materials/programs' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/materials/scripts' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/materials/textures' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/models' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/overlays' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/particle' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/gui' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/DeferredShadingMedia' of type 'FileSystem' to resource group 'General'
Added resource location 'Media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
Added resource location 'Media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'General'
Added resource location 'Media/packs/dragon.zip' of type 'Zip' to resource group 'General'
Added resource location 'Media/packs/fresneldemo.zip' of type 'Zip' to resource group 'General'
Added resource location 'Media/packs/ogretestmap.zip' of type 'Zip' to resource group 'General'
Added resource location 'Media/packs/skybox.zip' of type 'Zip' to resource group 'General'
Segmentation fault (core dumped)
eckzow@desktop ~/ogre $


From the dump I get...

Code: Select all
#0  0x00002aaaac24eb8c in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x00002aaaac140899 in boost::recursive_mutex::do_lock () from /usr/lib64/libboost_thread-mt.so.1.33.1
#2  0x00002aaaacd33eab in Ogre::GLXConfigurator::CreateBackdrop () from /usr/lib64/libOgrePlatform.so
#3  0x00002aaaacd35571 in Ogre::GLXConfigurator::CreateWindow () from /usr/lib64/libOgrePlatform.so
#4  0x00002aaaacd35bd8 in Ogre::GLXConfig::display () from /usr/lib64/libOgrePlatform.so
#5  0x00002aaaaaea5b3b in Ogre::Root::showConfigDialog () from /usr/lib/libOgreMain.so.11
#6  0x00000000004044c4 in ExampleApplication::configure (this=0x7fffff970550) at ExampleApplication.h:108
#7  0x000000000040478e in ExampleApplication::setup (this=0x7fffff970550) at ExampleApplication.h:79
#8  0x0000000000402f90 in ExampleApplication::go (this=0x7fffff970550) at ExampleApplication.h:55
#9  0x0000000000402cd4 in main (argc=1, argv=0x7fffff970678) at test.cpp:62


Perhaps I should take threads support out for the time being? Or maybe this is even completely unrelated...
eckzow
Newcomer
 
Posts: 8
Joined: Thu Mar 16, 2006 4:46 am

Postby MWeb » Thu Mar 16, 2006 9:34 am

Great to hear that it works now. :)
The examples and my test are working fine, but i'm not useing the thread support. Do the sample applications work for you?
MWeb
Familiar face
 
Posts: 46
Joined: Fri Sep 24, 2004 10:04 am
Location: Luzern, Switzerland

Postby hamilton » Thu Mar 16, 2006 9:39 am

I've never had OGRE work after being compiled with USE="threads". I can confirm that USE="threads" bombs out for me too, whereas USE="-threads" does not. I wonder what's going on. Sinbad, any thoughts?
hamilton
Newcomer
 
Posts: 13
Joined: Fri May 13, 2005 1:48 pm

Postby al » Thu Mar 16, 2006 5:02 pm

Thank you guys for your efforts on the new ebuild so far. :)
I made some minor changes to the current ebuild (as mentioned in my recent bugzilla comments) and remerged OGRE with the following USE flags (never tried threads so far):

Code: Select all
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-games/ogre-1.2.0_rc1  USE="cegui cg devil doc openexr -double-precision -gtk -threads" 0 kB [1]

Total size of downloads: 0 kB
Portage overlays:
[1] /usr/local/portage


Still, I'm still having numerous problems getting the example applications to run. Here is a list of my observations, in order of appearance (sorry for being a little nit-picky and listing all of the smallest issues :wink:):
  1. Permissions: All apps in /usr/share/doc/ogre1.2.0_rc1/Samples/Common/bin get installed without the right permissions, i.e. executable for all users. The directory itself should be writable for everyone, too, as applications try to store their data (ogre.cfg, logs) in there. To resolve this, one could apply some dirty hacks in pkg_postinst(), but originally this should be an issue of 'make install'.
  2. .../Samples/Common/bin/plugins.cfg: The given "PluginFolder" is /usr/local/lib/OGRE instead of /usr/lib/OGRE. I don't know where this comes from, but should be inserted correctly by autotools for there's an existing plugins.cfg.in looking perfectly fine to me. I don't know where to start looking for that path variable, just manually corrected it for now.
  3. HLSL: When starting any sample app, all the material scripts in .../Samples/Media/materials/scripts get loaded. All those containing references to HLSL shader programs naturally fail to load, since they require DirectX, AFAIK. I moved the HLSL shaders and commented the path to the DeferredShadingMedia in my resources.cfg. The resources now load OK but even the most simple apps like SkyBox segfault after having loaded their textures:
    Code: Select all
    ...
    Texture: flare.png: Loading 1 faces(PF_B8G8R8,256x256x1) with 8 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
    Segmentation fault

    In short: I haven't been able to start any of the applications yet. Could this have something to do with my RTT setting? I tried all of them, but without avail.

Any ideas for now? Thank you in advance for any hints.
al
Newcomer
 
Posts: 24
Joined: Wed Sep 21, 2005 2:30 pm
Location: .de

Postby eckzow » Thu Mar 16, 2006 5:42 pm

It's definitely the threads support that was causing that little bomb-out. It happens in both the samples and the basic custom app (didn't try anything else). Doesn't happen with "-threads" in use. I'm not even sure what threads adds, to be honest, so I'm not too worried about it.

@ al:

A/B) Yes I noticed the permissions and plugins.cfg issue too. It probably *should* be fixed, but like you said its a nit-picky issue that I didn't bother even looking for because it was so easy to fix manually... *shrug*

C) I commented the path to my DeferredShadingMedia in resources.cfg as well and yet I don't develop the same segfault conditions.

Code: Select all
Texture: flare.png: Loading 1 faces(PF_B8G8R8,256x256x1) with 8 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.


Would it be possible to get a backtrace on your crash?
eckzow
Newcomer
 
Posts: 8
Joined: Thu Mar 16, 2006 4:46 am

Postby al » Thu Mar 16, 2006 7:08 pm

Hmmm, this turn out to be a little more difficult than I thought. I just tried to run SkyBox in gdb, which resulted reproducibly in an X server (KDE) lock, leaving me with no option but to escape to console and kill gdb. What I did was:

Code: Select all
$ gdb ./SkyBox
GNU gdb 6.4

<snip>

This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program: /usr/share/doc/ogre-1.2.0_rc1/Samples/Common/bin/SkyBox
(no debugging symbols found)

<snip>

Texture: flare.png: Loading 1 faces(PF_B8G8R8,256x256x1) with 8 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1219213648 (LWP 15893)]
0x00000000 in ?? ()
(gdb) Terminated


I think to produce debugging symbols, I have to remerge at least OGRE using FEATURE="nostrip", right? I'd appreciate any further help, as I am no professional debugger yet. :wink:

The segfault seems to happen precisely when the GLX window opens, my ogre.cfg looks like that by the way:

Code: Select all
Render System=OpenGL Rendering Subsystem

[OpenGL Rendering Subsystem]
FSAA=0
Full Screen=No
RTT Preferred Mode=FBO
Video Mode=800 x 600
al
Newcomer
 
Posts: 24
Joined: Wed Sep 21, 2005 2:30 pm
Location: .de

Postby eckzow » Thu Mar 16, 2006 7:23 pm

My preferred technique for a segfault like this is to get a core dump and open it in ddd.

First, if you don't have it:

Code: Select all
# emerge ddd


Then you have to run a command in your console before you run SkyBox that tells it to go ahead and dump core when it aborts:

Code: Select all
$ ulimit -c unlimited


Then run sky box, and instead of "Segmentation fault" you should get something like "Segmentation fault (core dumped)" and you should have a file named "core" in the directory you just ran from.

You can then run ddd and do File --> Open Program to open the SkyBox executable and then do File --> Open Core Dump to open the "core" file. That will essentially bring you to the point that the program was at when it failed. Go to Status --> Backtrace or simply type "bt" in the gdb console provided along the bottom of the window to get a full backtrace.

Even without nostrip you should get function names, just not the full line-number info, which probably isn't needed in this case for us to at least get a feel for what's going on.

Incidentally, collecting a core from your program is a great way to do debugging in later stages of an application when you don't necessarily want a debugger attached all the time, or when you have a non-programmer testing your code somewhere and they can produce a crash but are incapable of producing steps that allow you to reproduce it.
eckzow
Newcomer
 
Posts: 8
Joined: Thu Mar 16, 2006 4:46 am

Postby al » Thu Mar 16, 2006 10:52 pm

Ok, here we go for another lengthy post ...
First of all, some info from gdb after I managed to dump the core (thanks to eckzow). As I don't know which output is important, I will post it all, sorry about that:

Code: Select all
Core was generated by `./SkyBox'.
Program terminated with signal 11, Segmentation fault.

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /usr/lib/libOgreMain.so.11...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libOgreMain.so.11
Reading symbols from /usr/lib/libfreetype.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libzzip-0.so.13...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libzzip-0.so.13
Reading symbols from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6
Reading symbols from /usr/lib/libCg.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libCg.so
Reading symbols from /usr/lib/libILU.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libILU.so.1
Reading symbols from /usr/lib/libIL.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libIL.so.1
Reading symbols from /usr/lib/libpng.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpng.so.3
Reading symbols from /usr/lib/libtiff.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libtiff.so.3
Reading symbols from /usr/lib/libjpeg.so.62...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libgcc_s.so.1...done.
Loaded symbols for /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libgcc_s.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libOgrePlatform.so...done.
Loaded symbols for /usr/lib/libOgrePlatform.so
Reading symbols from /usr/lib/libX11.so.6...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/opengl/xorg-x11/lib/libGL.so.1...done.
Loaded symbols for /usr/lib/opengl/xorg-x11/lib/libGL.so.1
Reading symbols from /usr/lib/libGLU.so.1...done.
Loaded symbols for /usr/lib/libGLU.so.1
Reading symbols from /usr/lib/libXaw.so.7...done.
Loaded symbols for /usr/lib/libXaw.so.7
Reading symbols from /usr/lib/libXau.so.6...done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /usr/lib/libXdmcp.so.6...done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Reading symbols from /usr/lib/libXext.so.6...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib/libXxf86vm.so.1...done.
Loaded symbols for /usr/lib/libXxf86vm.so.1
Reading symbols from /usr/lib/libdrm.so.2...done.
Loaded symbols for /usr/lib/libdrm.so.2
Reading symbols from /usr/lib/libXmu.so.6...done.
Loaded symbols for /usr/lib/libXmu.so.6
Reading symbols from /usr/lib/libXt.so.6...done.
Loaded symbols for /usr/lib/libXt.so.6
Reading symbols from /usr/lib/libSM.so.6...done.
Loaded symbols for /usr/lib/libSM.so.6
Reading symbols from /usr/lib/libICE.so.6...done.
Loaded symbols for /usr/lib/libICE.so.6
Reading symbols from /usr/lib/libXpm.so.4...done.
Loaded symbols for /usr/lib/libXpm.so.4
Reading symbols from /usr/lib/OGRE/RenderSystem_GL.so...done.
Loaded symbols for /usr/lib/OGRE/RenderSystem_GL.so
Reading symbols from /usr/lib/libXrandr.so.2...done.
Loaded symbols for /usr/lib/libXrandr.so.2
Reading symbols from /usr/lib/libXrender.so.1...done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/OGRE/Plugin_ParticleFX.so...done.
Loaded symbols for /usr/lib/OGRE/Plugin_ParticleFX.so
Reading symbols from /usr/lib/OGRE/Plugin_BSPSceneManager.so...done.
Loaded symbols for /usr/lib/OGRE/Plugin_BSPSceneManager.so
Reading symbols from /usr/lib/OGRE/Plugin_OctreeSceneManager.so...done.
Loaded symbols for /usr/lib/OGRE/Plugin_OctreeSceneManager.so
Reading symbols from /usr/lib/OGRE/Plugin_CgProgramManager.so...done.
Loaded symbols for /usr/lib/OGRE/Plugin_CgProgramManager.so
Reading symbols from /usr/lib/libXcursor.so...done.
Loaded symbols for /usr/lib/libXcursor.so
Reading symbols from /usr/lib/libXfixes.so.3...done.
Loaded symbols for /usr/lib/libXfixes.so.3
#0  0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xb710fcb7 in Ogre::GLRenderSystem::_setPointParameters () from /usr/lib/OGRE/RenderSystem_GL.so
#2  0xb7df73bc in Ogre::SceneManager::_setPass () from /usr/lib/libOgreMain.so.11
#3  0xb7dedcdf in Ogre::SceneManager::SceneMgrQueuedRenderableVisitor::visit ()
   from /usr/lib/libOgreMain.so.11
#4  0xb7db9575 in Ogre::QueuedRenderableCollection::acceptVisitorGrouped ()
   from /usr/lib/libOgreMain.so.11
#5  0xb7db967f in Ogre::QueuedRenderableCollection::acceptVisitor () from /usr/lib/libOgreMain.so.11
#6  0xb7dede27 in Ogre::SceneManager::renderObjects () from /usr/lib/libOgreMain.so.11
#7  0xb7df7a78 in Ogre::SceneManager::renderBasicQueueGroupObjects () from /usr/lib/libOgreMain.so.11
#8  0xb7dede8f in Ogre::SceneManager::_renderQueueGroupObjects () from /usr/lib/libOgreMain.so.11
#9  0xb7def422 in Ogre::SceneManager::renderVisibleObjectsDefaultSequence ()
   from /usr/lib/libOgreMain.so.11
#10 0xb7dedad8 in Ogre::SceneManager::_renderVisibleObjects () from /usr/lib/libOgreMain.so.11
#11 0xb7df898d in Ogre::SceneManager::_renderScene () from /usr/lib/libOgreMain.so.11
#12 0xb7c71de3 in Ogre::Camera::_renderScene () from /usr/lib/libOgreMain.so.11
#13 0xb7e5ee56 in Ogre::Viewport::update () from /usr/lib/libOgreMain.so.11
#14 0xb7dc23e3 in Ogre::RenderTarget::update () from /usr/lib/libOgreMain.so.11
#15 0xb7dc6c79 in Ogre::RenderWindow::update () from /usr/lib/libOgreMain.so.11
#16 0xb7dc6c4d in Ogre::RenderWindow::update () from /usr/lib/libOgreMain.so.11
#17 0xb7dbe766 in Ogre::RenderSystem::_updateAllRenderTargets () from /usr/lib/libOgreMain.so.11
#18 0xb7ddfce7 in Ogre::Root::_updateAllRenderTargets () from /usr/lib/libOgreMain.so.11
#19 0xb7de8d9c in Ogre::Root::renderOneFrame () from /usr/lib/libOgreMain.so.11
#20 0xb7de8e2a in Ogre::Root::startRendering () from /usr/lib/libOgreMain.so.11
#21 0x0804a531 in ?? ()
#22 0xb7502f24 in __libc_start_main () from /lib/libc.so.6
#23 0x0804a3f1 in ?? ()
(gdb) 


I did this on the command line, because I couldn't merge ddd easily due to an old ebuild, not (yet) compatible to Xorg-X11 7.0 which I am using ... then it occured to me: Could my X11 v7 be the reason, why OGRE crashes? As far as I can interpret the gdb output, the crash takes place in some X libs, doesn't it?
al
Newcomer
 
Posts: 24
Joined: Wed Sep 21, 2005 2:30 pm
Location: .de

Postby eckzow » Fri Mar 17, 2006 7:40 am

Are you just using vanilla xorg or are you using XGL?

Code: Select all
[ebuild   R   ] x11-base/xorg-x11-7.0-r1  INPUT_DEVICES="keyboard mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev -fpit -hyperpen -jamstudio -joystick -magellan -magictouch -microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom" VIDEO_CARDS="ati fbdev fglrx vesa -apm -ark -chips -cirrus -cyrix -dummy -glint -i128 -i810 -mga -neomagic -nv -nvidia -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb -tdfx -tga -trident -tseng -v4l -vga -via -vmware -voodoo" 0 kB
[ebuild   R   ] dev-util/ddd-3.3.10  0 kB


That's my info (I included ddd too, its really a useful tool, so you might want to play with it in the future).

Secondly, the crash is actually occuring in Ogre.

Code: Select all
#0  0x00000000 in ?? ()
#1  0xb710fcb7 in Ogre::GLRenderSystem::_setPointParameters () from /usr/lib/OGRE/RenderSystem_GL.so


That indicates that the function _setPointParameters() called a function on a null pointer (hence the jump to 0x00000000). I'm not particularly an expert on the Ogre codebase but I might try to poke around a little and see if we can dig something up.

In the meantime though, perhaps we should be looking at video drivers. nVidia or ATi? I'm using ati-drivers 8.23.7 which I believe is the most recent. Do you have DRI enabled?
eckzow
Newcomer
 
Posts: 8
Joined: Thu Mar 16, 2006 4:46 am

Next

Return to Help

Who is online

Users browsing this forum: DanielSefton, Matt G, Yahoo [Bot] and 9 guests