LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   How do I install a shared library? (https://www.linuxquestions.org/questions/linux-newbie-8/how-do-i-install-a-shared-library-574664/)

NichA 08-04-2007 04:35 AM

How do I install a shared library?
 
I just installed Slackware 12.0 on my laptop but during the installation process there was an error while installing 3 library files. I continued the installation hoping I wouldn't need the library files it had trouble with, but afterwards when I tried to start up xfce it couldn't do it because it said it was missing a library.

So... I re-downloaded the files that didn't get installed from the "l" package and I want to now how to install them on my system. I noticed that the files I need are .tgz files so can I just copy the files to the /lib directory and run a tar command on them?

Nylex 08-04-2007 05:04 AM

For Slackware packages, you use "installpkg filename.tgz". Also run "ldconfig" afterwards (I'm not sure this is strictly necessary, but it doesn't hurt).

markmlinux 08-04-2007 06:30 PM

Compiling Librarys - different method
 
Quote:

Originally Posted by Nylex
For Slackware packages, you use "installpkg filename.tgz". Also run "ldconfig" afterwards (I'm not sure this is strictly necessary, but it doesn't hurt).

Probably as the post before this said you would better off with SlackPackage, but you could also compile the source.

I move the tar.gz / tar.bz2 / .tgz package to /usr
I then with mc untar the package with F2 drop down menu
there are two selectioins I usually use the upper selection
of uncompressing the tar ball
then change to the directory under /usr/ex-prog2-1.3.4/

I write a shell batch file and copy it after it works to a
install dir say /home/install or whatever

Generally the procedure most times is:
cd /usr/ex-prog2-1.3.4/
make clean (if compiles before - and won't hurt if it wasn't)
# ./bootstrap
# ./autogen
./configure
make
make check
make test
make install

this is it most times, however sometimes it doesn't work and I have to add ./bootstrap before ./configure

then there is ./autogen problems

and then also python install programs are different.
generally there is a INSTALL file in the directory giving the instructions.

And getting to the crux of the problem
to get shared librarys when not configured as the default (usually)

./configure --enable-shared --enable-static
also I have been adding --enable-gnu-ld , and hasn't hurt yet.

How do you know what is the default and what other options are available (think xmms plugins)?

type ./configure --help | more
review all the available options, sometimes you might get a idea to turn off options --disable-xxx

sometimes to get a library to compile right you need to
specify paths to libraries. --prefix=/usr/lib or such

I beleive you can specify
./configure --enable-shared & --enable-static at the same time.

Rule of thumb - most times you want 'shared'

and the make check and make test probably could be left out, I do it anyway and watch what scrolls by. If make check, for example isn't valid - all you get is a little error (that can be ignored)


All times are GMT -5. The time now is 04:04 AM.