From rabrantes82 at gmail.com  Sat Aug 27 00:19:05 2005
From: rabrantes82 at gmail.com (Ricardo Luiz Andrade Abrantes)
Date: Fri, 26 Aug 2005 19:19:05 -0300
Subject: [Rd] .Call and Segmentation Fault
Message-ID: <973080e10508261519699235ea@mail.gmail.com>

Hello to everyone!
I use .Call to call a C function without arguments wich calls a
fortran optimization package. My C function uses others C and Fortran
functions and it works fine when I call it from a main() in a C
program. But when I call it from R with
.Call("name_of_the_c_function"), R gives me some weird output.
This weird output is a worng answer to my optimization problem
(sometimes after thousands iteractions, what does not occur when
called from C) or a segmentation fault error. The kind of output
depends on the machine I am using. At home I got a segmentation faul,
in university I got those wrong values.
I tried a memcheck in C and Fortran binaries, but everything seems
allright except by 2 missing free() calls (wich I don`t think might be
causing this error).
I compiled my C and Fortran files with R CMD SHARED and then linked
all the .o with the same command. I also tried compiling all the
needed object files with -fPIC and -shared and then using R CMD SHARED
to link everything, but I got the same problem.
The only thing I do in R is the following:

dyn.load("mylib.so")
.Call("name_of_the_c_function")

Can someone hellp me with this?


  Thanks!


        Ricardo



[Rd] .Call and Segmentation Fault
Ricardo Luiz Andrade Abrantes