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 <[email protected]> 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 > _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
