The attached patch makes the latest version of 'inventor' compile with gcc-4.0.
Regards Andreas Jochens diff -urN ../tmp-orig/inventor-2.1.5-10/lib/database/include/Inventor/SoPath.h ./lib/database/include/Inventor/SoPath.h --- ../tmp-orig/inventor-2.1.5-10/lib/database/include/Inventor/SoPath.h 2001-09-25 02:45:33.000000000 +0200 +++ ./lib/database/include/Inventor/SoPath.h 2005-06-21 07:51:46.000000000 +0200 @@ -79,6 +79,7 @@ class SoPathList; class SoWriteAction; +class SoTempPath; class SoPath : public SoBase { diff -urN ../tmp-orig/inventor-2.1.5-10/lib/database/src/so/SoOutput.c++ ./lib/database/src/so/SoOutput.c++ --- ../tmp-orig/inventor-2.1.5-10/lib/database/src/so/SoOutput.c++ 2001-09-25 02:45:35.000000000 +0200 +++ ./lib/database/src/so/SoOutput.c++ 2005-06-21 07:50:12.000000000 +0200 @@ -1462,11 +1462,7 @@ // Generates a CC warning. Ho hum. if (refDict->find((unsigned long) base, ref)) -#if (_MIPS_SZPTR == 64 || __ia64) referenceId = (int) ((unsigned long) ref); -#else - referenceId = (int)ref; -#endif return referenceId; } diff -urN ../tmp-orig/inventor-2.1.5-10/lib/database/src/so/SoType.c++ ./lib/database/src/so/SoType.c++ --- ../tmp-orig/inventor-2.1.5-10/lib/database/src/so/SoType.c++ 2003-07-12 00:40:53.000000000 +0200 +++ ./lib/database/src/so/SoType.c++ 2005-06-21 07:50:13.000000000 +0200 @@ -331,11 +331,7 @@ if (b == NULL) return SoType::badType(); -#if (_MIPS_SZPTR == 64 || __ia64) SoType result = typeData[(int) ((unsigned long) b)].type; -#else - SoType result = typeData[(int)b].type; -#endif if (result.storage.isPublic == 0) { #ifdef DEBUG diff -urN ../tmp-orig/inventor-2.1.5-10/lib/interaction/src/draggers/SoDragger.c++ ./lib/interaction/src/draggers/SoDragger.c++ --- ../tmp-orig/inventor-2.1.5-10/lib/interaction/src/draggers/SoDragger.c++ 2001-09-25 02:45:44.000000000 +0200 +++ ./lib/interaction/src/draggers/SoDragger.c++ 2005-06-21 07:50:13.000000000 +0200 @@ -686,11 +686,7 @@ int indexInPath = tempPathToThis->getIndex(numFmHead+1); int numKidsNow = children->getLength(); -#if (_MIPS_SZPTR == 64 || __ia64) int numKidsBefore = (int) ((long) (*tempPathNumKidsHack)[numFmHead]); -#else - int numKidsBefore = (int) (*tempPathNumKidsHack)[numFmHead]; -#endif // To be correct, the childNode has to be the correct numbered // child under the parent, and the parent should still diff -urN ../tmp-orig/inventor-2.1.5-10/lib/nodekits/src/nodekits/SoNkCatalog.c++ ./lib/nodekits/src/nodekits/SoNkCatalog.c++ --- ../tmp-orig/inventor-2.1.5-10/lib/nodekits/src/nodekits/SoNkCatalog.c++ 2001-09-25 02:45:46.000000000 +0200 +++ ./lib/nodekits/src/nodekits/SoNkCatalog.c++ 2005-06-21 07:50:13.000000000 +0200 @@ -336,11 +336,7 @@ void *castPNum; if ( partNameDict.find( (unsigned long) theName.getString(), castPNum ) ) -#if (_MIPS_SZPTR == 64 || __ia64) return ( (int) ((long) castPNum) ); // System long -#else - return ( (int) castPNum ); -#endif else return SO_CATALOG_NAME_NOT_FOUND; } diff -urN ../tmp-orig/inventor-2.1.5-10/lib/nodekits/src/upgraders/SoV1NkCatalog.c++ ./lib/nodekits/src/upgraders/SoV1NkCatalog.c++ --- ../tmp-orig/inventor-2.1.5-10/lib/nodekits/src/upgraders/SoV1NkCatalog.c++ 2001-09-25 02:45:47.000000000 +0200 +++ ./lib/nodekits/src/upgraders/SoV1NkCatalog.c++ 2005-06-21 07:50:13.000000000 +0200 @@ -330,11 +330,7 @@ void *castPNum; if ( partNameDict.find( (unsigned long) theName.getString(), castPNum ) ) -#if (_MIPS_SZPTR == 64 || __ia64) return ( (int) ((long) castPNum) ); // System long -#else - return ( (int) castPNum ); -#endif else return SO_V1_CATALOG_NAME_NOT_FOUND; } diff -urN ../tmp-orig/inventor-2.1.5-10/libSoXt/src/SoXtRsrc.c++ ./libSoXt/src/SoXtRsrc.c++ --- ../tmp-orig/inventor-2.1.5-10/libSoXt/src/SoXtRsrc.c++ 2001-09-25 02:45:48.000000000 +0200 +++ ./libSoXt/src/SoXtRsrc.c++ 2005-06-21 07:50:13.000000000 +0200 @@ -145,13 +145,8 @@ classList = new XrmQuark[listSize]; for (q = 0, s = len - 1; s >= 0; q++, s--) { -#if (_MIPS_SZPTR == 64 || __ia64) nameList[q] = (XrmQuark) ((long) nameplist[s]); classList[q] = (XrmQuark) ((long) classplist[s]); -#else - nameList[q] = (XrmQuark) nameplist[s]; - classList[q] = (XrmQuark) classplist[s]; -#endif } // make the last entry the NULL sentinel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]