At the beginning I was not using symbol.For(), and whatever I add a  
"_" or not

e.g.:

.Fortran("wrapper",...

I get the same error

Sebastien



> You want to just say:
>
> .Fortran("wrapper", ...
>
> not
>
> .Fortran(symbol.For("wrapper"), ...
>
> Patrick Burns
> [EMAIL PROTECTED]
> +44 (0)20 8525 0696
> http://www.burns-stat.com
> (home of S Poetry and "A Guide for the Unwilling S User")
>
> Sébastien Durand wrote:
>
>
>> Thanks for your help,
>>
>> I had read those web pages already, and the post you referred to   
>> already.
>>
>> So I will try to give more details to what I have done till now
>>
>> First I must mention again that I am using a mac under tiger.  So  
>> I  am using .so files.
>>
>> My fortran file is called kmeans.f, and my subroutine or wrapper  
>> I  named  it "wrapper"
>>
>> There is my first line of code
>>
>>     subroutine wrapper(n, p, nran, mat, ishort, w, z, ntran,  
>> istand,  k1, k2, iassign, iseed)
>>
>> In the terminal:
>>     R CMD SHLIB  ~/Desktop/Fortan_kmeans/kmeans3.fg77
>>         -fno-common  -g -O2 -c /Users/sebas/Desktop/Fortan_kmeans/  
>> kmeans3.f -o /Users/sebas/Desktop/Fortan_kmeans/kmeans3.o
>>         gcc-3.3 -bundle -flat_namespace -undefined suppress -L/ 
>> usr/ local/lib -o
>>         /Users/sebas/Desktop/Fortan_kmeans/kmeans3.so /Users/ 
>> sebas/ Desktop/Fortan_kmeans/kmeans3.o
>>         -L/usr/local/lib/gcc/powerpc-apple-darwin6.8/3.4.2 -lg2c -  
>> lSystem -framework R
>>
>> The files append to compile without any warnings.
>>
>> In R:
>>
>> > dyn.load("/Users/sebas/Desktop/Fortan_kmeans/kmeans3.so")
>> > getLoadedDLLs()
>>
>> Filename
>> base                                                                  
>>                base
>> grDevices /Library/Frameworks/R.framework/Resources/library/ 
>> grDevices/ libs/grDevices.so
>> stats             /Library/Frameworks/R.framework/Resources/ 
>> library/ stats/libs/stats.so
>> methods       /Library/Frameworks/R.framework/Resources/library/  
>> methods/libs/methods.so
>> kmeans3                                   /Users/sebas/Desktop/  
>> Fortan_kmeans/kmeans3.so
>>           Dynamic.Lookup
>> base               FALSE
>> grDevices          FALSE
>> stats              FALSE
>> methods            FALSE
>> kmeans3             TRUE
>>
>>
>> Dyn.load seems to work since if I type in getLoadedDLLs()  I can  
>> see  the link.
>>
>> > zozo=.Fortran(symbol.For("wrapper"),n=as.integer(n),  
>> p=as.integer (p), nran=as.integer(nran), mat=as.matrix(mat),  
>> ishort=as.vector (ishort), w=as.vector(w),ntran=as.integer(ntran),  
>> istand=as.integer (istand), k1=as.integer(k1), k2=as.integer(k2),  
>> iassign=as.integer (iassign), iseed=as.integer(iseed))
>> Erreur dans .Fortran(symbol.For("wrapper"), n = as.integer(n), p  
>> =  as.integer(p),  :
>>     nom de fonction "Fortran" absent de la table d'allocation
>>
>> Even so I am using in the name parameter of the .Fortran  
>> function,  "wrapper", "kmeans3", "wrapper_" or "kmeans3_"
>>
>> I always get the same error call telling me that the fonction   
>> "Fortran" is not in the allocation table
>>
>> That is where I am at now, it has been 4 days I am digging into  
>> docs  but I haven't been able to find what I am doing wrong.
>>
>> R is so great, I got tons of Fortran lines and subroutine to   
>> implement in R but I guess I am missing a little thing to make it   
>> work and now I really don't have a cue how to solve that problem.
>>
>> Cheers
>>
>> I will be anxiously waiting for any reply
>>
>> Sébastien
>>
>>
>>
>>
>>> If I understand correctly, you used
>>> .Fortran("wrapper",....)
>>>
>>> The problem might be that the function name ("wrapper") was  
>>> changed  in the
>>> compilation of the code! See the mail bellow for clues (a  
>>> previous  post on
>>> R-help by Duncan Murdoch)
>>>
>>> Natalie Hawkins wrote:
>>>
>>>
>>>> Using R 2.0.1 on Windows XP, I am getting an error
>>>> msg:
>>>>
>>>> Error in .Fortran("conic", nxy = nxy, npt = npt, CP =
>>>> cp, EP1 = ep1, EP2 = ep2,  :
>>>>
>>>> Fortran function name not in load table
>>>>
>>>> I am wondering if there is a way to see what function
>>>> names are in the load table?  Maybe the function name
>>>> has been altered?
>>>>
>>>>
>>> You need to look at the DLL to see what name it is exporting. I   
>>> believe
>>> R would be looking for "conic_".  If your Fortran compiler doesn't
>>> append underscores, you'll get this error.
>>>
>>> You might want to look at this page
>>>
>>> http://www.stats.uwo.ca/faculty/murdoch/software/compilingDLLs/  
>>> index.html#badname
>>>
>>> or this one
>>>
>>> http://www.stats.uwo.ca/faculty/murdoch/software/compilingDLLs/  
>>> fortran.html
>>>
>>> for more help.
>>>
>>> Duncan Murdoch
>>>
>>>
>>
>>     [[alternative HTML version deleted]]
>>
>>
>> --------------------------------------------------------------------- 
>> ---
>>
>> ______________________________________________
>> R-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>
>

        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to