diff -aur occ6.2/ros/configure.in mod/ros/configure.in
--- occ6.2/ros/configure.in	2007-08-28 13:07:07.000000000 -0500
+++ mod/ros/configure.in	2007-08-29 14:54:32.207292566 -0500
@@ -629,6 +629,24 @@
 CXXFLAGS="$CXXFLAGS_save"
 ],[AC_MSG_WARN(No --with-stlport-library=DIR was specified)])
 
+
+# Test for 64-bit platforms
+AC_CHECK_HEADERS( [stdlib.h inttypes.h stdint.h] )
+AC_MSG_CHECKING([if platform is 64-bit])
+AC_TRY_COMPILE( 
+[#include <stdlib.h>
+ #ifdef HAVE_INTTYPES_H
+ #include <inttypes.h>
+ #endif
+ #ifdef HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+], 
+[size_t j; 
+ uint64_t* i = &j;
+], [AC_MSG_RESULT([yes]); CPPFLAGS="$CPPFLAGS -D_OCC64"],
+   [AC_MSG_RESULT([no])] )
+
 AC_ENABLE_DEBUG(yes)
 AC_DISABLE_PRODUCTION
 
diff -aur occ6.2/ros/configure.in mod/ros/configure.in
--- occ6.2/ros/configure.in	2007-08-28 13:07:07.000000000 -0500
+++ mod/ros/configure.in	2007-08-29 14:54:32.207292566 -0500
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(config.h.in)
+AC_INIT([OpenCAS], [5.0DVP1])
 AC_CONFIG_AUX_DIR(make)
-AM_INIT_AUTOMAKE(OpenCAS,5.0DVP1)
+AM_INIT_AUTOMAKE([foreign])
 AC_CANONICAL_HOST
 dnl AM_CONFIG_SRCDIR(src/Standard/Standard.cxx)
 
@@ -383,7 +383,7 @@
 
 AC_LANG([C])
 CFLAGS_save=$CFLAGS
-CFLAGS="$CXXFLAGS $GL_INCLUDE"
+CFLAGS="$CFLAGS $GL_INCLUDE"
 AC_CHECK_TYPE(_GLUfuncptr,[],[CFLAGS_save="-DNOGLUfuncptr=1 $CFLAGS_save"],[#include "GL/glu.h"])
 CFLAGS="$CFLAGS_save"
 
@@ -604,8 +604,8 @@
 INCLUDE="$STLPort_INCLUDES $INCLUDE"
 CPPFLAGS_save=$CPPFLAGS
 CPPFLAGS="$INCLUDE $CPPFLAGS"
-CXXFLAGS_save=$CPPFLAGS
-CXXFLAGS="$INCLUDE $CPPFLAGS"
+CXXFLAGS_save=$CXXFLAGS
+CXXFLAGS="$INCLUDE $CXXFLAGS"
 LDFLAGS_save=$LDFLAGS
 if test -d "${with_stlport_library}"  ; then
   STLPort_LIB="-L`(cd  ${with_stlport_library}; pwd)` -l$STLPort_LIB_CC"
diff -aur occ6.2/ros/src/LDOM/LDOM_OSStream.hxx mod/ros/src/LDOM/LDOM_OSStream.hxx
--- occ6.2/ros/src/LDOM/LDOM_OSStream.hxx	2007-08-28 13:06:11.000000000 -0500
+++ mod/ros/src/LDOM/LDOM_OSStream.hxx	2007-08-28 14:47:55.261582955 -0500
@@ -29,6 +29,7 @@
 #include <Standard_Boolean.hxx>
 
 #include <stdlib.h>
+#include <stdio.h>
 
 class LDOM_StringElem; // defined in cxx file
 
diff -aur occ6.2/ros/inc/LDOM_OSStream.hxx mod/ros/inc/LDOM_OSStream.hxx
--- occ6.2/ros/inc/LDOM_OSStream.hxx	2007-08-28 13:06:11.000000000 -0500
+++ mod/ros/inc/LDOM_OSStream.hxx	2007-08-28 14:47:55.261582955 -0500
@@ -29,6 +29,7 @@
 #include <Standard_Boolean.hxx>
 
 #include <stdlib.h>
+#include <stdio.h>
 
 class LDOM_StringElem; // defined in cxx file
 
diff -aur occ6.2/ros/src/WOKTools/WOKTools_Options.cxx mod/ros/src/WOKTools/WOKTools_Options.cxx
--- occ6.2/ros/src/WOKTools/WOKTools_Options.cxx	2007-08-28 13:06:39.000000000 -0500
+++ mod/ros/src/WOKTools/WOKTools_Options.cxx	2007-08-29 15:18:16.813268440 -0500
@@ -13,6 +13,7 @@
 
 #include <string.h>
 #include <stdlib.h>
+#include <stdio.h>
 
 #include <WOKTools_Options.ixx>
 
diff -aur occ6.2/ros/src/Standard/Standard_Transient_proto.hxx mod/ros/src/Standard/Standard_Transient_proto.hxx
--- occ6.2/ros/src/Standard/Standard_Transient_proto.hxx	2007-08-28 13:06:16.000000000 -0500
+++ mod/ros/src/Standard/Standard_Transient_proto.hxx	2007-08-29 13:45:41.614264887 -0500
@@ -21,6 +21,9 @@
 //! Abstract class which forms the root of the entire 
 //! Transient class hierarchy.
 
+class Handle(Standard_Transient);
+Standard_EXPORT Handle_Standard_Type& Standard_Transient_Type_(); 
+
 class Standard_Transient
 {
   //---- uses the friend Standard_Transient class
diff -aur occ6.2/ros/inc/Standard_Transient_proto.hxx mod/ros/inc/Standard_Transient_proto.hxx
--- occ6.2/ros/inc/Standard_Transient_proto.hxx	2007-08-28 13:06:16.000000000 -0500
+++ mod/ros/inc/Standard_Transient_proto.hxx	2007-08-29 13:45:41.614264887 -0500
@@ -21,6 +21,9 @@
 //! Abstract class which forms the root of the entire 
 //! Transient class hierarchy.
 
+class Handle(Standard_Transient);
+Standard_EXPORT Handle_Standard_Type& Standard_Transient_Type_(); 
+
 class Standard_Transient
 {
   //---- uses the friend Standard_Transient class
diff -aur occ6.2/ros/inc/Units_Dimensions.hxx mod/ros/inc/Units_Dimensions.hxx
--- occ6.2/ros/inc/Units_Dimensions.hxx	2007-08-28 13:06:18.000000000 -0500
+++ mod/ros/inc/Units_Dimensions.hxx	2007-08-29 14:27:08.181281640 -0500
@@ -190,6 +190,9 @@
 
 };
 
+Standard_EXPORT Handle(Units_Dimensions) operator *(const Handle(Units_Dimensions)&,const Handle(Units_Dimensions)&);
+Standard_EXPORT Handle(Units_Dimensions) operator /(const Handle(Units_Dimensions)&,const Handle(Units_Dimensions)&);
+Standard_EXPORT Handle(Units_Dimensions) pow(const Handle(Units_Dimensions)&,const Standard_Real);
 
 #include <Units_Dimensions.lxx>
 
diff -aur occ6.2/ros/inc/Units_Quantity.hxx mod/ros/inc/Units_Quantity.hxx
--- occ6.2/ros/inc/Units_Quantity.hxx	2007-08-28 13:06:16.000000000 -0500
+++ mod/ros/inc/Units_Quantity.hxx	2007-08-29 14:30:16.485507150 -0500
@@ -123,6 +123,7 @@
 
 };
 
+Standard_EXPORT Standard_Boolean operator ==(const Handle(Units_Quantity)&,const Standard_CString);
 
 #include <Units_Quantity.lxx>
 
diff -aur occ6.2/ros/inc/Units_Token.hxx mod/ros/inc/Units_Token.hxx
--- occ6.2/ros/inc/Units_Token.hxx	2007-08-28 13:06:15.000000000 -0500
+++ mod/ros/inc/Units_Token.hxx	2007-08-29 14:26:05.065206046 -0500
@@ -252,6 +252,19 @@
 
 };
 
+Standard_EXPORT Handle(Units_Token) operator +(const Handle(Units_Token)&,const Standard_Integer);
+Standard_EXPORT Handle(Units_Token) operator +(const Handle(Units_Token)&,const Handle(Units_Token)&);
+Standard_EXPORT Handle(Units_Token) operator -(const Handle(Units_Token)&,const Handle(Units_Token)&);
+Standard_EXPORT Handle(Units_Token) operator *(const Handle(Units_Token)&,const Handle(Units_Token)&);
+Standard_EXPORT Handle(Units_Token) operator /(const Handle(Units_Token)&,const Handle(Units_Token)&);
+Standard_EXPORT Handle(Units_Token) pow(const Handle(Units_Token)&,const Handle(Units_Token)&);
+Standard_EXPORT Handle(Units_Token) pow(const Handle(Units_Token)&,const Standard_Real);
+Standard_EXPORT Standard_Boolean operator ==(const Handle(Units_Token)&,const Standard_CString);
+Standard_EXPORT Standard_Boolean operator !=(const Handle(Units_Token)&,const Standard_CString);
+Standard_EXPORT Standard_Boolean operator <=(const Handle(Units_Token)&,const Standard_CString);
+Standard_EXPORT Standard_Boolean operator >(const Handle(Units_Token)&,const Standard_CString);
+Standard_EXPORT Standard_Boolean operator >(const Handle(Units_Token)&,const Handle(Units_Token)&);
+Standard_EXPORT Standard_Boolean operator >=(const Handle(Units_Token)&,const Handle(Units_Token)&);
 
 #include <Units_Token.lxx>
 
diff -aur occ6.2/ros/inc/Units_Unit.hxx mod/ros/inc/Units_Unit.hxx
--- occ6.2/ros/inc/Units_Unit.hxx	2007-08-28 13:06:14.000000000 -0500
+++ mod/ros/inc/Units_Unit.hxx	2007-08-29 14:29:28.661449883 -0500
@@ -152,6 +152,7 @@
 
 };
 
+Standard_EXPORT Standard_Boolean operator ==(const Handle(Units_Unit)&,const Standard_CString);
 
 #include <Units_Unit.lxx>
 
diff -aur occ6.2/ros/src/Standard/Standard_Persistent.cxx mod/ros/src/Standard/Standard_Persistent.cxx
--- occ6.2/ros/src/Standard/Standard_Persistent.cxx	2007-08-28 13:06:43.000000000 -0500
+++ mod/ros/src/Standard/Standard_Persistent.cxx	2007-08-29 14:19:10.056708994 -0500
@@ -9,6 +9,7 @@
 #include <Standard_TypeMismatch.hxx>
 #include <Standard_NotImplemented.hxx>
 #include <Standard_Type.hxx>
+#include <Standard_ShallowDump_proto.hxx>
 
 //
 // The Initialization of the Standard_Persistent variables
diff -aur occ6.2/ros/inc/Standard_ErrorHandlerCallback.hxx mod/ros/inc/Standard_ErrorHandlerCallback.hxx
--- occ6.2/ros/inc/Standard_ErrorHandlerCallback.hxx	2007-08-28 13:06:14.000000000 -0500
+++ mod/ros/inc/Standard_ErrorHandlerCallback.hxx	2007-08-28 13:49:59.577313381 -0500
@@ -61,7 +61,7 @@
   void RegisterCallback() ;
 //! Unregisters this callback object from the error handler. <br>
   void UnregisterCallback() ;
-virtual Standard_EXPORT Standard_ErrorHandlerCallback::~Standard_ErrorHandlerCallback ();
+virtual Standard_EXPORT ~Standard_ErrorHandlerCallback ();
 
 //! The callback function to perform necessary callback action. <br>
 //!          Called by the exception handler when it is being destroyed but <br>
diff -aur occ6.2/ros/src/BOPTest/BOPTest_LowCommands.cxx mod/ros/src/BOPTest/BOPTest_LowCommands.cxx
--- occ6.2/ros/src/BOPTest/BOPTest_LowCommands.cxx	2007-08-28 13:06:45.000000000 -0500
+++ mod/ros/src/BOPTest/BOPTest_LowCommands.cxx	2007-08-29 10:48:58.598290105 -0500
@@ -792,7 +792,7 @@
 //=======================================================================
 class X_Chr {
  public:
-  X_Chr::X_Chr() {
+  X_Chr() {
     Reset();
   }
   void Reset() {
--- occ6.2/ros/src/Standard/Standard_SStream.cxx	2007-08-28 13:06:43.000000000 -0500
+++ mod/ros/src/Standard/Standard_SStream.cxx	2007-08-29 15:43:48.839332510 -0500
@@ -26,6 +26,6 @@
 ostream& operator<< (ostream& anOstream, Standard_SStream& aSStream)
 {
   aSStream << "\0";
-  anOstream << aSStream.rdbuf()->str();
+  anOstream << GetSString(aSStream);
   return anOstream;
 }
