TWiki home VRJ Wiki > Juggler > PerformerAndLinux (r1.1 vs. r1.7) VRJ Wiki webs:
Juggler | VRJPlanning | Main | TWiki | Test
Juggler . { Home | Changes | Index | Search | Go }
 <<O>>  Difference Topic PerformerAndLinux (r1.7 - 19 Mar 2003 - PatrickHartling)

Q: How can I use OpenGL Performer with VR Juggler on Linux?

Line: 9 to 9

Summary

Changed:
<
<
OpenGL? Performer only works with the gcc2.95 distribution or the gcc3.0 distribution of the gnu compiler collection (gcc). It will not work with gcc2.96 which is the default compiler for RedHat? 7.x. If you are running RedHat? 7.x you will need to install a gcc3.0 distribution (one is available from RedHat?).
>
>
OpenGL Performer only works with the gcc2.95 distribution or the gcc3.0 distribution of the gnu compiler collection (gcc). It will not work with gcc2.96 which is the default compiler for Red Hat 7.x. If you are running Red Hat 7.x you will need to install a gcc3.0 distribution (one is available from Red Hat).

Changed:
<
<
OpenGL? Performer for Linux has two distributions. One for gcc2.95 and the other for gcc3.0. The Performer distribution for gcc2.95 will not work with gcc3.0 and correspondingly the Performer distribution for gcc3.0 will not work with gcc2.95.
>
>
OpenGL Performer for Linux has two distributions. One for gcc2.95 and the other for gcc3.0. The Performer distribution for gcc2.95 will not work with gcc3.0 and correspondingly the Performer distribution for gcc3.0 will not work with gcc2.95.

We highly suggest that if your Linux distribution has support for a gcc3.x distribution, you should use that version of the compiler for developing Performer applications with VR Juggler.

Details

Changed:
<
<
The problems with Performer, VR Juggler, and Linux date back to the release of RedHat Linux 7.0. This version shipped with GCC 2.96, a version that produced C++ code that was not fully compatible with GCC 2.95 (the version used on RedHat 6.x). Between these two versions, most C++ binary code was interoperable, but not all. In particular, the use of the dynamic_cast<> construct caused an immediate crash when an application was linked with the Performer libraries--even if the application did not make a single Performer function call or include any Performer headers.
>
>
The problems with Performer, VR Juggler, and Linux date back to the release of Red Hat Linux 7.0. This version shipped with GCC 2.96, a version that produced C++ code that was not fully compatible with GCC 2.95 (the version used on Red Hat 6.x). Between these two versions, most C++ binary code was interoperable, but not all. In particular, the use of the dynamic_cast<> construct caused an immediate crash when an application was linked with the Performer libraries--even if the application did not make a single Performer function call or include any Performer headers.

The cause of these problems was the change in the application binary interface (ABI) for C++. The C++ ABI changed between versions 2.91, 2.95, 2.96, 2.97, and 3.0. GCC 3.0 and 3.1 are fully binary compatible--at least with respect to VR Juggler and Performer.

Changed:
<
<
Until June 2002, all versions of Performer for Linux were built for use on RedHat Linux 6.x using GCC 2.95. OpenGL Performer 2.5.1 is the first version released for Linux that is built with GCC 3. GCC 3.1 (or 3.2--see below) will be the compiler used on RedHat 8.0, so it will not be long before the use of GCC 3.x replaces GCC 2.9x in widespread use.
>
>
Until June 2002, all versions of Performer for Linux were built for use on Red Hat Linux 6.x using GCC 2.95. OpenGL Performer 2.5.1 is the first version released for Linux that is built with GCC 3. GCC 3.1 (or 3.2--see below) will be the compiler used on Red Hat 8.0, so it will not be long before the use of GCC 3.x replaces GCC 2.9x in widespread use.

There are further complications, however. GCC 3.2 has C++ ABI changes relative to versions 3.0 and 3.1. (GCC 3.2 was released August 14, 2002, and it is simply GCC 3.1.1 with bug fixes for the 3.0/3.1 ABI.) Initial testing has shown that the GCC 3.0 version of Performer can be used with a GCC 3.2 build of VR Juggler 1.1. This testing was not at all rigorous, but it may be that the ABI differences between 3.0/3.1 and 3.2 are not of the show-stopping variety, as seen between 2.95 and 3.0.

Even so, more bugs have been found in the GCC 3.2 C++ ABI. At this time, the bugs have not been fixed in the GCC 3.3 development code. Discussions on the mailing list suggest that a compiler flag may be added to GCC 3.3 to allow backwards compatibility with the 3.2 ABI. As of late Semptember 2002, the GCC steering committee has not discussed the issue, so no decisions have been made.

Changed:
<
<
For information on the decisions made regarding GCC 3.1 and 3.2, refer the the attached file. It is likely that it will be the compiler used by most major operating systems released in Q3 and Q4 2002 (RedHat 8.0, SuSE, FreeBSD 5.0, etc.). If this does occur, then it seems reasonable to expect that SGI will release a build of Performer compiled with GCC 3.2, and all will be well.
>
>
For information on the decisions made regarding GCC 3.1 and 3.2, refer the the attached file. It is likely that it will be the compiler used by most major operating systems released in Q3 and Q4 2002 (Red Hat 8.0, SuSE, FreeBSD 5.0, etc.). If this does occur, then it seems reasonable to expect that SGI will release a build of Performer compiled with GCC 3.2, and all will be well.

Changed:
<
<

Note for RedHat 7.3 users

>
>

Note for Red Hat 7.3 users


Changed:
<
<
RedHat has made RPMs of GCC 3.1 available for RedHat Linux 7.3 via up2date. The version number on the C++ library (/usr/lib/libstdc++.so.3) has been increased to 4, thus changing the name of the library binary to libstdc++.so.4. This name change causes a runtime linker error with the Performer libraries because they are linked against libstdc++.so.3. Making a symlink to libstdc++.so.4 might fix the error, but this has not been tested successfully yet.
>
>
Red Hat has made RPMs of GCC 3.1 available for Red Hat Linux 7.3 via up2date. The version number on the C++ library (/usr/lib/libstdc++.so.3) has been increased to 4, thus changing the name of the library binary to libstdc++.so.4. This name change causes a runtime linker error with the Performer libraries because they are linked against libstdc++.so.3. Making a symlink to libstdc++.so.4 might fix the error, but this has not been tested successfully yet.

Changed:
<
<

Note for RedHat 8.0 users

>
>

Note for Red Hat 8.0 users


Changed:
<
<
RedHat Linux 8.0 uses GCC 3.2 as the system compiler. It is not clear yet if OpenGL Performer 2.5.x compiled with GCC 3.0 will work on RedHat 8.0. Initial testing (using build 3123 of the nVidia drivers) causes the machine to freeze as soon as a Performer window is opened.
>
>
Red Hat Linux 8.0 uses GCC 3.2 as the system compiler. It is not clear yet if OpenGL Performer 2.5.x compiled with GCC 3.0 will work on Red Hat 8.0. Initial testing (using build 3123 of the nVidia drivers) causes the machine to freeze as soon as a Performer window is opened.


 <<O>>  Difference Topic PerformerAndLinux (r1.6 - 10 Dec 2002 - AllenBierbaum)

Q: How can I use OpenGL Performer with VR Juggler on Linux?

Line: 7 to 7

A: Use the GCC 3 versions of VR Juggler and OpenGL Performer.

Added:
>
>

Summary

OpenGL? Performer only works with the gcc2.95 distribution or the gcc3.0 distribution of the gnu compiler collection (gcc). It will not work with gcc2.96 which is the default compiler for RedHat? 7.x. If you are running RedHat? 7.x you will need to install a gcc3.0 distribution (one is available from RedHat?).

OpenGL? Performer for Linux has two distributions. One for gcc2.95 and the other for gcc3.0. The Performer distribution for gcc2.95 will not work with gcc3.0 and correspondingly the Performer distribution for gcc3.0 will not work with gcc2.95.

We highly suggest that if your Linux distribution has support for a gcc3.x distribution, you should use that version of the compiler for developing Performer applications with VR Juggler.

Details


The problems with Performer, VR Juggler, and Linux date back to the release of RedHat Linux 7.0. This version shipped with GCC 2.96, a version that produced C++ code that was not fully compatible with GCC 2.95 (the version used on RedHat 6.x). Between these two versions, most C++ binary code was interoperable, but not all. In particular, the use of the dynamic_cast<> construct caused an immediate crash when an application was linked with the Performer libraries--even if the application did not make a single Performer function call or include any Performer headers.

The cause of these problems was the change in the application binary interface (ABI) for C++. The C++ ABI changed between versions 2.91, 2.95, 2.96, 2.97, and 3.0. GCC 3.0 and 3.1 are fully binary compatible--at least with respect to VR Juggler and Performer.


 <<O>>  Difference Topic PerformerAndLinux (r1.5 - 14 Oct 2002 - PatrickHartling)

Q: How can I use OpenGL Performer with VR Juggler on Linux?

Line: 23 to 23

RedHat has made RPMs of GCC 3.1 available for RedHat Linux 7.3 via up2date. The version number on the C++ library (/usr/lib/libstdc++.so.3) has been increased to 4, thus changing the name of the library binary to libstdc++.so.4. This name change causes a runtime linker error with the Performer libraries because they are linked against libstdc++.so.3. Making a symlink to libstdc++.so.4 might fix the error, but this has not been tested successfully yet.

Added:
>
>

Note for RedHat 8.0 users

RedHat Linux 8.0 uses GCC 3.2 as the system compiler. It is not clear yet if OpenGL Performer 2.5.x compiled with GCC 3.0 will work on RedHat 8.0. Initial testing (using build 3123 of the nVidia drivers) causes the machine to freeze as soon as a Performer window is opened.


Back to: LiveFaq


 <<O>>  Difference Topic PerformerAndLinux (r1.4 - 23 Sep 2002 - PatrickHartling)

Q: How can I use OpenGL Performer with VR Juggler on Linux?

Line: 19 to 19

For information on the decisions made regarding GCC 3.1 and 3.2, refer the the attached file. It is likely that it will be the compiler used by most major operating systems released in Q3 and Q4 2002 (RedHat 8.0, SuSE, FreeBSD 5.0, etc.). If this does occur, then it seems reasonable to expect that SGI will release a build of Performer compiled with GCC 3.2, and all will be well.

Added:
>
>

Note for RedHat 7.3 users

RedHat has made RPMs of GCC 3.1 available for RedHat Linux 7.3 via up2date. The version number on the C++ library (/usr/lib/libstdc++.so.3) has been increased to 4, thus changing the name of the library binary to libstdc++.so.4. This name change causes a runtime linker error with the Performer libraries because they are linked against libstdc++.so.3. Making a symlink to libstdc++.so.4 might fix the error, but this has not been tested successfully yet.


Back to: LiveFaq


 <<O>>  Difference Topic PerformerAndLinux (r1.3 - 23 Sep 2002 - PatrickHartling)

Q: How can I use OpenGL Performer with VR Juggler on Linux?

Line: 13 to 13

Until June 2002, all versions of Performer for Linux were built for use on RedHat Linux 6.x using GCC 2.95. OpenGL Performer 2.5.1 is the first version released for Linux that is built with GCC 3. GCC 3.1 (or 3.2--see below) will be the compiler used on RedHat 8.0, so it will not be long before the use of GCC 3.x replaces GCC 2.9x in widespread use.

Changed:
<
<
There are further complications looming, however. Recent discussion on the GCC mailing lists indicates that GCC 3.2 will contain further C++ ABI changes as the ABI used in versions 3.0 and 3.1 has bugs. Development on GCC 3.2 has already been going strong for some time, and the GCC developers intend for it to be a big improvement over the GCC 3.1 line (which is quite good in its own right). Some discussion suggests that GCC 3.2 will be GCC 3.1.1 with the new C++ ABI, whereas the current in-development code will be GCC 3.3.
>
>
There are further complications, however. GCC 3.2 has C++ ABI changes relative to versions 3.0 and 3.1. (GCC 3.2 was released August 14, 2002, and it is simply GCC 3.1.1 with bug fixes for the 3.0/3.1 ABI.) Initial testing has shown that the GCC 3.0 version of Performer can be used with a GCC 3.2 build of VR Juggler 1.1. This testing was not at all rigorous, but it may be that the ABI differences between 3.0/3.1 and 3.2 are not of the show-stopping variety, as seen between 2.95 and 3.0.

Even so, more bugs have been found in the GCC 3.2 C++ ABI. At this time, the bugs have not been fixed in the GCC 3.3 development code. Discussions on the mailing list suggest that a compiler flag may be added to GCC 3.3 to allow backwards compatibility with the 3.2 ABI. As of late Semptember 2002, the GCC steering committee has not discussed the issue, so no decisions have been made.


For information on the decisions made regarding GCC 3.1 and 3.2, refer the the attached file. It is likely that it will be the compiler used by most major operating systems released in Q3 and Q4 2002 (RedHat 8.0, SuSE, FreeBSD 5.0, etc.). If this does occur, then it seems reasonable to expect that SGI will release a build of Performer compiled with GCC 3.2, and all will be well.


 <<O>>  Difference Topic PerformerAndLinux (r1.2 - 15 Jul 2002 - PatrickHartling)

Changed:
<
<

Q: How can I use OpenGL? Performer with VR Juggler on Linux?

>
>

Q: How can I use OpenGL Performer with VR Juggler on Linux?


Changed:
<
<
What steps do I have to take to use OpenGL? Performer and VR Juggler on Linux? Why is it so complicated?
>
>
What steps do I have to take to use OpenGL Performer and VR Juggler on Linux? Why is it so complicated?

Changed:
<
<

A: Use the GCC 3 versions of VR Juggler and OpenGL? Performer.

>
>

A: Use the GCC 3 versions of VR Juggler and OpenGL Performer.


Changed:
<
<
The problems with Performer, VR Juggler, and Linux date back to the release of RedHat? Linux 7.0. This version shipped with GCC 2.96, a version that produced C++ code that was not fully compatible with GCC 2.95 (the version used on RedHat? 6.x). Between these two versions, most C++ binary code was interoperable, but not all. In particular, the use of the dynamic_cast<> construct caused an immediate crash when an application was linked with the Performer libraries--even if the application did not make a single Performer function call or include any Performer headers.
>
>
The problems with Performer, VR Juggler, and Linux date back to the release of RedHat Linux 7.0. This version shipped with GCC 2.96, a version that produced C++ code that was not fully compatible with GCC 2.95 (the version used on RedHat 6.x). Between these two versions, most C++ binary code was interoperable, but not all. In particular, the use of the dynamic_cast<> construct caused an immediate crash when an application was linked with the Performer libraries--even if the application did not make a single Performer function call or include any Performer headers.

The cause of these problems was the change in the application binary interface (ABI) for C++. The C++ ABI changed between versions 2.91, 2.95, 2.96, 2.97, and 3.0. GCC 3.0 and 3.1 are fully binary compatible--at least with respect to VR Juggler and Performer.

Changed:
<
<
Until June 2002, all versions of Performer for Linux were built for use on RedHat? Linux 6.x using GCC 2.95. OpenGL? Performer 2.5.1 is the first version released for Linux that is built with GCC 3. GCC 3.1 (or 3.2--see below) will be the compiler used on RedHat? 8.0, so it will not be long before the use of GCC 3.x replaces GCC 2.9x in widespread use.
>
>
Until June 2002, all versions of Performer for Linux were built for use on RedHat Linux 6.x using GCC 2.95. OpenGL Performer 2.5.1 is the first version released for Linux that is built with GCC 3. GCC 3.1 (or 3.2--see below) will be the compiler used on RedHat 8.0, so it will not be long before the use of GCC 3.x replaces GCC 2.9x in widespread use.

There are further complications looming, however. Recent discussion on the GCC mailing lists indicates that GCC 3.2 will contain further C++ ABI changes as the ABI used in versions 3.0 and 3.1 has bugs. Development on GCC 3.2 has already been going strong for some time, and the GCC developers intend for it to be a big improvement over the GCC 3.1 line (which is quite good in its own right). Some discussion suggests that GCC 3.2 will be GCC 3.1.1 with the new C++ ABI, whereas the current in-development code will be GCC 3.3.

Changed:
<
<
Whether any of this is finalized or not is unclear, but if GCC 3.2 and its new C++ ABI comes out quickly enough, it is likely that it will be the compiler used by most major operating systems released in Q3 and Q4 2002 (RedHat? 8.0, SuSE?, FreeBSD? 5.0, etc.). If this does occur, then it seems reasonable to expect that SGI will release a build of Performer compiled with GCC 3.2, and all will be well.
>
>
For information on the decisions made regarding GCC 3.1 and 3.2, refer the the attached file. It is likely that it will be the compiler used by most major operating systems released in Q3 and Q4 2002 (RedHat 8.0, SuSE, FreeBSD 5.0, etc.). If this does occur, then it seems reasonable to expect that SGI will release a build of Performer compiled with GCC 3.2, and all will be well.

Line: 23 to 23

META FORM FaqForm  
META FIELD FaqTopic FaqTopic Applications
META FIELD ShortQuestion ShortQuestion How can I use OpenGL? Performer with VR Juggler on Linux?
Added:
>
>
META FILEATTACHMENT gcc-32-release.txt attr="" comment="GCC release update announcement" date="1026742273" path="gcc-32-release.txt" size="2122" user="PatrickHartling" version="1.1"

 <<O>>  Difference Topic PerformerAndLinux (r1.1 - 14 Jul 2002 - PatrickHartling)
Line: 1 to 1
Added:
>
>

Q: How can I use OpenGL? Performer with VR Juggler on Linux?

What steps do I have to take to use OpenGL? Performer and VR Juggler on Linux? Why is it so complicated?

A: Use the GCC 3 versions of VR Juggler and OpenGL? Performer.

The problems with Performer, VR Juggler, and Linux date back to the release of RedHat? Linux 7.0. This version shipped with GCC 2.96, a version that produced C++ code that was not fully compatible with GCC 2.95 (the version used on RedHat? 6.x). Between these two versions, most C++ binary code was interoperable, but not all. In particular, the use of the dynamic_cast<> construct caused an immediate crash when an application was linked with the Performer libraries--even if the application did not make a single Performer function call or include any Performer headers.

The cause of these problems was the change in the application binary interface (ABI) for C++. The C++ ABI changed between versions 2.91, 2.95, 2.96, 2.97, and 3.0. GCC 3.0 and 3.1 are fully binary compatible--at least with respect to VR Juggler and Performer.

Until June 2002, all versions of Performer for Linux were built for use on RedHat? Linux 6.x using GCC 2.95. OpenGL? Performer 2.5.1 is the first version released for Linux that is built with GCC 3. GCC 3.1 (or 3.2--see below) will be the compiler used on RedHat? 8.0, so it will not be long before the use of GCC 3.x replaces GCC 2.9x in widespread use.

There are further complications looming, however. Recent discussion on the GCC mailing lists indicates that GCC 3.2 will contain further C++ ABI changes as the ABI used in versions 3.0 and 3.1 has bugs. Development on GCC 3.2 has already been going strong for some time, and the GCC developers intend for it to be a big improvement over the GCC 3.1 line (which is quite good in its own right). Some discussion suggests that GCC 3.2 will be GCC 3.1.1 with the new C++ ABI, whereas the current in-development code will be GCC 3.3.

Whether any of this is finalized or not is unclear, but if GCC 3.2 and its new C++ ABI comes out quickly enough, it is likely that it will be the compiler used by most major operating systems released in Q3 and Q4 2002 (RedHat? 8.0, SuSE?, FreeBSD? 5.0, etc.). If this does occur, then it seems reasonable to expect that SGI will release a build of Performer compiled with GCC 3.2, and all will be well.

Back to: LiveFaq

META FORM FaqForm  
META FIELD FaqTopic FaqTopic Applications
META FIELD ShortQuestion ShortQuestion How can I use OpenGL? Performer with VR Juggler on Linux?


Topic PerformerAndLinux . { View | Diffs | r1.7 | > | r1.6 | > | r1.5 | More }
Revision r1.1 - 14 Jul 2002 - 17:09 - PatrickHartling
Revision r1.7 - 19 Mar 2003 - 16:49 - PatrickHartling

Copyright © 1999-2008 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding VRJ Wiki? Send feedback