Open CASCADE with Autoconf
try out the 'autoconfiscated' Open CASCADE, download the sources via CVS
by following the instructions
on the SourceForge project page. The module to checkout is named
"OCC". After you have logged in, the cvs command will be somthing
cvs -z9 -d:pserver:email@example.comOpenCAS.sourceforge.net:/cvsroot/autoopencas
the enviornment variables CC to an ANSI C compiler, and CXX to your C++
compiler. If you are using GNU GCC, you can skip this step.
If you have a Java compiler installed, add the include path for it to the
CXXFLAGS enviornment variable. This isn't required, but is a good
idea. In many instances the same option must be passed to the link
as well, do that by setting LDFLAGS.
the Makefiles that are generated will probably only work with GNU Make.
The reason for this is that the directory structure of Open CASCADE is
not typical of GNU software, so we must use VPATH variable so that the
Makefile will find all of the files it needs. You can set the variable
MAKE to the full path of GNU make if it is not the first "make" in your
the configure script. Create a directory to build in, then type type
directory you want to install to) --srcdir=source-directory
add any other options you need.
The Tk and Tcl libraries
must be specified with
to the configure command. The configure script will also
take arguments to point include directories for finding X-Windows header
and library files, you need to add these only if some of the other X libraries
(like Xmu) are not in the compiler's search path.
configure exits cleanly, you can then build all of Open CASCADE with the
some situations it the build may fail. To fix this, check your C++
compiler man pages for an option that will interpret C++ code as ISO standard
compilant. There may also be problems with C compilers, so check
the manual pages for your compiler and set the variable CC to the highest
level of ANSI conformance. Also report all building failures
via email and
I will fix them so that no one else will have the same problem.
This list is
constantly changing, and probably never is up to date, but rest assured
if your platform is listed, it will work.
||Compaq C++ V6.2-037 for Digital UNIX V4.0F (Rev. 1229)
||Compiler Driver V6.3-126 (dtk) cc Driver
||CXX = cxx
CXXFLAGS='-w -g -nocompress'
||OSF1 V4.0 1229 alpha
||MIPSpro Compilers: Version 126.96.36.199m
||MIPSpro Compilers: Version 188.8.131.52m
||CXX = 'CC'
CXXFLAGS='-w -g -G4'
||IRIX64 6.5 04191312 IP30
||Linux 2.2.16-3smp #1 SMP i686 unknown
||Solaris Forte C++ 6.0
||SunOS 5.7 Generic_106541-04 sun4u sparc SUNW,Ultra-2
||aCC: HP ANSI C++ B3910B A.03.25
||HP-UX B.11.00 A 9000/782 2005520202 two-user license
||aCC: HP ANSI C++ B3910B A.01.21
||HP-UX B.10.20 A 9000/777 2007571420 two-user license
||gcc version 2.95.2 20000220 (Debian GNU/Linux)
||Linux usf-cf-sparc-linux-1 2.2.18pre21 #1 Wed Nov 22 17:12:06 EST 2000
can be very picky, improperly setting --x-libraries can cause your builds
to fail by attempting to link old o32 librareis with n32 objects created
by SGI's C++ compiler. The fix if this happens is to specify /usr/lib32
in configure's options, do not specify /usr/lib as this is the directory
for o32 objects, /usr/lib32 is where n32 objects reside.
The sed shipped with Solaris and IRIX will truncate its output to
4000 and 8201 characters, respectively. This will wreak havoc
with Libtool when large libraries are compiled. The simple workaround
is the put GNU sed in your path ahead of the bug-ridden vendor sed.
RedHat Linux versions 7.0 and 7.1 ship
with an experimental version of GCC that will
not compile Open CASCADE. This is not a problem
with this build system, it will not compile with Matra's
scripts either. If you have one of these systems,
consider installing gcc version 2.95.3 on your machine.
Sun's Forte C++ compiler has some problems
that result in unresolved externals
when compiling Open CASCADE. These have been fixed in the
current CVS sources for this project. These problems consisted
of typedefs confusing the compiler in CSLib, and the prototypes of
Xw_load_???_image being defined as returning a specific type pointer,
while the function definitions were defined as returning void pointers.