[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] GSL Installation problem
From: |
syed raza |
Subject: |
Re: [Help-gsl] GSL Installation problem |
Date: |
Mon, 5 Oct 2009 10:07:55 -0700 |
Thank you so much dear Marco for your detail email reply.
i have tried what you advised me as
$ cd /home/marco
$ mkdir -p var/build
$ cd var/build
$ tar --extract --gzip --verbose --file=/home/marco/gsl-1.9.tar.gz
$ cd gsl-1.9
$ ./configure --disable-static --enable-shared
up to this point it works error free all the tar(command) and configure
done successfully
but when i try the command
$ make
it tells me
cant found make command .
in the gsl-1.9 directory i have the the makefile .
please let me know what could be the problem .
i am using Mandriva spring 2009.
Regards
Shahid
On 10/2/09, Marco Maggi <address@hidden> wrote:
>
> "syed raza" wrote:
> > I want to compile a program of simple Matrix using gcc and
> > GSL.
>
> Ciao, in what follows I assume you are a beginner with
> GNU+Linux platforms, so bear with it if I write stuff you
> already know. There are a lot of things to say and it is
> difficult to have this exchange through email; anyway, let's
> give it a try.
>
> If you do a Google search for "how to compile and install
> a program under linux", you will find a number of tutorials
> about how to compile and install programs; I suggest that
> you read some of them.
>
> Now for the specific task of compiling and installing the
> GSL: first, you should unpack the archive "gsl-1.9.tar.gz"
> in a temporary directory.
>
> On my system, my user name is "marco", so my home
> directory pathname is "/home/marco"; in everything below I
> use this pathname, you should use your own home directory
> pathname. When I build a GSL package I do it in the
> temporary directory "/home/marco/var/build". It goes like
> this, assuming that "gsl-1.9.tar.gz" is a file under
> "/home/marco":
>
> $ cd /home/marco
> $ mkdir -p var/build
> $ cd var/build
> $ tar --extract --gzip --verbose --file=/home/marco/gsl-1.9.tar.gz
> $ cd gsl-1.9
> $ ./configure --disable-static --enable-shared
> $ make
>
> if everything works the GSL is configured and built by the
> last two commands; we can verify that the building worked by
> running the tests:
>
> $ make check
>
> you should see a lot of compiler invocations and messages
> like:
>
> =============
> 1 test passed
> =============
>
> meaning that a test program was run and successfully
> executed. Running the tests may take some minute.
>
> Now we have to install the GSL; we configured it with the
> default setting for the destination directory, so it will be
> installed under the "/usr/local" directory hierarchy.
>
> First, you have to make sure that "/usr/local" is in a
> hard disk partition mounted with writable access
> permissions. For example, on my system running the
> following command:
>
> $ mount | grep /usr/local
>
> prints:
>
> /dev/sda11 on /usr/local type ext3 (rw,nodev,errors=remount-ro)
>
> the first "rw" in the parentheses shows that "/usr/local" is
> writable. There is too much to be told about how your
> system may be configured; so, let's assume that your
> "/usr/local" is writable, and come back to it only if the
> installation fails.
>
> To install GSL you need to acquire root permissions, this
> means use the "su" program or "sudo" program. "sudo" needs
> to be configured, while "su" should work for you; let's use
> "su". If you do a Google search on "how to use su on linux"
> you should find some tutorials on it.
>
> Basically to install GSL you should do:
>
> $ su
> $ make install
> $ /sbin/ldconfig
> $ exit
>
> the "su" program asks you to type in the "root" password; do
> it and "su" will run a shell under "root" privileges; run
> "make install" and "ldconfig" and finally type "exit" to
> exit the privileged shell.
>
> The location of "ldconfig" may vary on your Linux system,
> I do not know where Mandriva places it; it may be in one of
> the following locations:
>
> /sbin/ldconfig
> /usr/sbin/ldconfig
>
> or some other place. Find it and run it with "root"
> privileges.
>
> Now, on to compiling a program linked to the GSL library.
> The source file of your program is called "matrixExp.c",
> fine; first put it under a temporary directory:
>
> $ cd <where the file is>
> $ mkdir /home/marco/var/tmp
> $ mv matrixExp.c /home/marco/var/tmp
> $ cd /home/marco/var/tmp
>
> Your program looks fine to me, meaning that I successfully
> compiled and run it on my system with the commands below.
> When linking to the GSL library, you have to tell the
> compiler how to use it; the GSL package installs a script
> "gsl-config" which we can use to acquire the informations we
> need. You can try to run this:
>
> $ gsl-config --cflags --libs
>
> on my system it prints:
>
> -I/usr/local/include
> -L/usr/local/lib -lgsl -lgslcblas -lm
>
> these are all options to be put on the command line of GCC;
> so let's try:
>
> $ gcc -I/usr/local/include -L/usr/local/lib -lgsl -lgslcblas -lm -o
> matrixExp matrixExp.c
>
> it should compile the program and create an executable named
> "matrixExp"; equivalently, using the features of the shell
> you are running you could do:
>
> $ gcc $(gsl-config --cflags --libs) -o matrixExp matrixExp.c
>
> To run the program:
>
> $ ./matrixExp
>
> which prints:
>
> differences = 0 (should be zero)
>
> I hope all of this helps you; to have further help, you
> can reply to me by private email.
> --
> Marco Maggi
>