This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

to compile a simple program with gsl


Hello "gsl-users",

I have recently installed the gsl library.

Could anyone show me the command for compiling a simple program (demo.c
here)?

Instead of typing:

gcc -I/usr/local/include/gsl -L/usr/local/lib/gsl demo.c -lgslrandist
-lgslrng -lgslspecfunc -lgslerr -lm

As I have redirected the library paths, i write:

gcc -I/home/vision/guillemo/local/include/gsl
-L/home/vision/guillemo/local/lib/gsl demo.c -lgslrandist -lgslrng
-lgslspecfunc -lgslerr -lm

This message appears:
=============================================================
/usr/local/sparc-sun-solaris2.7/bin/ld: cannot open -lgslrng: No such
file or directory
collect2: ld returned 1 exit status
=============================================================

I do not understand the objective to put "-lgslrandist -lgslrng
-lgslspecfunc -lgslerr" in the command line. If you see my problem,
thanks a lot for replying me,

Mael




/* demo.c
Random Number Distribution Examples
===================================

   The following program demonstrates the use of a random number
generator to produce variates from a distribution. It prints 10 samples
from the Poisson distribution with a mean of 3.

*/


     #include <stdio.h>
     #include <gsl_rng.h>
     #include <gsl_randist.h>

     int
     main ()
     {
       gsl_rng * r ;

       int i, n = 10;
       double mu = 3.0;

       /* create a generator chosen by the environment variable
GSL_RNG_TYPE
*/

       gsl_rng_env_setup();

       r = gsl_rng_alloc (gsl_rng_default);

       /* print n random variates chosen from the poisson distribution
with
          mean parameter mu */

       for (i = 0; i < n; i++)
         {
           unsigned int k = gsl_ran_poisson (r, mu);

           printf(" %u", k);
         }

       printf("\n");
     }


/*
Compilation:
============

If the library and header files are installed under `/usr/local' (the
default location) then the program can be compiled with these options,

     gcc -I/usr/local/include/gsl -L/usr/local/lib/gsl demo.c
-lgslrandist
-lgslrng -lgslspecfunc -lgslerr -lm


Outputs:
========

Here is the output of the program,

     $ ./a.out
      4 2 3 3 1 3 4 1 3 5

The variates depend on the seed used by the generator. The seed for the
default generator type `gsl_rng_default' can be changed with the
`GSL_RNG_SEED' environment variable to produce a different stream of
variates,

     $ GSL_RNG_SEED=123 ./a.out
     GSL_RNG_SEED=123
      1 1 2 1 2 6 2 1 8 7
*/





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]