Program fails to start

Hello,

I've tried to install OpenCascade 5.2 on Slackware 10.2 (I know it's not one of the preferred distributions). I get the following at start up:

./DRAWEXE: error while loading shared libraries: libTKDraw.so: cannot open shared object file: No such file or directory

Now, I have the following for support library versions:

Tcl: 8.4.11
Tk: 8.4.11
Tix 8.1.4
JRE: 1.5.0

So, I think I have most of the libraries. I'm fairly certain I'm not setting up the system environment variables as a echo $CASROOT produces nothing. So I chmod +x env.csh and ran it...no change but no errors either. Any ideas?

Thanks!

rhb327's picture

Anyone? I'm still struggling witht this one.

rhb327's picture

Anyone? I'm still struggling witht this one.

gabriele's picture

you must use the csh shell has environment

c's picture

Hy!

I had today almost the same problem.

I have a SuSE 10 box and bash as shell. I checked my /etc/profile and adapted env.csh to it, cutting out what I don't need. I renamed it to ~/.opencascaderc and inserted the line

test ~/.opencascaderc && . ~/.opencascaderc

into .bashrc.

susebox%>cat .opencascaderc
export CASROOT=/opt/OpenCASCADE5.2/ros

OS_NAME="Linux"

export PATH=$CASROOT/../3rdparty/$OS_NAME/TclTk/bin:$CASROOT/$OS_NAME/bin:$PATH

export LD_LIBRARY_PATH=$CASROOT/../3rdparty/$OS_NAME/TclTk/lib:$CASROOT/$OS_NAME/lib:$LD_LIBRARY_PATH

export CSF_MDTVFontDirectory=$CASROOT/src/FontMFT
export CSF_LANGUAGE=us
export MMGT_CLEAR=1
export CSF_EXCEPTION_PROMPT=1
export CSF_SHMessage=$CASROOT/src/SHMessage
export CSF_MDTVTexturesDirectory=$CASROOT/src/Textures
export CSF_XSMessage=$CASROOT/src/XSMessage
export CSF_StandardDefaults=$CASROOT/src/StdResource
export CSF_PluginDefaults=$CASROOT/src/StdResource
export CSF_XCAFDefaults=$CASROOT/src/StdResource
export CSF_GraphicShr=$CASROOT/$OS_NAME/lib/libTKOpenGl.so
export CSF_UnitsLexicon=$CASROOT/src/UnitsAPI/Lexi_Expr.dat
export CSF_UnitsDefinition=$CASROOT/src/UnitsAPI/Units.dat
export CSF_IGESDefaults=$CASROOT/src/XSTEPResource
export CSF_STEPDefaults=$CASROOT/src/XSTEPResource

export TCLHOME=$CASROOT/../3rdparty/$OS_NAME/tcltk
export TCLLIBPATH=$TCLHOME/lib

export ITK_LIBRARY=$TCLLIBPATH/itk3.0
export ITCL_LIBRARY=$TCLLIBPATH/itcl3.0

export TK_LIBRARY=$TCLLIBPATH/tk8.0
export TCL_LIBRARY=$TCLLIBPATH/tcl8.0

susebox%>

===end cut====
'Hope it helps. See you!

EH's picture

Just FYI, this solution also works on Ubuntu Feisty.

Thanks c!

Jofre's picture

Sorry lads, I am not exactly a Linux expert, I did not follow too well the thread. I tried to do it but is not working. I use xubuntu7.04.

What i have done is:
created a file ~/.opencascaderc with the contents of the post

edit my ~/bashrc and added the line
test ~/.opencascaderc && . ~/.opencascaderc

then I type

:/opt/OpenCASCADE6.2.0/ros/lin/bin$ ./DRAWEXE

and I get:

./DRAWEXE: error while loading shared libraries: libTKDraw.so: cannot open shared object file: No such file or directory

Any ideas of what I am doing wrong?

Thanks, Jofre.

Jan Brüninghaus's picture

export CASROOT=/opt/OpenCASCADE5.2/ros

...

export LD_LIBRARY_PATH=$CASROOT/../3rdparty/$OS_NAME/TclTk/lib:$CASROOT/$OS_NAME/lib:$LD_LIBRARY_PATH

----

Be sure to have the right paths to the shared libraries (*.so files) here.
In your case, it should be /opt/OpenCASCADE6.2.0/ros/lin/lib. You can control it with "echo $LD_LIBRARY_PATH".

françois plessier's picture

You should have, in your "~/.bashrc":

source blabla/ros/env.ksh

(in you case: "blabla" correspond to "/opt/OpenCASCADE6.2.0/" )

--------------

Then check that you have these 2 lines in "blabla/ros/env.ksh":

export CASROOT=blabla/ros
OS_NAME=`Linux`

If you have changed the name of your OpenCascade folder after installing it, the CASROOT definition is wrong for sure, because it's still defined with the old name of the folder (and since it uses this name to look for the libraries...).
The second line is just so that you now can type "DRAWEXE" alone to launch OpenCascade from anywhere (you don't need to go to the "blabla/ros/Linux/bin" folder). Look at how PATH is defined using $CASROOT and $OS_NAME, in the "blabla/ros/env.ksh" file...

françois plessier's picture

Precision:
I use Kubuntu and just needed to do this (what I've written) to make OpenCascade work.

Dan Falck's picture

Thank you. This helped me install OCC on Ubuntu 6.10.

Bill Rodgers's picture

I'm having this issue with PCLinuxOS 2007 and OPenCascade 6.2.
The first two lines of env.ksh read:
setenv CASROOT /opt/OpenCASCADE6.2.0/ros
set OS_NAME=`Linux`

.bashrc is:
# .bashrc

# User specific aliases and functions

# Source global definitions
source /opt/OpenCASCADE6.2.0/ros/env.ksh
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

When I move to /opt/OpenCASCADE6.2.0/ros/lin/bin
and enter ./DRAWEXE

I get:
./DRAWEXE: error while loading shared libraries: libTKDraw.so: cannot open shared object file: No such file or directory

At one stage I've had DRAWEXE running but it wasn't the full OpenCascade application. I also then had errors about another library mentioned here.

When I run a shell now I also get the message:
"bash: Linux: command not found
bash: [: =: unary operator expected
bash: [: =: unary operator expected
[caelinux@localhost ~]$
"

I'm stumped with this. I've tried some of the suggestions here but am going around in circles at present.

help desperately needed - been ages since I used a Linux distro.

Bill Rodgers's picture

I'm having this issue with PCLinuxOS 2007 and OPenCascade 6.2.
The first two lines of env.ksh read:
setenv CASROOT /opt/OpenCASCADE6.2.0/ros
set OS_NAME=`Linux`

.bashrc is:
# .bashrc

# User specific aliases and functions

# Source global definitions
source /opt/OpenCASCADE6.2.0/ros/env.ksh
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

When I move to /opt/OpenCASCADE6.2.0/ros/lin/bin
and enter ./DRAWEXE

I get:
./DRAWEXE: error while loading shared libraries: libTKDraw.so: cannot open shared object file: No such file or directory

At one stage I've had DRAWEXE running but it wasn't the full OpenCascade application. I also then had errors about another library mentioned here.

When I run a shell now I also get the message:
"bash: Linux: command not found
bash: [: =: unary operator expected
bash: [: =: unary operator expected
[caelinux@localhost ~]$
"

I'm stumped with this. I've tried some of the suggestions here but am going around in circles at present.

help desperately needed - been ages since I used a Linux distro.

KREZEL's picture

Hi Bill,

I use PCLinuxOS 2007 as you and I had to solve the same problem as you when trying to start DRAWEXE with OpenCascade. Finally I succeeded to make it works.

KREZEL's picture

You must use env.ksh and the beginning is :
---------------------------------------------
#!/bin/ksh -f

export CASROOT=/opt/OpenCASCADE6.2.0/ros
OS_NAME="linux"
----------------------------------------------
be careful with the "