[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problems on suse 9.0
From: |
JD Cole |
Subject: |
Re: problems on suse 9.0 |
Date: |
Thu, 11 Mar 2004 18:14:47 -0800 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 |
Hi Emilio,
I'm gonna try and give you a little insite into your problem,
hopefully this will help others jump in and we can get you going.
Basic Idea: You need to tell Linux where to find this library
"liboctinterp.so". There are a couple ways to do this, but let's just
stick with the most accessable, first.
STEP #1
=======
This library Linux is looking for can usually be found in one of a
couple of directories, the first is "/usr/lib/octave-2.1.49" or
"/usr/local/lib/octave-2.1.49". You can confirm this by trying to list
the file by the following commands:
ls /usr/local/lib/octave-2.1.49/liboctinterp.so
or
ls /usr/local/lib/octave-2.1.49/liboctinterp.so
If no "file not found" complaint is given, then you've found you're
directory.
* By the way, if the library isn't in either of those directories, you
may also try "/usr/local/lib". (I'm sorry I don't use Suse so I'm not
quite sure where they put their files, but there are "usual places".)
STEP #2
=======
Now that you have found the directory, you need to tell Linux to look
there when Octave starts. Try this:
LD_LIBRARY_PATH=<the directory from step #1> octave
This should work. As you are probably thinking, this is a bit cumbersome
to type everytime, but you have a few options
Option a) you aren't the owner of your linux box, just a user:
I'm going to guess that suse use the shell "bash", so you can add the
LD_LIBRARY_PATH stuff to a bash configuration file called .bash_profile
use your favorite editor to open .bash_profile and add the line:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<step#1 directory>
If you haven't guessed it by now, the variable LD_LIBRARY_PATH tells
Linux alternative places to look for shared libraries.
*NOTE: this will only work after you login again to linux, so in the
mean time you can set the variable temporarily by typing:
export LD_LIBRARY_PATH=<the directory from step #1>
and then you will be able to use octave as expected.
Option b) if you are the owner/administrator on your machine:
You can change Linux' default places to search for shared libraries.
These directories are stored in the file "/etc/ld.so/conf".
You have to login as root to change this file.
After becoming root and opening the file, add the directory found in
step #1 at the END of the list of directories in this file.*
*NOTE: You probably shouldn't go this route if your directory was
something/lib/octave-2.1.49, e.g. "/usr/local/lib/octave-2.1.49", as
this may cause you more frustration later when version numbers change.
If it is, on the other hand, "/usr/local/lib", add it, this is a very
common addition to this file, if it is not there by default.
After editing the file and saving it, you need to run the command, as root,
ldconfig
(you may have to run /sbin/ldconfig, again, not knowing Suse, it's hard
for me to say which.)
Anyways, after that you should be flying,
Anyone have any comments?
Drop me a line if your still having trouble,
JD
emilio wrote:
i have jus installed octave 2.1.49 in my suse linux 9.0. i did it by using the
original cd's of the distribution, and i had no problem during this porcess.
but when i try to run the program i get the next message:
octave
octave: error while loading shared libraries: liboctinterp.so: cannot open
shared object file: No such file or directory
i'm pretty new in using linux systems, and i'm sure i'm making some stupid
mistake. could somebody tell me what am i doing wrong?
thanks a lot
emilio
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------