[info-performer] dynamic_cast problem

New Message Reply Date view Thread view Subject view Author view

From: Steffen, Keith (keith.steffen++at++lmco.com)
Date: 07/31/2002 08:09:12


I need some help with a problem concerning dynamic_cast and Performer:

I can not seem to get a program which has any dynamic_cast in it to work if
it is linked with Performer.

Here is an example:

-------- caster.C

#include <iostream>
class cBase
{
public:
   cBase() { cout << "In cBase::cBase" << endl; }
   virtual void Func() { cout << "In cBase::Func" << endl; }
};

class cDerived : public cBase
{
public:
   cDerived() { cout << "In cDerived::cDerived" << endl; }
   virtual void Func() { cout << "In cDerived::Func" << endl; }
};

void main()
{
   cBase *Base = new cDerived;
   cDerived *Derived = dynamic_cast<cDerived *>(Base);
   Derived->Func();
}

--------

g++ caster.C -o caster
./caster
In cBase::cBase
In cDerived::cDerived
In cDerived::Func

So far so good, Now try this:

g++ caster.C -o caster_broke -lpf
./caster_broke
In cBase::cBase
In cDerived::cDerived
Segmentation Fault

Just linking the Performer library breaks the program.

I'm currently running RedHat Linux 7.3 with the version 2960 of the NVIDIA
kernel and GLX rpms.

g++ -v returns

Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)

rpm --query --info --file /usr/lib/libpf.so.2 returns

Name : performer_eoe Relocations: (not relocateable)
Version : 2.5.1 Vendor: SGI
Release : 0 Build Date: Fri 03 May 2002
05:53:53 PM CDT
Install date: Mon 29 Jul 2002 03:55:58 PM CDT Build Host:
dice.engr.sgi.com
Group : Libraries Source RPM:
performer_eoe-2.5.1-0.src.rpm
Size : 16081415 License: Silicon Graphics,
Inc.
Packager : Silicon Graphics <mongoose-feedback++at++corp.sgi.com>
URL : http://www.sgi.com/software/performer
Summary : Performer Execution Only Environment
Description :
OpenGL Performer is a high-performance 3D rendering toolkit for developers
of real-time, multiprocessed, interactive graphics applications. OpenGL
Performer dramatically simplifies development of complex applications such
as visual simulation, simulation-based design, virtual reality, interactive
entertainment, broadcast video, CAD, and architectural walk-through.

I've tried the Performer RPMS at the download site for gcc 2.96 and still
have had no luck.
 
Is anyone running a Linux configuration that dynamic_cast and Performer
(together) work on?

Keith Steffen
Senior Staff Engineer
TOPSCENE Program
Lockheed Martin Missiles and Fire Control - Dallas
P.O Box 650003 M/S: SP-72 Dallas, Texas 75265-0003
Telephone: 972-603-9027 Facsimile: 972-603-9013
Beeper: 972-328-7841
E-mail: keith.steffen++at++lmco.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Wed Jul 31 2002 - 08:15:52 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.