Part 1)Experiments on getting OpenCascade MakeBottle.cxx to compile on Hardy Heron 32-bit using g++ compiler

I’ve been trying to get MakeBottle.cxx to compile on my 32-bit Hardy Heron…    As I’ve said from the beginning of me starting to post, I’ve been pursuing three simultaneous learning objectives…

  1. Linux,
  2. C++
  3. OpenCascade

As this is a fun[?] project for me, I haven’t been able to focus on this as much as I’d like. At this point, I’m starting to learn about compiler options using the g++ compiler.

Here are my experiments in trying get MakeBottle.cxx to compile successfully

(Experiment 1) Find make MakeBottle.cxx and simply let the g++ rip.

jonas@Ubuntu4:~$ locate MakeBottle.cxx
/home/jonas/OCC_bottle/MakeBottle.cxx
/opt/OpenCASCADE6.2.0/samples/tutorial/src/MakeBottle.cxx
jonas@Ubuntu4:~$ cd /opt/OpenCASCADE6.2.0/samples/tutorial/src/
jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ g++ MakeBottle.cxx
MakeBottle.cxx:1:25: error: BRep_Tool.hxx: No such file or directory
MakeBottle.cxx:3:32: error: BRepAlgoAPI_Fuse.hxx: No such file or directory
MakeBottle.cxx:5:39: error: BRepBuilderAPI_MakeEdge.hxx: No such file or directory
MakeBottle.cxx:6:39: error: BRepBuilderAPI_MakeFace.hxx: No such file or directory
MakeBottle.cxx:7:39: error: BRepBuilderAPI_MakeWire.hxx: No such file or directory
MakeBottle.cxx:8:40: error: BRepBuilderAPI_Transform.hxx: No such file or directory
MakeBottle.cxx:10:40: error: BRepFilletAPI_MakeFillet.hxx: No such file or directory
MakeBottle.cxx:12:23: error: BRepLib.hxx: No such file or directory
MakeBottle.cxx:14:44: error: BRepOffsetAPI_MakeThickSolid.hxx: No such file or directory
MakeBottle.cxx:15:42: error: BRepOffsetAPI_ThruSections.hxx: No such file or directory
MakeBottle.cxx:17:40: error: BRepPrimAPI_MakeCylinder.hxx: No such file or directory
MakeBottle.cxx:18:37: error: BRepPrimAPI_MakePrism.hxx: No such file or directory
MakeBottle.cxx:20:34: error: GC_MakeArcOfCircle.hxx: No such file or directory
MakeBottle.cxx:21:30: error: GC_MakeSegment.hxx: No such file or directory
MakeBottle.cxx:23:33: error: GCE2d_MakeSegment.hxx: No such file or directory
MakeBottle.cxx:25:18: error: gp.hxx: No such file or directory
MakeBottle.cxx:26:22: error: gp_Ax1.hxx: No such file or directory
MakeBottle.cxx:27:22: error: gp_Ax2.hxx: No such file or directory
MakeBottle.cxx:28:23: error: gp_Ax2d.hxx: No such file or directory
MakeBottle.cxx:29:22: error: gp_Dir.hxx: No such file or directory
MakeBottle.cxx:30:24: error: gp_Dir2d.hxx: No such file or directory
MakeBottle.cxx:31:22: error: gp_Pnt.hxx: No such file or directory
MakeBottle.cxx:32:24: error: gp_Pnt2d.hxx: No such file or directory
MakeBottle.cxx:33:23: error: gp_Trsf.hxx: No such file or directory
MakeBottle.cxx:34:22: error: gp_Vec.hxx: No such file or directory
MakeBottle.cxx:36:39: error: Geom_CylindricalSurface.hxx: No such file or directory
MakeBottle.cxx:37:26: error: Geom_Plane.hxx: No such file or directory
MakeBottle.cxx:38:28: error: Geom_Surface.hxx: No such file or directory
MakeBottle.cxx:39:33: error: Geom_TrimmedCurve.hxx: No such file or directory
MakeBottle.cxx:41:30: error: Geom2d_Ellipse.hxx: No such file or directory
MakeBottle.cxx:42:35: error: Geom2d_TrimmedCurve.hxx: No such file or directory
MakeBottle.cxx:44:31: error: TopExp_Explorer.hxx: No such file or directory
MakeBottle.cxx:46:22: error: TopoDS.hxx: No such file or directory
MakeBottle.cxx:47:27: error: TopoDS_Edge.hxx: No such file or directory
MakeBottle.cxx:48:27: error: TopoDS_Face.hxx: No such file or directory
MakeBottle.cxx:49:27: error: TopoDS_Wire.hxx: No such file or directory
MakeBottle.cxx:50:28: error: TopoDS_Shape.hxx: No such file or directory
MakeBottle.cxx:51:31: error: TopoDS_Compound.hxx: No such file or directory
MakeBottle.cxx:53:36: error: TopTools_ListOfShape.hxx: No such file or directory
MakeBottle.cxx:55: error: ‘TopoDS_Shape’ does not name a type

Experiment result
The g++ library by default is not point to the Occ library.
I think there is probably a way to include the library by default by the compiler.  I haven’t gone done those paths yet.  I found the library by the following:

jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ locate BRep_Tool.hxx
/opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx

(Experiment 2)Compiling with the OCC library using the -I option
I trying a couple of different ways to get the g++ compiler to recognize OCC library contained in the  /opt/OpenCASCADE6.2.0/ros/inc/ directory. Partial results from that are listed below:

jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ g++ -I /opt/OpenCASCADE6.2.0/ros/inc MakeBottle.cxx
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:9,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_values.h:35:2: error: #error “check config.h file or compilation options: either HAVE_LIMITS or HAVE_LIMITS_H should be defined”
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OStream.hxx:7,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:40,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Stream.hxx:19:2: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined”
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OutOfRange.hxx:33,
from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.lxx:4,
from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.hxx:326,
from /opt/OpenCASCADE6.2.0/ros/inc/gp_Trsf.hxx:32,
from /opt/OpenCASCADE6.2.0/ros/inc/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_SStream.hxx:23:4: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined”
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerFirst()’:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:129: error: ‘INT_MIN’ was not declared in this scope
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerLast()’:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:135: error: ‘INT_MAX’ was not declared in this scope
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerSize()’:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:141: error: ‘CHAR_BIT’ was not declared in this scope
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_PrimitiveTypes.hxx:23,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Standard_Transient.hxx:10,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_MMgt_TShared.hxx:33,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Geometry.hxx:33,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:33,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1 …………………….. There’s more but this enough to get the idea.

Ok… the next place MakeBottle.Cxx crapped out was with the config.h files and the variables HAVE_IOSTREAM or HAVE_IOSTREAM_H.   I searched the OpenCascade forum and ran across a post saying that the either one or the other should be defined I ran across a post that either one or the other variable should be used and you could delete the variable by using the -D variable.
I tried to a few experiments but I came to the conclusion that my compiler wants to use <iostream> instead of <iostream.h> and so forth.   So….. rather the messing with the -D variable, I decided to try making manual edits to the config.h and see what happens.  I guess I should point out, I haven’t found documentation or posts to do this, but it seemed logical to me.  I guess the results of the next experiment will dictate where or not this was a dumb idea……

It found a few reference to config.h which look like likely suspects.  Here they are.

jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ locate config.h
/opt/OpenCASCADE6.2.0/ros/config.h.in
/opt/OpenCASCADE6.2.0/ros/inc/config.h
/opt/OpenCASCADE6.2.0/ros/src/WOKTclLib/config.h
/opt/OpenCASCADE6.2.0/wok/lib/config.h

I decide to go try modifying /opt/OpenCASCADE6.2.0/ros/inc/config.h and see what happens.
Here is the unmodified contents of this file:

#ifdef HAVE_WOK_CONFIG_H

/*———————————————————*/
/* This part is extracted from config.h generated on Linux */
/*———————————————————*/

#ifdef LIN

/* This part is extracted from config.h generated on Linux */

/* config.h.  Generated automatically by configure.  */
/* config.h.in.  Generated automatically from configure.ac by autoheader.  */

/* Define to one of _getb67', GETB67′, getb67' for Cray-2 and Cray-YMP
systems. This function is required for
alloca.c’ support on those systems.
*/
/* #undef CRAY_STACKSEG_END */

/* Define to 1 if using alloca.c'. */
/* #undef C_ALLOCA */

/* define if the compiler allows redefinition of stream input and output */
#undef DEF_IOS_OK

/* Define to 1 if you have alloca’, as a function or macro. */
#define HAVE_ALLOCA_H 1

#define HAVE_FSTREAM 1

#define HAVE_IOSTREAM 1
#define HAVE_IOMANIP 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1

/* Define to 1 if you have the <bits/sigset.h> header file. */
#define HAVE_BITS_SIGSET_H 1

/* Define to 1 if you have the <bstring.h> header file. */
/* #undef HAVE_BSTRING_H */

/* Define to 1 if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1

/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define to 1 if you have the <dl.h> header file. */
/* #undef HAVE_DL_H */

/* Define if we have the Adobe postscript library -ldps. */
/* #undef HAVE_DPS */

/* Define to 1 if you have the <DPS/dpsXclient.h> header file. */
#define HAVE_DPS_DPSXCLIENT_H 1

/* Define if we have a function called “finite” in -lm. */
#define HAVE_FINITE

/* Define to 1 if you have the <floatingpoint.h> header file. */
/* #undef HAVE_FLOATINGPOINT_H */

/* Define to 1 if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1

/* Define to 1 if you have the gethostname' function. */
#define HAVE_GETHOSTNAME 1

/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1

/* Define to 1 if you have the <ieeefp.h> header file. */
/* #undef HAVE_IEEEFP_H */

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the <iomanip.h> header file. */
#define HAVE_IOMANIP_H 1

/* Define to 1 if you have the <ios> header file. */
#define HAVE_IOS 1

/* Define to 1 if you have the <ios.h> header file. */
/* #undef HAVE_IOS_H */

/* Define to 1 if you have the <istream.h> header file. */
#define HAVE_ISTREAM 1

/* Define to 1 if you have the <libc.h> header file. */
/* #undef HAVE_LIBC_H */

/* Define to 1 if you have the e’ library (-le). */
/* #undef HAVE_LIBE */

/* Define to 1 if you have the inks' library (-links). */
/* #undef HAVE_LIBINKS */

/* Define to 1 if you have the <limits> header file. */
#define HAVE_LIMITS_H 1

/* Define if we have a function called "mallinfo" in -lmalloc. */
/* #undef HAVE_MALLINFO */

/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1

/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define to 1 if you have the <ndir.h> header file. */
/* #undef HAVE_NDIR_H */

/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1

/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1

/* Define to 1 if you have the <osfcn.h> header file. */
/* #undef HAVE_OSFCN_H */

/* Define if you have the putenv’ function. */
#define HAVE_PUTENV 1

/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1

/* Define to 1 if you have the regcomp' function. */
#define HAVE_REGCOMP 1

/* Define to 1 if you have the re_comp’ function. */
#define HAVE_RE_COMP 1

/* Define to 1 if you have the <sigfpe.h> header file. */
/* #undef HAVE_SIGFPE_H */

/* Define to 1 if you have the <siginfo.h> header file. */
/* #undef HAVE_SIGINFO_H */

/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1

/* Define to 1 if you have the statfs' function. */
#define HAVE_STATFS 1

/* Define to 1 if you have the statvfs’ function. */
#define HAVE_STATVFS 1

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the strcspn' function. */
#define HAVE_STRCSPN 1

/* Define to 1 if you have the strdup’ function. */
#define HAVE_STRDUP 1

/* Define to 1 if you have the <stream.h> header file. */
#define HAVE_STREAM_H 1

/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to 1 if you have the <strstream.h> header file. */
#define HAVE_STRSTREAM_H 1

/* Define if you have the strtol' function. */
#define HAVE_STRTOL 1

/* Define if we have a function called "ieee_handler" in -lsunmath. */
/* #undef HAVE_SUNMATH */

/* Define to 1 if you have the <sysent.h> header file. */
/* #undef HAVE_SYSENT_H */

/* Define to 1 if you have the <sys/dir.h> header file. */
#define HAVE_SYS_DIR_H 1

/* Define to 1 if you have the <sys/filio.h> header file. */
/* #undef HAVE_SYS_FILIO_H */

/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1

/* Define to 1 if you have the <sys/ipc.h> header file. */
#define HAVE_SYS_IPC_H 1

/* Define to 1 if you have the <sys/machsig.h> header file. */
/* #undef HAVE_SYS_MACHSIG_H */

/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1

/* Define to 1 if you have the <sys/ndir.h> header file. */
/* #undef HAVE_SYS_NDIR_H */

/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1

/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1

/* Define to 1 if you have the <sys/sem.h> header file. */
#define HAVE_SYS_SEM_H 1

/* Define to 1 if you have the <sys/siginfo.h> header file. */
/* #undef HAVE_SYS_SIGINFO_H */

/* Define to 1 if you have the <sys/signal.h> header file. */
#define HAVE_SYS_SIGNAL_H 1

/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1

/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/systeminfo.h> header file. */
/* #undef HAVE_SYS_SYSTEMINFO_H */

/* Define to 1 if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1

/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to 1 if you have the <sys/unistd.h> header file. */
#define HAVE_SYS_UNISTD_H 1

/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1

/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1

/* Define to 1 if you have the <sys/vnode.h> header file. */
/* #undef HAVE_SYS_VNODE_H */

/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1

/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define to 1 if you have the <values.h> header file. */
#define HAVE_VALUES_H 1

/* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */
#define HAVE_X11_EXTENSIONS_MULTIBUF_H 1

/* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */
/* #undef HAVE_X11_EXTENSIONS_READDISPLAY_H */

/* Define to 1 if you have the <X11/extensions/transovl.h> header file. */
/* #undef HAVE_X11_EXTENSIONS_TRANSOVL_H */

/* Define if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */

/* define if the class ostream has member function form */
#define OSTREAM_FORM_OK

/* Name of package */
#define PACKAGE "OpenCAS"

/* Define if compiler has function prototypes */
#define PROTOTYPES 1

/* Define as the return type of signal handlers (int’ or void'). */
#define RETSIGTYPE void

/* define if the function semctl takes a value */
/* #undef SEMCTL_NO_REFERENCE */

/* define if the function semop takes a value */
/* #undef SEMOP_NO_REFERENCE */

/* define if semun has member __buf */
/* #undef SEMUN_BUF_DEFINED */

/* define if the union semun is in sys/sem.h */
/* #undef SEMUN_DEFINED */

/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */

/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Define if your <sys/time.h> declares struct tm’. */
/* #undef TM_IN_SYS_TIME */

/* Version number of package */
#define VERSION “4.0DVP1”

/* Define if your processor stores words with the most significant byte first
(like Motorola and SPARC, unlike Intel and VAX). */
/* #undef WORDS_BIGENDIAN */

/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message.  */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif

/* Define if you need to in order for stat and other things to work. */
/* #undef _POSIX_SOURCE */

/* Define to unsigned' if <sys/types.h> does not define. */
/* #undef size_t */

/* End Linux Part */

/*---------------------------------------------------------*/
/* This part is extracted from config.h generated on SOLARIS */
/*---------------------------------------------------------*/

#elif SOLARIS

/* config.h.  Generated automatically by configure.  */
/* config.h.in.  Generated automatically from configure.ac by autoheader.  */

/* Define to one of _getb67′, GETB67', getb67′ for Cray-2 and Cray-YMP
systems. This function is required for alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */

/* Define if using alloca.c’. */
#define C_ALLOCA 1
#define HAVE_FSTREAM_H 1

#define HAVE_IOSTREAM_H 1

/* define if the compiler allows redefinition of stream input and output */
/* #undef DEF_IOS_OK */

/* Define if you have alloca', as a function or macro. */
/* #undef HAVE_ALLOCA */

/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#define HAVE_ALLOCA_H

/* Define if you have the <bits/sigset.h> header file. */
/* #undef HAVE_BITS_SIGSET_H */

/* Define if you have the <bstring.h> header file. */
/* #undef HAVE_BSTRING_H */

/* Define if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1

/* Define if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define if you have the <dl.h> header file. */
/* #undef HAVE_DL_H */

/* Define if we have the Adobe postscript library -ldps. */
/* #undef HAVE_DPS */

/* Define if you have the <DPS/dpsXclient.h> header file. */
/* #undef HAVE_DPS_DPSXCLIENT_H */

/* Define if we have a function called "finite" in -lm. */
#define HAVE_FINITE

/* Define if you have the <floatingpoint.h> header file. */
#define HAVE_FLOATINGPOINT_H 1

/* Define if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1

/* Define if you have the gethostname’ function. */
/* #undef HAVE_GETHOSTNAME */

/* Define if you have the <getopt.h> header file. */
/* #undef HAVE_GETOPT_H */

/* Define if you have the <ieeefp.h> header file. */
#define HAVE_IEEEFP_H 1

/* Define if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define if you have the <iomanip.h> header file. */
#define HAVE_IOMANIP_H 1

/* Define if you have the <istream.h> header file. */
/* #undef HAVE_ISTREAM_H */

/* Define if you have the <fstream> header file. */
/* #undef HAVE_FSTREAM */

/* Define if you have the <strstream> header file. */
/* #undef HAVE_STRSTREAM */

/* Define if you have the <libc.h> header file. */
/* #undef HAVE_LIBC_H */

/* Define if you have the e' library (-le). */
/* #undef HAVE_LIBE */

/* Define if you have the inks’ library (-links). */
/* #undef HAVE_LIBINKS */

/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1

/* Define if we have a function called “mallinfo” in -lmalloc. */
#define HAVE_MALLINFO

/* Define if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1

/* Define if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define if you have the <ndir.h> header file. */
/* #undef HAVE_NDIR_H */

/* Define if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1

/* Define if you have the <net/if.h> header file. */
/* #define HAVE_NET_IF_H 1 */

/* Define if you have the <osfcn.h> header file. */
/* #undef HAVE_OSFCN_H */

/* Define if you have the putenv' function. */
/* #undef HAVE_PUTENV */

/* Define if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1

/* Define if you have the regcomp’ function. */
/* #undef HAVE_REGCOMP */

/* Define if you have the re_comp' function. */
/* #undef HAVE_RE_COMP */

/* Define if you have the <sigfpe.h> header file. */
/* #undef HAVE_SIGFPE_H */

/* Define if you have the <siginfo.h> header file. */
#define HAVE_SIGINFO_H 1

/* Define if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1

/* Define if you have the statfs’ function. */
/* #undef HAVE_STATFS */
#define HAVE_STATVFS

/* Define if you have the statvfs' function. */
/* #undef HAVE_STATVFS */

/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define if you have the strcspn’ function. */
/* #undef HAVE_STRCSPN */

/* Define if you have the strdup' function. */
/* #undef HAVE_STRDUP */

/* Define if you have the <stream.h> header file. */
/* #undef HAVE_STREAM_H */

/* Define if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define if you have the <strstream.h> header file. */
/* #undef HAVE_STRSTREAM_H */

/* Define if you have the strtol’ function. */
/* #undef HAVE_STRTOL */

/* Define if we have a function called “ieee_handler” in -lsunmath. */
#define HAVE_SUNMATH

/* Define if you have the <sysent.h> header file. */
/* #undef HAVE_SYSENT_H */

/* Define if you have the <sys/dir.h> header file. */
/* #undef HAVE_SYS_DIR_H */

/* Define if you have the <sys/filio.h> header file. */
#define HAVE_SYS_FILIO_H 1

/* Define if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1

/* Define if you have the <sys/ipc.h> header file. */
#define HAVE_SYS_IPC_H 1

/* Define if you have the <sys/machsig.h> header file. */
#define HAVE_SYS_MACHSIG_H 1

/* Define if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1

/* Define if you have the <sys/ndir.h> header file. */
/* #undef HAVE_SYS_NDIR_H */

/* Define if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1

/* Define if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1

/* Define if you have the <sys/sem.h> header file. */
#define HAVE_SYS_SEM_H 1

/* Define if you have the <sys/siginfo.h> header file. */
#define HAVE_SYS_SIGINFO_H 1

/* Define if you have the <sys/signal.h> header file. */
#define HAVE_SYS_SIGNAL_H 1

/* Define if you have the <sys/socket.h> header file. */
/* #define HAVE_SYS_SOCKET_H 1 */

/* Define if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1

/* Define if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define if you have the <sys/systeminfo.h> header file. */
#define HAVE_SYS_SYSTEMINFO_H 1

/* Define if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1

/* Define if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1

/* Define if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define if you have the <sys/unistd.h> header file. */
#define HAVE_SYS_UNISTD_H 1

/* Define if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1

/* Define if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1

/* Define if you have the <sys/vnode.h> header file. */
#define HAVE_SYS_VNODE_H 1

/* Define if you have the <time.h> header file. */
#define HAVE_TIME_H 1

/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define if you have the <values.h> header file. */
#define HAVE_VALUES_H 1

/* Define if you have the <X11/extensions/multibuf.h> header file. */
#define HAVE_X11_EXTENSIONS_MULTIBUF_H 1

/* Define if you have the <X11/extensions/readdisplay.h> header file. */
/* #undef HAVE_X11_EXTENSIONS_READDISPLAY_H */

/* Define if you have the <X11/extensions/transovl.h> header file. */
#define HAVE_X11_EXTENSIONS_TRANSOVL_H 1

/* Define if your C compiler doesn’t accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */

/* define if the class ostream has member function form */
/* #undef OSTREAM_FORM_OK */

/* Name of package */
#define PACKAGE “OpenCAS”

/* Define if compiler has function prototypes */
#define PROTOTYPES 1

/* Define as the return type of signal handlers (int' or void’). */
#define RETSIGTYPE int

/* define if the function semctl takes a value */
/* #undef SEMCTL_NO_REFERENCE */

/* define if the function semop takes a value */
/* #undef SEMOP_NO_REFERENCE */

/* define if semun has member __buf */
/* #undef SEMUN_BUF_DEFINED */

/* define if the union semun is in sys/sem.h */
/* #undef SEMUN_DEFINED */

/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#define STACK_DIRECTION -1

/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Define if your <sys/time.h> declares struct tm'. */
#define TM_IN_SYS_TIME 1

/* Version number of package */
#define VERSION "4.0DVP1"

/* Define if your processor stores words with the most significant byte first
(like Motorola and SPARC, unlike Intel and VAX). */
#define WORDS_BIGENDIAN 1

/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message.  */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif

/* Define if you need to in order for stat and other things to work. */
/* #undef _POSIX_SOURCE */

/* Define to unsigned’ if <sys/types.h> does not define. */
/* #define size_t unsigned */

/* End Solaris Part */

/*———————————————————*/
/* This part is extracted from config.h generated on IRIX */
/*———————————————————*/

#elif IRIX

/* config.h.  Generated automatically by configure.  */
/* config.h.in.  Generated automatically from configure.ac by autoheader.  */

/* Define to one of _getb67', GETB67′, getb67' for Cray-2 and Cray-YMP
systems. This function is required for
alloca.c’ support on those systems.
*/
/* #undef CRAY_STACKSEG_END */

/* Define to 1 if using alloca.c'. */
/* #undef C_ALLOCA */

/* define if the compiler allows redefinition of stream input and output */
/* #undef DEF_IOS_OK */

/* Define to 1 if you have alloca’, as a function or macro. */
#define HAVE_ALLOCA 1

/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1

/* Define to 1 if you have the <bits/sigset.h> header file. */
/* #undef HAVE_BITS_SIGSET_H */

/* Define to 1 if you have the <bstring.h> header file. */
#define HAVE_BSTRING_H 1

/* Define to 1 if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1

/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define to 1 if you have the <dl.h> header file. */
/* #undef HAVE_DL_H */

/* Define to 1 if you have the <DPS/dpsXclient.h> header file. */
/* #undef HAVE_DPS_DPSXCLIENT_H */

/* Define if we have a function called “finite” in -lm. */
#define HAVE_FINITE

/* Define to 1 if you have the <floatingpoint.h> header file. */
/* #undef HAVE_FLOATINGPOINT_H */

/* Define to 1 if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1

/* Define to 1 if you have the <fstream> header file. */
#define HAVE_FSTREAM 1

/* Define to 1 if you have the <fstream.h> header file. */
#define HAVE_FSTREAM_H 1

/* Define to 1 if you have the gethostname' function. */
#define HAVE_GETHOSTNAME 1

/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1

/* Define to 1 if you have the <ieeefp.h> header file. */
#define HAVE_IEEEFP_H 1

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the <iomanip> header file. */
#define HAVE_IOMANIP 1

/* Define to 1 if you have the <iomanip.h> header file. */
#define HAVE_IOMANIP_H 1

/* Define to 1 if you have the <ios> header file. */
#define HAVE_IOS 1

/* Define to 1 if you have the <iostream> header file. */
#define HAVE_IOSTREAM 1

/* Define to 1 if you have the <iostream.h> header file. */
#define HAVE_IOSTREAM_H 1

/* Define to 1 if you have the <ios.h> header file. */
/* #undef HAVE_IOS_H */

/* Define to 1 if you have the <istream> header file. */
#define HAVE_ISTREAM 1

/* Define to 1 if you have the <istream.h> header file. */
/* #undef HAVE_ISTREAM_H */

/* Define to 1 if you have the <libc.h> header file. */
#define HAVE_LIBC_H 1

/* Define to 1 if you have the e’ library (-le). */
/* #undef HAVE_LIBE */

/* Define to 1 if you have the inks' library (-links). */
/* #undef HAVE_LIBINKS */

/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1

/* Define if we have a function called "mallinfo" in -lmalloc. */
#define HAVE_MALLINFO

/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1

/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define to 1 if you have the <ndir.h> header file. */
/* #undef HAVE_NDIR_H */

/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1

/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1

/* Define to 1 if you have the <osfcn.h> header file. */
/* #undef HAVE_OSFCN_H */

/* Define to 1 if you have the <ostream> header file. */
#define HAVE_OSTREAM 1

/* Define to 1 if you have the <ostream.h> header file. */
/* #undef HAVE_OSTREAM_H */

/* Define to 1 if you have the putenv’ function. */
/* #undef HAVE_PUTENV */

/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1

/* Define to 1 if you have the regcomp' function. */
#define HAVE_REGCOMP 1

/* Define to 1 if you have the re_comp’ function. */
#define HAVE_RE_COMP 1

/* Define to 1 if you have the <sigfpe.h> header file. */
#define HAVE_SIGFPE_H 1

/* Define to 1 if you have the <siginfo.h> header file. */
#define HAVE_SIGINFO_H 1

/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1

/* Define to 1 if you have the statfs' function. */
#define HAVE_STATFS 1

/* Define to 1 if you have the statvfs’ function. */
#define HAVE_STATVFS 1

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the strcspn' function. */
#define HAVE_STRCSPN 1

/* Define to 1 if you have the strdup’ function. */
#define HAVE_STRDUP 1

/* Define to 1 if you have the <stream.h> header file. */
#define HAVE_STREAM_H 1

/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to 1 if you have the <strstream.h> header file. */
#define HAVE_STRSTREAM_H 1

/* Define to 1 if you have the strtol' function. */
/* #undef HAVE_STRTOL */

/* Define if we have a function called "ieee_handler" in -lsunmath. */
/* #undef HAVE_SUNMATH */

/* Define to 1 if you have the <sysent.h> header file. */
/* #undef HAVE_SYSENT_H */

/* Define to 1 if you have the <sys/dir.h> header file. */
#define HAVE_SYS_DIR_H 1

/* Define to 1 if you have the <sys/filio.h> header file. */
#define HAVE_SYS_FILIO_H 1

/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1

/* Define to 1 if you have the <sys/ipc.h> header file. */
#define HAVE_SYS_IPC_H 1

/* Define to 1 if you have the <sys/machsig.h> header file. */
/* #undef HAVE_SYS_MACHSIG_H */

/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1

/* Define to 1 if you have the <sys/ndir.h> header file. */
/* #undef HAVE_SYS_NDIR_H */

/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1

/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1

/* Define to 1 if you have the <sys/sem.h> header file. */
#define HAVE_SYS_SEM_H 1

/* Define to 1 if you have the <sys/siginfo.h> header file. */
#define HAVE_SYS_SIGINFO_H 1

/* Define to 1 if you have the <sys/signal.h> header file. */
#define HAVE_SYS_SIGNAL_H 1

/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1

/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/systeminfo.h> header file. */
#define HAVE_SYS_SYSTEMINFO_H 1

/* Define to 1 if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1

/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to 1 if you have the <sys/unistd.h> header file. */
#define HAVE_SYS_UNISTD_H 1

/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1

/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1

/* Define to 1 if you have the <sys/vnode.h> header file. */
#define HAVE_SYS_VNODE_H 1

/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1

/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define to 1 if you have the <values.h> header file. */
#define HAVE_VALUES_H 1

/* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */
/* #undef HAVE_X11_EXTENSIONS_MULTIBUF_H */

/* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */
#define HAVE_X11_EXTENSIONS_READDISPLAY_H 1

/* Define to 1 if you have the <X11/extensions/transovl.h> header file. */
/* #undef HAVE_X11_EXTENSIONS_TRANSOVL_H */

/* Define to 1 if you have the <Xmu/Editres.h> header file. */
/* #undef HAVE_XMU_EDITRES_H */

/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */

/* define if the class ostream has member function form */
/* #undef OSTREAM_FORM_OK */

/* Name of package */
#define PACKAGE "OpenCAS"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""

/* Define to the full name of this package. */
#define PACKAGE_NAME ""

/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""

/* Define to the version of this package. */
#define PACKAGE_VERSION ""

/* Define if compiler has function prototypes */
#define PROTOTYPES 1

/* Define as the return type of signal handlers (int’ or void'). */
#define RETSIGTYPE void

/* define if the function semctl takes a value */
/* #undef SEMCTL_NO_REFERENCE */

/* define if the function semop takes a value */
/* #undef SEMOP_NO_REFERENCE */

/* define if semun has member __buf */
/* #undef SEMUN_BUF_DEFINED */

/* define if the union semun is in sys/sem.h */
#define SEMUN_DEFINED

/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Define to 1 if your <sys/time.h> declares struct tm’. */
/* #undef TM_IN_SYS_TIME */

/* Version number of package */
#define VERSION “6.0DVP1”

/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#define WORDS_BIGENDIAN 1

/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message.  */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif

/* Define to unsigned' if <sys/types.h> does not define. */
/* #undef size_t */

/* End IRIX Part */

#elif IRIX64

/* Define to 1 if using alloca.c’. */
/* #undef C_ALLOCA */

/* define if the compiler allows redefinition of stream input and output */
/* #undef DEF_IOS_OK */

/* Define to 1 if you have alloca', as a function or macro. */
#define HAVE_ALLOCA 1

/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1

/* Define to 1 if you have the <bits/sigset.h> header file. */
/* #undef HAVE_BITS_SIGSET_H */

/* Define to 1 if you have the <bstring.h> header file. */
#define HAVE_BSTRING_H 1

/* Define to 1 if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1

/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define to 1 if you have the <dl.h> header file. */
/* #undef HAVE_DL_H */

/* Define to 1 if you have the <DPS/dpsXclient.h> header file. */
/* #undef HAVE_DPS_DPSXCLIENT_H */

/* Define if we have a function called "finite" in -lm. */
#define HAVE_FINITE

/* Define to 1 if you have the <floatingpoint.h> header file. */
/* #undef HAVE_FLOATINGPOINT_H */

/* Define to 1 if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1

/* Define to 1 if you have the <fstream> header file. */
#define HAVE_FSTREAM 1

/* Define to 1 if you have the <fstream.h> header file. */
#define HAVE_FSTREAM 1

/* Define to 1 if you have the gethostname’ function. */
#define HAVE_GETHOSTNAME 1

/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1

/* Define to 1 if you have the <ieeefp.h> header file. */
#define HAVE_IEEEFP_H 1

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the <iomanip> header file. */
#define HAVE_IOMANIP 1

/* Define to 1 if you have the <iomanip.h> header file. */
#define HAVE_IOMANIP 1

/* Define to 1 if you have the <ios> header file. */
#define HAVE_IOS 1

/* Define to 1 if you have the <iostream> header file. */
#define HAVE_IOSTREAM 1

/* Define to 1 if you have the <iostream.h> header file. */
#define HAVE_IOSTREAM 1

/* Define to 1 if you have the <ios.h> header file. */
/* #undef HAVE_IOS_H */

/* Define to 1 if you have the <istream> header file. */
#define HAVE_ISTREAM 1

/* Define to 1 if you have the <istream.h> header file. */
/* #undef HAVE_ISTREAM_H */

/* Define to 1 if you have the <libc.h> header file. */
#define HAVE_LIBC_H 1

/* Define to 1 if you have the e' library (-le). */
/* #undef HAVE_LIBE */

/* Define to 1 if you have the inks’ library (-links). */
/* #undef HAVE_LIBINKS */

/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1

/* Define if we have a function called “mallinfo” in -lmalloc. */
#define HAVE_MALLINFO

/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1

/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define to 1 if you have the <ndir.h> header file. */
/* #undef HAVE_NDIR_H */

/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1

/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1

/* Define to 1 if you have the <osfcn.h> header file. */
/* #undef HAVE_OSFCN_H */

/* Define to 1 if you have the <ostream> header file. */
#define HAVE_OSTREAM 1

/* Define to 1 if you have the <ostream.h> header file. */
/* #undef HAVE_OSTREAM_H */

/* Define to 1 if you have the putenv' function. */
/* #undef HAVE_PUTENV */

/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1

/* Define to 1 if you have the regcomp’ function. */
#define HAVE_REGCOMP 1

/* Define to 1 if you have the re_comp' function. */
#define HAVE_RE_COMP 1

/* Define to 1 if you have the <sigfpe.h> header file. */
#define HAVE_SIGFPE_H 1

/* Define to 1 if you have the <siginfo.h> header file. */
#define HAVE_SIGINFO_H 1

/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1

/* Define to 1 if you have the statfs’ function. */
#define HAVE_STATFS 1

/* Define to 1 if you have the statvfs' function. */
#define HAVE_STATVFS 1

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the strcspn’ function. */
#define HAVE_STRCSPN 1

/* Define to 1 if you have the strdup' function. */
#define HAVE_STRDUP 1

/* Define to 1 if you have the <stream.h> header file. */
#define HAVE_STREAM_H 1

/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to 1 if you have the <strstream.h> header file. */
#define HAVE_STRSTREAM_H 1

/* Define to 1 if you have the strtol’ function. */
/* #undef HAVE_STRTOL */

/* Define if we have a function called “ieee_handler” in -lsunmath. */
/* #undef HAVE_SUNMATH */

/* Define to 1 if you have the <sysent.h> header file. */
/* #undef HAVE_SYSENT_H */

/* Define to 1 if you have the <sys/dir.h> header file. */
#define HAVE_SYS_DIR_H 1

/* Define to 1 if you have the <sys/filio.h> header file. */
#define HAVE_SYS_FILIO_H 1

/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1

/* Define to 1 if you have the <sys/ipc.h> header file. */
#define HAVE_SYS_IPC_H 1

/* Define to 1 if you have the <sys/machsig.h> header file. */
/* #undef HAVE_SYS_MACHSIG_H */

/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1

/* Define to 1 if you have the <sys/ndir.h> header file. */
/* #undef HAVE_SYS_NDIR_H */

/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1

/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1

/* Define to 1 if you have the <sys/sem.h> header file. */
#define HAVE_SYS_SEM_H 1

/* Define to 1 if you have the <sys/siginfo.h> header file. */
#define HAVE_SYS_SIGINFO_H 1

/* Define to 1 if you have the <sys/signal.h> header file. */
#define HAVE_SYS_SIGNAL_H 1

/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1

/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/systeminfo.h> header file. */
#define HAVE_SYS_SYSTEMINFO_H 1

/* Define to 1 if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1

/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to 1 if you have the <sys/unistd.h> header file. */
#define HAVE_SYS_UNISTD_H 1

/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1

/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1

/* Define to 1 if you have the <sys/vnode.h> header file. */
#define HAVE_SYS_VNODE_H 1

/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1

/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define to 1 if you have the <values.h> header file. */
#define HAVE_VALUES_H 1

/* Define to 1 if you have the <X11/extensions/multibuf.h> header file. */
/* #undef HAVE_X11_EXTENSIONS_MULTIBUF_H */

/* Define to 1 if you have the <X11/extensions/readdisplay.h> header file. */
#define HAVE_X11_EXTENSIONS_READDISPLAY_H 1

/* Define to 1 if you have the <X11/extensions/transovl.h> header file. */
/* #undef HAVE_X11_EXTENSIONS_TRANSOVL_H */

/* Define to 1 if you have the <Xmu/Editres.h> header file. */
/* #undef HAVE_XMU_EDITRES_H */

/* Define to 1 if your C compiler doesn’t accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */

/* define if the class ostream has member function form */
/* #undef OSTREAM_FORM_OK */

/* Name of package */
#define PACKAGE “OpenCAS”

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT “”

/* Define to the full name of this package. */
#define PACKAGE_NAME “”

/* Define to the full name and version of this package. */
#define PACKAGE_STRING “”

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME “”

/* Define to the version of this package. */
#define PACKAGE_VERSION “”

/* Define if compiler has function prototypes */
#define PROTOTYPES 1

/* Define as the return type of signal handlers (int' or void’). */
#define RETSIGTYPE void

/* define if the function semctl takes a value */
/* #undef SEMCTL_NO_REFERENCE */

/* define if the function semop takes a value */
/* #undef SEMOP_NO_REFERENCE */

/* define if semun has member __buf */
/* #undef SEMUN_BUF_DEFINED */

/* define if the union semun is in sys/sem.h */
#define SEMUN_DEFINED

/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Define to 1 if your <sys/time.h> declares struct tm'. */
/* #undef TM_IN_SYS_TIME */

/* Version number of package */
#define VERSION "6.0DVP1"

/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#define WORDS_BIGENDIAN 1

/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message.  */
#ifndef _ALL_SOURCE
/* # undef _ALL_SOURCE */
#endif

/* Define to unsigned’ if <sys/types.h> does not define. */
/* #undef size_t */

/*———————————————————*/
/* This part is extracted from config.h generated on HPUX */
/*———————————————————*/

#elif HPUX

#define WORDS_BIGENDIAN 1

#define HAVE_FSTREAM_H 1

#define HAVE_IOSTREAM_H 1

#define HAVE_IOMANIP_H 1
#define HAVE_LIMITS_H 1
/* Define if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1

/* Define if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1

/* Define if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1

/* Define if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1

/* Define if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define if you have the <sys/unistd.h> header file. */
#define HAVE_SYS_UNISTD_H 1

/* Define if you have the <sys/ipc.h> header file. */
#define HAVE_SYS_IPC_H 1

/* Define if you have the <sys/sem.h> header file. */
#define HAVE_SYS_SEM_H 1

/* Define if you have the <sys/vfs.h> header file. */
#define HAVE_STATFS 1
#define HAVE_SYS_VFS_H 1

/* Define if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1

/* Define if you have the <dl.h> header file. */
#define HAVE_DL_H

/* Define if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1

/* Define if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1

/* End HPUX Part */

#endif

/*——————————————————— */
/*  */
/*——————————————————— */

#endif

(Experiment 3)Modifying the opencascade file, to try to eliminated the either or Error

3.0 /* EXPERIMENT 3.0 2008-07-26 REM OUT HAVE_LIMITS_H and see what happens
#define HAVE_LIMITS_H 1 */

result:

jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$   g++ -I /opt/OpenCASCADE6.2.0/ros/inc MakeBottle.cxx
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:9,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_values.h:35:2: error: #error “check config.h file or compilation options: either HAVE_LIMITS or HAVE_LIMITS_H should be defined”
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OStream.hxx:7,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:40,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Stream.hxx:19:2: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined”
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_OutOfRange.hxx:33,
from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.lxx:4,
from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.hxx:326,
from /opt/OpenCASCADE6.2.0/ros/inc/gp_Trsf.hxx:32,
from /opt/OpenCASCADE6.2.0/ros/inc/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_SStream.hxx:23:4: error: #error “check config.h file or compilation options: either HAVE_IOSTREAM or HAVE_IOSTREAM_H should be defined”
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1:

Experiment 3.0.1  It appears that HAVE_LIMITS_H is defined in a bunch of places.  I rem’d them all out.  Here we go again

Experiment 3.0.2 It seems like HAVE_LIMITS is not defined.  I tried to define and rerun to see what happens.
Something is not making sense here….. There seems to be no affect at this point.
Here seems to be the code segment that’s triggering first error inStandard_values.h

#if defined(_MSC_VER) && !defined(WNT)
#error “Wrong compiler options has been detected. Add /DWNT option for proper compilation!!!!!”
#endif

#ifndef WNT
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

#ifdef HAVE_LIMITS
# include <limits>
#elif defined (HAVE_LIMITS_H)
# include <limits.h>
#else
#error “check config.h file or compilation options: either HAVE_LIMITS or HAVE_LIMITS_H should be defined”
#endif
#endif

Hm.. I need to research this a little more….

I ran across this on the OCC website.
http://www.opencascade.com/pub/doc/Release_Notes_6.1.pdf

“2. In order to exclude the possibility of collisions between the $CASROOT/inc/config.h file supplied with binary distribution and the $CASROOT/config.h file generated by configure script, a step of creation of a symbolic link between $CASROOT/inc/config.h and $CASROOT/config.h has been added to the configure script, so if the user executes configuration the $CASROOT/inc/config.h file supplied with binary distribution will be replaced by the generated one.”

It looks like I was messing with symlink and I didn’t realize it.  Although these notes where for 6.1,  My gut tells me 6.2 is slightly different. Either that or I really hosed something.
I’m trying another experiment.
I just ran ./configure in the /opt/OpenCASCADE6.2.0/ros subdirectory.   I just tried DRAWEXE it doesn’t work anymore from any Directory(another think to worry about)
I’m going rename my handy work than then symlink it to the $CASROOT/inc/config.h and see what happens.
I googled part of my error message and found to suggestion to try this.

jonas@Ubuntu4:/opt/OpenCASCADE6.2.0/samples/tutorial/src$ g++ -I /opt/OpenCASCADE6.2.0/ros/inc -DHAVE_IOSTREAM -DHAVE_LIMITS MakeBottle.cxx
In file included from /opt/OpenCASCADE6.2.0/ros/inc/Standard_Address.hxx:21,
from /opt/OpenCASCADE6.2.0/ros/inc/Standard.hxx:28,
from /opt/OpenCASCADE6.2.0/ros/inc/Handle_Geom_Surface.hxx:29,
from /opt/OpenCASCADE6.2.0/ros/inc/BRep_Tool.hxx:29,
from MakeBottle.cxx:1:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerFirst()’:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:129: error: ‘INT_MIN’ was not declared in this scope
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerLast()’:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:135: error: ‘INT_MAX’ was not declared in this scope
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx: In function ‘Standard_Integer IntegerSize()’:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx:141: error: ‘CHAR_BIT’ was not declared in this scope
In file included from /opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.hxx:326,
from /opt/OpenCASCADE6.2.0/ros/inc/gp_Trsf.hxx:32,
from /opt/OpenCASCADE6.2.0/ros/inc/BRepBuilderAPI_Transform.hxx:26,
from MakeBottle.cxx:8:
/opt/OpenCASCADE6.2.0/ros/inc/gp_Mat.lxx: In member function ‘void gp_Mat::SetValue(Standard_Integer, Standard_Integer, Standa…….. more

This is strange since, I’m not seeing this error pop up when I google this. Perhaps this is something that so elementary, that people just fix it?? It appears that #include tripped out the error….
In Standard_Address.hxx
Searching reveals:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_Integer.hxx
/opt/OpenCASCADE6.2.0/ros/src/Standard/Standard_Integer.hxx

Contents of Standard_integer.hxx reveals:

#ifndef _Standard_Integer_HeaderFile
#define _Standard_Integer_HeaderFile#ifndef _Standard_TypeDef_HeaderFile
#include <Standard_TypeDef.hxx>
#endif#ifndef _Standard_values_HeaderFile
# include <Standard_values.h>
#endifclass Handle_Standard_Type;__Standard_API Handle_Standard_Type& Standard_Integer_Type_();
// ===============================================
// Methods from Standard_Entity class which are redefined:
//    – Hascode
//    – IsEqual
//    – IsSimilar
//    – Shallowcopy
//    – ShallowDump
// ===============================================// ==================================
// Methods implemeted in Standard_Integer.cxx
// ==================================
__Standard_API Standard_Integer NextPrimeForMap(const Standard_Integer anInt ) ;
__Standard_API long             NextPrime   (const long               me);
__Standard_API Standard_Integer CharToInt   (const Standard_Character me);
__Standard_API Standard_Integer CharToInt   (const Standard_CString   me);
__Standard_API Standard_Integer ShallowCopy (const Standard_Integer   me);
//__Standard_API Standard_Integer HashCode    (const Standard_Integer, const Standard_Integer);// ===============
// Inline methods
// ===============// ——————————————————————
// Abs : Returns the absolute value of an Integer
// ——————————————————————
inline  Standard_Integer Abs (const Standard_Integer Value)
{
if ( Value >= 0 )
return Value;
else
return -Value;
}

// ——————————————————————
// Hascode : Computes a hascoding value for a given Integer
// ——————————————————————
inline Standard_Integer HashCode(const Standard_Integer me,
const Standard_Integer Upper)
{
//   return (Abs(me) % Upper) + 1;
return ( ( me & 0x7fffffff ) % Upper) + 1;
}

// ——————————————————————
// IsEqual : Returns Standard_True if two integers are equal
// ——————————————————————
inline Standard_Boolean IsEqual(const Standard_Integer One
,const Standard_Integer Two)
{ return One == Two; }

// ——————————————————————
// IsSimilar : Returns Standard_True if two integers are equal
// ——————————————————————
inline Standard_Boolean IsSimilar (const Standard_Integer One,
const Standard_Integer Two)
{ return One == Two; }

// ——————————————————————
// IsEven : Returns Standard_True if an integer is even
// ——————————————————————
inline Standard_Boolean IsEven (const Standard_Integer Value)
{ return Value % 2 == 0; }

// ——————————————————————
// IsOdd : Returns Standard_True if an integer is odd
// ——————————————————————
inline Standard_Boolean IsOdd (const Standard_Integer Value)
{ return Value % 2 == 1; }

// ——————————————————————
// Max : Returns the maximum integer between two integers
// ——————————————————————
inline Standard_Integer  Max (const Standard_Integer Val1,
const Standard_Integer Val2)
{
if (Val1 >= Val2)
return Val1;
else
return Val2;
}

// ——————————————————————
// Min : Returns the minimum integer between two integers
// ——————————————————————
inline Standard_Integer  Min (const Standard_Integer Val1,
const Standard_Integer Val2)
{
if (Val1 <= Val2)
return Val1;
else
return Val2;
}

// ——————————————————————
// Modulus : Returns the remainder of division between two integers
// ——————————————————————
inline Standard_Integer  Modulus (const Standard_Integer Value,
const Standard_Integer Divisor)
{ return Value % Divisor; }

// ——————————————————————
// Square : Returns the square of an integer
// ——————————————————————
inline Standard_Integer Square(const Standard_Integer Value)
{ return Value * Value; }

// ——————————————————————
// IntegerFirst : Returns the minimum value of an integer
// ——————————————————————
inline Standard_Integer  IntegerFirst()
{ return INT_MIN; }

// ——————————————————————
// IntegerLast : Returns the maximum value of an integer
// ——————————————————————
inline Standard_Integer  IntegerLast()
{ return  INT_MAX; }

// ——————————————————————
// IntegerSize : Returns the size in digits of an integer
// ——————————————————————
inline Standard_Integer  IntegerSize()
{ return (BITS(Standard_Integer)); }

#endif

Ok… My hypothesis is that this is something that got over looked when config.h was generated.
Also up to now, must of the error has been in C code this seem to be the first C++ code I’ve hit…
Hmmm. I’ve been reading Bruce Ekels’ thinking in C++.  I seem to recall a elementary program for return sizes…   C03:Specify.cpp

char= 1
unsigned char = 1
int = 4
unsigned int = 4
short = 2
unsigned short = 2
long = 4
unsigned long = 4
float = 4
double = 8
long double = 12

Well here’s the question do they mean min (negative)/ max value of a plain old int?
I guess we’ll try 32 bit which will cover my bases for int and long which is -2,147,483,648 to +2,147,483,647
This seems sort of silly that the code can’t figure this out, so I’m somewhat skeptical plopping
#define INT_MIN -2,147,483,648 into config.h is going to work… Hold on… I searched on this and it seems that INT_MIN is defined in limits.h??? So…. I suppose if I add this to MakeBottle.cxx this should take care of this… That makes sense….

Just out of curiosity, I’m going to do a quick search on limits.h and MakeBottle.cxx and see what pops up.  Nothing on that… Go figure.. Well adding limits.h to MakeBottle.cxx definately did something.  I need to redirect compiler output to a file now since so much text is being generated… More promising… I hope.

I just ran across this really cool link:http://www.codefighter.com/linux1.html when I was trying to figure out how to redirect   g++   (“>” doesn’t work “2>” does… ???)

It seems that the next most irritating thing is the “deprecated conversion from string constant to ‘char*’” message that pops up all over the place.  It sort of hides the trees from the forest.  I suppose its time to research that.
This is interesting:http://gcc.gnu.org/ml/gcc-help/2007-02/msg00078.htm

As is this:http://dilbert.physics.wm.edu/elog/Software/191
I guess I can ignore that for now, but sure is  irritating.
Ignoring that this seems to be the next issue.

/tmp/ccuDXf0A.o: In function MakeBottle(double, double, double)':
MakeBottle.cxx:(.text+0x31d): undefined reference to
GC_MakeArcOfCircle::GC_MakeArcOfCircle(gp_Pnt const&, gp_Pnt const&, gp_Pnt const&)’
MakeBottle.cxx:(.text+0x32f): undefined reference to GC_MakeArcOfCircle::operator Handle_Geom_TrimmedCurve() const'
MakeBottle.cxx:(.text+0x35c): undefined reference to
GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)’
MakeBottle.cxx:(.text+0x39b): undefined reference to GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const'
MakeBottle.cxx:(.text+0x3ec): undefined reference to
GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)’
MakeBottle.cxx:(.text+0x3fe): undefined reference to GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const'
MakeBottle.cxx:(.text+0x445): undefined reference to
BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’
MakeBottle.cxx:(.text+0x45d): undefined reference to BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const'
MakeBottle.cxx:(.text+0x4aa): undefined reference to
BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’
MakeBottle.cxx:(.text+0x4c2): undefined reference to BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const'
MakeBottle.cxx:(.text+0x50f): undefined reference to
BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(Handle_Geom_Curve const&)’
MakeBottle.cxx:(.text+0x527): undefined reference to BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const'
MakeBottle.cxx:(.text+0x58b): undefined reference to
BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(TopoDS_Edge const&, TopoDS_Edge const&, TopoDS_Edge const&)’

I wonder where that is…. I suspect I can fix this with -I statement.
It looks like it can find #include <GC_MakeArcOfCircle.hxx>
That’s strange since this is where its located:
/opt/OpenCASCADE6.2.0/ros/inc/GC_MakeArcOfCircle.hxx
and my current compiler string is:
g++ -I /opt/OpenCASCADE6.2.0/ros/inc -DHAVE_IOSTREAM -DHAVE_LIMITS MakeBottle.cxx 2> MakeBottle.errors
I guess I need to delve into GC_MakeArcOfCircle.hxx.   I looked into the header references so they all seem to be covered by the -I /opt/OpenCASCADE6.2.0/ros/inc so I’m barking up the wrong tree here….
My five year old want to play, so…. that it for now folks….
OK. I’m back I was just thinking.  I’m thinking that I shouldn’t have added that limits.h to the MakeBottle.cxx file.   I should realized that the original file had the HAVE_LIMITS AND HAVE_LIMIT_H constants in them that seem to have been deleted when I ran ./configure.

Experiment: remove -DHAVE_LIMITS from compiler string.
this resulted in the following error:
/opt/OpenCASCADE6.2.0/ros/inc/Standard_values.h:35:2: error: #error “check config.h file or compilation options: either HAVE_LIMITS or HAVE_LIMITS_H should be defined”
Back to config.h Need to search for the occurence of HAVE_LIMITS and HAVE_LIMITS_H.
Have HAVE_LIMITS_H is defined.  This is bizare. I think some how the HAVE_LIMITS somewhere other than config.h.

Experiment: remove _DHAVE_LIMITS from compile string and delete #include <limits.h> from MakeBottle.cxx
This seems to generate an error where I think it shouldn’t.  This is most strange.  I wonder how config.h if loaded by the compiler.
Experiment just for snicks and grins I want to see what happens if I include config.h in MakeBottle.cxx  Ok….  I wonder if this is a question for the forum.
I think I’ll leave #include config.h in MakeBottle.cxx for now.
These leave the current error as:

MakeBottle.cxx:(.text+0x31d): undefined reference to GC_MakeArcOfCircle::GC_MakeArcOfCircle(gp_Pnt const&, gp_Pnt const&, gp_Pnt const&)'
MakeBottle.cxx:(.text+0x32f): undefined reference to
GC_MakeArcOfCircle::operator Handle_Geom_TrimmedCurve() const’
MakeBottle.cxx:(.text+0x35c): undefined reference to GC_MakeSegment::GC_MakeSegment(gp_Pnt const&, gp_Pnt const&)'
MakeBottle.cxx:(.text+0x39b): undefined reference to
GC_MakeSegment::operator Handle_Geom_TrimmedCurve() const’
Ma
……………

This requires a little thought.
I think I probably need need a reference to where the libraries are.  The file structure is specified here:http://www.opencascade.org/org/gettingstarted/install/lunix

Experiment: add ros/lin to the compiler string.

This didn’t do anything.   I ran across the DRAWEXE executable.  I had it originally setup to execute from any directory.  It stopped working after I ran ./CONFIGURE  I thought was a minor glitch with the path getting overwritten or something.  I just tried running it directly and it won’t fire up….  EECCCH. I think I may have  really hosed something up…  Are we having fun yet?????

This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

One Response to Part 1)Experiments on getting OpenCascade MakeBottle.cxx to compile on Hardy Heron 32-bit using g++ compiler

  1. Kevin says:

    I don’t have anything to add here… but being completely new to OpenCascade (and C++ programming), I’ve found myself scavenging the web for ways of going through their tutorials. Their projects seems VERY unintuitive, very difficult to use “out of the box,” and grossly under documented. Speaking of “MakeBottle,” I find it interesting that their “MakeBottle.cxx” file is written completely different than as obtained through the “Sample” menu in DRAW. Is this a consequence of using class based structures (.cxx) vs DRAW syntax? I guess. But, why present a tutorial such as MakeBottle.cxx when you can’t even run it? Very frustrating… This, I presume, is why people pay big bucks for more user-friendly CAD software. Also, I’m hypothesizing that that OpenCascade is more designed for Windows OS (just a guess). Anyways, I felt like venting after reading your entry above. Thanks for sharing.

Leave a Reply

Your email address will not be published. Required fields are marked *