Problems compiling OCC6.3 in RHEL5

When I run configure, it gives me the following error:

configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.

I have the full configure output and config.log if that will be useful. Any help would be greatly appreciated.

Compeau's picture

I figured out that the problem was that OCC was looking for g++, but on my system it was called g++34. I just had to get it to work for the g++ command as well.

Compeau's picture

I can make OCC now, but when I try to make install, I get this error.

cp: missing destination file operand after `./inc'
Try `cp --help' for more information.
cp: missing destination file operand after `/home/user/Desktop/OpenCASCADE6.3.0/ros/config.h'
Try `cp --help' for more information.
make[2]: *** [install-exec-local] Error 1
make[2]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros'
make: *** [install-recursive] Error 1

Compeau's picture

The full error is:

----------------------------------------------------------------------
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros/adm/make/TKjcas'
make[2]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros/adm/make/TKjcas'
make[2]: Entering directory `/home/user/Desktop/OpenCASCADE6.3.0/ros/adm/make'
make[3]: Entering directory `/home/user/Desktop/OpenCASCADE6.3.0/ros/adm/make'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros/adm/make'
make[2]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros/adm/make'
make[1]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros/adm/make'
make[1]: Entering directory `/home/user/Desktop/OpenCASCADE6.3.0/ros'
make[2]: Entering directory `/home/user/Desktop/OpenCASCADE6.3.0/ros'
/usr/bin/install -c -d /Linux
if [ -e /bin -a ! -e /Linux/bin ]; then \
cd /Linux && ln -s ../bin bin; \
fi
if [ -e /lib -a ! -e /Linux/lib ]; then \
cd /Linux && ln -s ../lib lib; \
fi
/usr/bin/install -c -d /lin
if [ -e /bin -a ! -e /lin/bin ]; then \
cd /lin && ln -s ../bin bin; \
fi
if [ -e /lib -a ! -e /lin/lib ]; then \
cd /lin && ln -s ../lib lib; \
fi
bd=`pwd`; cd .; sd=`pwd`; cd ; pd=`pwd`; cd $bd; \
if [ "$pd" != "$sd" ]; then \
/usr/bin/install -c -d /inc; \
cp -fr ./inc ; \
fi; \
if [ "$pd" != "$bd" ]; then \
cp -fr $bd/config.h ; \
fi

cp: missing destination file operand after `./inc'
Try `cp --help' for more information.
cp: missing destination file operand after `/home/user/Desktop/OpenCASCADE6.3.0/ros/config.h'
Try `cp --help' for more information.
make[2]: *** [install-exec-local] Error 1
make[2]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/user/Desktop/OpenCASCADE6.3.0/ros'
make: *** [install-recursive] Error 1

Denis Barbier's picture

Compiling OpenCascade on Linux is not a trivial task, it may be simpler to modify openSUSE packages to build on RHEL 5.
Note that according to the log above, 'make install' did create toplevel /Linux, /lin and /inc directories, you may want to remove them.

Compeau's picture

I tried to use the openSUSE package, and got some missing dependencies that I can't find at openSUSE.

Missing Dependency: libstdc++.so.6(GLIBCXX_3.4.9) is needed by package OpenCASCADE-6.3.0-39.1.i586 (/OpenCASCADE-6.3.0-39.1.i586)
Missing Dependency: libtk8.5.so is needed by package OpenCASCADE-6.3.0-39.1.i586 (/OpenCASCADE-6.3.0-39.1.i586)
Missing Dependency: libtcl8.5.so is needed by package OpenCASCADE-6.3.0-39.1.i586 (/OpenCASCADE-6.3.0-39.1.i586)
Missing Dependency: libc.so.6(GLIBC_2.7) is needed by package OpenCASCADE-6.3.0-39.1.i586 (/OpenCASCADE-6.3.0-39.1.i586)
Missing Dependency: /bin/ksh is needed by package OpenCASCADE-6.3.0-39.1.i586 (/OpenCASCADE-6.3.0-39.1.i586)
Missing Dependency: libstdc++.so.6(GLIBCXX_3.4.11) is needed by package OpenCASCADE-6.3.0-39.1.i586 (/OpenCASCADE-6.3.0-39.1.i586)

Denis Barbier's picture

I did not suggest to install those packages, but to rebuild the source RPM on your RHEL 5 box. There will surely be some trouble, but I guess that this will be easier than rebuilding OpenCascade from pristine sources.

Roman Lygin's picture

Adam,
Quick tip (not sure if it really helps).
Have you run configure with --install-prefix ?
Another problem I met (though symptoms were different) is inconsistency between libtool and ltmain.sh shipped in OCC and pre-installed on the system. The latter is described here - http://opencascade.blogspot.com/2010/04/porting-on-linux.html
Hope this will be helpful in some way.
Roman

Compeau's picture

I've tried multiple source versions, the OCC Cmake project, and I just can't get OCC to build for me. The closest is mentioned above, where I can get to the make install step, and that creates about half of the libraries before it exits with an error.