[R] R CMD SHLIB: file not recognized: File format not recognized
Duncan Murdoch
murdoch at stats.uwo.ca
Sun Oct 19 11:56:22 CEST 2008
Andreas Wittmann wrote:
> Hello Dirk,
>
> thank you for your chick answer.
> I tried another file and there it works. so i removed all files
> which were created during of the compilation of add.c in windows
> and so i could compile it under ubuntu too. During the windows
> compilation there is some *.o file which is created during the
> compilation, if i delete it and try the compilation under ubuntu
> everything works fine, don't know why?
>
>
The object files produced during a Windows build won't work on a
different target system. There's a --preclean option to R CMD SHLIB and
R CMD INSTALL that will remove products of earlier builds; it's a good
idea to use it when you start compiling for a new system.
Duncan Murdoch
> best regards
>
> Andreas
>
>
>
>
> Dirk Eddelbuettel wrote:
>
>> On Sun, Oct 19, 2008 at 01:27:06AM +0200, Andreas Wittmann wrote:
>>
>>
>>> Dear R useRs,
>>>
>>> on ubuntu 8.04 i try to create a shared object out of a c-file
>>> this is
>>>
>>> // add.c
>>>
>>> #include <Rinternals.h>
>>> SEXP addiere(SEXP a, SEXP b)
>>> {
>>> int i, n;
>>> n = length(a);
>>> for (i = 0; i < n; i++)
>>> REAL(a)[i] += REAL(b)[i];
>>> return(a);
>>> }
>>>
>>> in terminal i type
>>>
>>> R CMD SHLIB add.c
>>>
>>> and get
>>>
>>> gcc -std=gnu99 -shared -o add.so add.o -L/usr/lib/R/lib -lR
>>> add.o: file not recognized: File format not recognized
>>>
>>> my gcc version is 4.2.3 and my R version is 2.7.2.
>>>
>>>
>> I can't replicate that on Ubuntu 8.04:
>>
>> edd at joe:/tmp$ R CMD SHLIB add.c
>> gcc -std=gnu99 -I/usr/share/R/include -fpic -g -O2 -c add.c -o add.o
>> gcc -std=gnu99 -shared -o add.so add.o -L/usr/lib/R/lib -lR
>> edd at joe:/tmp$
>>
>> Works fine here. Have you compiled other files? Or are you maybe
>> missing some -dev packages?
>>
>> Dirk
>>
>>
>>
>>> Searching R-help, Writing R Extensions and R Installation and
>>> Administration guide
>>> i don't get any idea whats wrong here?
>>>
>>> Creating a dll-file on windows xp with the same c-file works fine.
>>>
>>> best regards
>>>
>>> Andreas
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>>
>>
>>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list