I integrated your changes and they work fine for me...
The bits it complains about seems to be related to the Gnu Scientific Library.
Are you sure you were able to successfully compile the files without
your changes?
In particular, try running:
sudo apt-get install gsl-bin libgsl0-dev
To ensure the GSL libraries are there.
Cheers
Joel Pitt, PhD | http://ferrouswheel.me | +64 21 101 7308
NetEmpathy Co-founder | http://netempathy.com
OpenCog Developer | http://opencog.org
Board member, Humanity+ | http://humanityplus.org
On Tue, Jun 22, 2010 at 6:29 AM, Steve Wangen <i.bl...@gmail.com> wrote:
> Hey Joel -
> I was trying to implement a new dispersal kernel in the r.mdig.kernel
> function, but was having a bit of a hard time. I thought I did everything
> correctly by just copying and modifying the inverse exponential kernel, but
> when I try to re-make the modules and re-add them to grass I get the
> following errors:
> r.mdig.kernel
> make[1]: Entering directory `/home/steve/mdig/grass-modules/r.mdig.kernel'
> gcc
> -L/home/steve/src/grass-6.4.svn_src_snapshot_2010_05_22/dist.i686-pc-linux-gnu/lib
> -Wl,--export-dynamic
> -Wl,-rpath-link,/home/steve/src/grass-6.4.svn_src_snapshot_2010_05_22/dist.i686-pc-linux-gnu/lib
> OBJ.i686-pc-linux-gnu/kernel_math.o -o
> OBJ.i686-pc-linux-gnu/kernel_math
> /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function
> `_start':
> (.text+0x18): undefined reference to `main'
> OBJ.i686-pc-linux-gnu/kernel_math.o: In function `inv_exponential_cdf2':
> kernel_math.c:(.text+0x1b): undefined reference to `log'
> kernel_math.c:(.text+0x29): undefined reference to `log'
> OBJ.i686-pc-linux-gnu/kernel_math.o: In function `inv_exponential_cdf':
> kernel_math.c:(.text+0x55): undefined reference to `log'
> OBJ.i686-pc-linux-gnu/kernel_math.o: In function `gamma_ln':
> kernel_math.c:(.text+0xf6): undefined reference to `sin'
> kernel_math.c:(.text+0x112): undefined reference to `exp'
> kernel_math.c:(.text+0x13c): undefined reference to `log'
> kernel_math.c:(.text+0x180): undefined reference to `log'
> OBJ.i686-pc-linux-gnu/kernel_math.o: In function `clark':
> kernel_math.c:(.text+0x294): undefined reference to `pow'
> kernel_math.c:(.text+0x29e): undefined reference to `exp'
> kernel_math.c:(.text+0x2f5): undefined reference to `gsl_sf_gamma'
> OBJ.i686-pc-linux-gnu/kernel_math.o: In function `int_clark':
> kernel_math.c:(.text+0x3ff): undefined reference to `pow'
> kernel_math.c:(.text+0x417): undefined reference to `pow'
> kernel_math.c:(.text+0x42e): undefined reference to `gsl_sf_gamma'
> kernel_math.c:(.text+0x443): undefined reference to `gsl_sf_gamma_inc'
> OBJ.i686-pc-linux-gnu/kernel_math.o: In function `inv_cauchy_cdf':
> kernel_math.c:(.text+0x479): undefined reference to `tan'
> OBJ.i686-pc-linux-gnu/kernel_math.o: In function `gamma_ln':
> kernel_math.c:(.text+0x123): undefined reference to `log'
> collect2: ld returned 1 exit status
> make[1]: *** [OBJ.i686-pc-linux-gnu/kernel_math] Error 1
> make[1]: Leaving directory `/home/steve/mdig/grass-modules/r.mdig.kernel'
>
> Everything else seems to re-make just fine, so I'm assuming it's something
> in the r.mdig.kernel files. Do you think you could have a peek at them and
> see if anything looks blatantly wrong? My C isn't very good; that's why I
> just tried to copy and modify, but something seems to have gone awry. I've
> included the modified files if you want to have a glance.
> -Steve
>
> ---------------------------------------------------
> Steven Wangen
> PhD Candidate
> Bio-Protection Research Centre
> Lincoln University
> http://tinyurl.com/lepidulum-spread
> http://www.bioprotection.org.nz
> +64 (0)3 325-3838 x.8856
>