Quantcast

Compiling C-code in Windows

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Compiling C-code in Windows

Petar Milin-3
Hello ALL!
I am an Linux user (Debian testing i386), with very dusty
Win-experience. Nevertheless, my colleagues and I are making some
package in R, and I built C-routines to speed up things.
I followed instruction how to compile C for R (very useful link:
http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,
and links listed there). Everything works like a charm in Linux. I have
*.so and wrapper function from R is doing a right call.
However, I wanted to make *.dll library for Win-users. Now, I used my
colleague's computer with Win XP on it, and with the latest R. In MS-DOS
console, I positioned prompt in 'C;\Program Files\R\R-2.13.0\bin\i386\',
and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened, no
trial.dll, nothing. Then, I tried with: 'R CMD SHLIB --output=trial.dll
C:\trial.c', but no luck, again.
Please, can anyone help me with this? Can I use: 'R CMD SHLIB
--output=trial.dll C:\trial.c' under Linux, and expecting working DLL?

Best,
PM

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Compiling C-code in Windows

tom.osborn
You could use cygwin's cc/gcc, or the Watcom opensource compiler.

[Watcom used to be a commercial compiler which ceased and has
become an open project].

But listen to people who've experienced the options. [Not I].

Cheers, Tom.
  ----- Original Message -----
  From: Petar Milin
  To: R-HELP
  Sent: Tuesday, May 31, 2011 9:43 PM
  Subject: [R] Compiling C-code in Windows


  Hello ALL!
  I am an Linux user (Debian testing i386), with very dusty
  Win-experience. Nevertheless, my colleagues and I are making some
  package in R, and I built C-routines to speed up things.
  I followed instruction how to compile C for R (very useful link:
  http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,
  and links listed there). Everything works like a charm in Linux. I have
  *.so and wrapper function from R is doing a right call.
  However, I wanted to make *.dll library for Win-users. Now, I used my
  colleague's computer with Win XP on it, and with the latest R. In MS-DOS
  console, I positioned prompt in 'C;\Program Files\R\R-2.13.0\bin\i386\',
  and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened, no
  trial.dll, nothing. Then, I tried with: 'R CMD SHLIB --output=trial.dll
  C:\trial.c', but no luck, again.
  Please, can anyone help me with this? Can I use: 'R CMD SHLIB
  --output=trial.dll C:\trial.c' under Linux, and expecting working DLL?

  Best,
  PM

  ______________________________________________
  [hidden email] 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]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Compiling C-code in Windows

Duncan Murdoch-2
In reply to this post by Petar Milin-3
On 31/05/2011 7:43 AM, Petar Milin wrote:
> Hello ALL!
> I am an Linux user (Debian testing i386), with very dusty
> Win-experience. Nevertheless, my colleagues and I are making some
> package in R, and I built C-routines to speed up things.
> I followed instruction how to compile C for R (very useful link:
> http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,

You should follow the instructions in the R Installation and
Administration manual to set up the tools on your Windows system.


> and links listed there). Everything works like a charm in Linux. I have
> *.so and wrapper function from R is doing a right call.
> However, I wanted to make *.dll library for Win-users. Now, I used my
> colleague's computer with Win XP on it, and with the latest R. In MS-DOS
> console, I positioned prompt in 'C;\Program Files\R\R-2.13.0\bin\i386\',
> and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened, no
> trial.dll, nothing.


Really nothing?  Not even an error message?


Then, I tried with: 'R CMD SHLIB --output=trial.dll
> C:\trial.c', but no luck, again.
> Please, can anyone help me with this? Can I use: 'R CMD SHLIB
> --output=trial.dll C:\trial.c' under Linux, and expecting working DLL?

I assume you mean "under Windows".  I would normally use a forward
slash, i.e. C:/trial.c; I don't remember if the R CMD code handles
backslashes.  (It might treat \t as a tab.)  With that change, this
should work.

One piece of unsolicited advice:  I would hardly ever use R CMD SHLIB.
Just include the C code in a package, and this is handled automatically
by R CMD INSTALL.  You won't need the .First.lib if you have a
useDynLib() statement in your NAMESPACE.

Duncan Murdoch

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Compiling C-code in Windows

Andreas Borg-2
In reply to this post by Petar Milin-3
Hi Petar,

did you install the toolset (Rtools) for compiling code for R in
windows? See

http://cran.r-project.org/doc/manuals/R-admin.html#The-Windows-toolset

and

http://www.murdoch-sutherland.com/Rtools/

> Please, can anyone help me with this? Can I use: 'R CMD SHLIB
> --output=trial.dll C:\trial.c' under Linux, and expecting working DLL?
>
Of course not, because Windows and Linux libraries differ by more than
the filename extension.

Once everything is set up, compiling in windows is pretty easy thanks to
the toolset.

Good luck,

Andreas

--
Andreas Borg
Medizinische Informatik

UNIVERSITÄTSMEDIZIN
der Johannes Gutenberg-Universität
Institut für Medizinische Biometrie, Epidemiologie und Informatik
Obere Zahlbacher Straße 69, 55131 Mainz
www.imbei.uni-mainz.de

Telefon +49 (0) 6131 175062
E-Mail: [hidden email]

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der
richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
Absender und löschen Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe
dieser Mail und der darin enthaltenen Informationen ist nicht gestattet.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Compiling C-code in Windows

Duncan Murdoch-2
In reply to this post by tom.osborn
On 31/05/2011 7:50 AM, Tom Osborn wrote:
> You could use cygwin's cc/gcc, or the Watcom opensource compiler.

Neither of those is supported.  Use what the R Admin manual suggests, or
you're on your own.

Duncan Murdoch

> [Watcom used to be a commercial compiler which ceased and has
> become an open project].
>
> But listen to people who've experienced the options. [Not I].
>
> Cheers, Tom.
>    ----- Original Message -----
>    From: Petar Milin
>    To: R-HELP
>    Sent: Tuesday, May 31, 2011 9:43 PM
>    Subject: [R] Compiling C-code in Windows
>
>
>    Hello ALL!
>    I am an Linux user (Debian testing i386), with very dusty
>    Win-experience. Nevertheless, my colleagues and I are making some
>    package in R, and I built C-routines to speed up things.
>    I followed instruction how to compile C for R (very useful link:
>    http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,
>    and links listed there). Everything works like a charm in Linux. I have
>    *.so and wrapper function from R is doing a right call.
>    However, I wanted to make *.dll library for Win-users. Now, I used my
>    colleague's computer with Win XP on it, and with the latest R. In MS-DOS
>    console, I positioned prompt in 'C;\Program Files\R\R-2.13.0\bin\i386\',
>    and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened, no
>    trial.dll, nothing. Then, I tried with: 'R CMD SHLIB --output=trial.dll
>    C:\trial.c', but no luck, again.
>    Please, can anyone help me with this? Can I use: 'R CMD SHLIB
>    --output=trial.dll C:\trial.c' under Linux, and expecting working DLL?
>
>    Best,
>    PM
>
>    ______________________________________________
>    [hidden email] 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]]
>
> ______________________________________________
> [hidden email] 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.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Compiling C-code in Windows

Mike Marchywka




----------------------------------------
> Date: Tue, 31 May 2011 11:37:56 -0400
> From: [hidden email]
> To: [hidden email]
> CC: [hidden email]; [hidden email]

>
> On 31/05/2011 7:50 AM, Tom Osborn wrote:
> > You could use cygwin's cc/gcc, or the Watcom opensource compiler.
>
> Neither of those is supported. Use what the R Admin manual suggests, or
> you're on your own.

I have had fairly good luck with cygwin or mingw but you may need to
have a few conditionals etc. Not sure what R suggests but cygwin should
work.


>
> Duncan Murdoch
>
> > [Watcom used to be a commercial compiler which ceased and has
> > become an open project].
> >
> > But listen to people who've experienced the options. [Not I].
> >
> > Cheers, Tom.
> > ----- Original Message -----
> > From: Petar Milin
> > To: R-HELP
> > Sent: Tuesday, May 31, 2011 9:43 PM

> >
> >
> > Hello ALL!
> > I am an Linux user (Debian testing i386), with very dusty
> > Win-experience. Nevertheless, my colleagues and I are making some
> > package in R, and I built C-routines to speed up things.
> > I followed instruction how to compile C for R (very useful link:
> > http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,
> > and links listed there). Everything works like a charm in Linux. I have
> > *.so and wrapper function from R is doing a right call.
> > However, I wanted to make *.dll library for Win-users. Now, I used my
> > colleague's computer with Win XP on it, and with the latest R. In MS-DOS
> > console, I positioned prompt in 'C;\Program Files\R\R-2.13.0\bin\i386\',
> > and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened, no
> > trial.dll, nothing. Then, I tried with: 'R CMD SHLIB --output=trial.dll
> > C:\trial.c', but no luck, again.
> > Please, can anyone help me with this? Can I use: 'R CMD SHLIB
> > --output=trial.dll C:\trial.c' under Linux, and expecting working DLL?
> >
> > Best,
> > PM
> >
> > ______________________________________________
> > [hidden email] 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]]
> >
> > ______________________________________________
> > [hidden email] 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.
>
> ______________________________________________
> [hidden email] 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.    
______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Compiling C-code in Windows

Duncan Murdoch-2
On 11-05-31 12:24 PM, Mike Marchywka wrote:

>
>
>
>
> ----------------------------------------
>> Date: Tue, 31 May 2011 11:37:56 -0400
>> From: [hidden email]
>> To: [hidden email]
>> CC: [hidden email]; [hidden email]
>> Subject: Re: [R] Compiling C-code in Windows
>>
>> On 31/05/2011 7:50 AM, Tom Osborn wrote:
>>> You could use cygwin's cc/gcc, or the Watcom opensource compiler.
>>
>> Neither of those is supported. Use what the R Admin manual suggests, or
>> you're on your own.
>
> I have had fairly good luck with cygwin or mingw but you may need to
> have a few conditionals etc. Not sure what R suggests but cygwin should
> work.

The MinGW compilers are the recommended ones.  If you use Cygwin, you'll
need to provide the Cygwin DLLs as well, and those may clash with others
on the user's system, so I wouldn't recommend it.

Duncan Murdoch

>
>>
>> Duncan Murdoch
>>
>>> [Watcom used to be a commercial compiler which ceased and has
>>> become an open project].
>>>
>>> But listen to people who've experienced the options. [Not I].
>>>
>>> Cheers, Tom.
>>> ----- Original Message -----
>>> From: Petar Milin
>>> To: R-HELP
>>> Sent: Tuesday, May 31, 2011 9:43 PM
>>> Subject: [R] Compiling C-code in Windows
>>>
>>>
>>> Hello ALL!
>>> I am an Linux user (Debian testing i386), with very dusty
>>> Win-experience. Nevertheless, my colleagues and I are making some
>>> package in R, and I built C-routines to speed up things.
>>> I followed instruction how to compile C for R (very useful link:
>>> http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,
>>> and links listed there). Everything works like a charm in Linux. I have
>>> *.so and wrapper function from R is doing a right call.
>>> However, I wanted to make *.dll library for Win-users. Now, I used my
>>> colleague's computer with Win XP on it, and with the latest R. In MS-DOS
>>> console, I positioned prompt in 'C;\Program Files\R\R-2.13.0\bin\i386\',
>>> and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened, no
>>> trial.dll, nothing. Then, I tried with: 'R CMD SHLIB --output=trial.dll
>>> C:\trial.c', but no luck, again.
>>> Please, can anyone help me with this? Can I use: 'R CMD SHLIB
>>> --output=trial.dll C:\trial.c' under Linux, and expecting working DLL?
>>>
>>> Best,
>>> PM
>>>
>>> ______________________________________________
>>> [hidden email] 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]]
>>>
>>> ______________________________________________
>>> [hidden email] 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.
>>
>> ______________________________________________
>> [hidden email] 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.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Compiling C-code in Windows

Smith, Dale
Try

CC=gcc -mno-cygwin

to avoid linking with the Cygwin dlls.

Thanks,
Dale Smith, Ph.D.
Senior Financial Quantitative Analyst
Risk & Compliance
Fiserv.
107 Technology Park
Norcross, GA 30092
Direct NYC: 212-419-3242
Direct Norcross: 678-375-5315
Mobile: 678-982-6599
Mail: [hidden email]
www.fiserv.com


-----Original Message-----
From: [hidden email] [mailto:[hidden email]]
On Behalf Of Duncan Murdoch
Sent: Tuesday, May 31, 2011 12:33 PM
To: Mike Marchywka
Cc: [hidden email]; [hidden email]
Subject: Re: [R] Compiling C-code in Windows

On 11-05-31 12:24 PM, Mike Marchywka wrote:

>
>
>
>
> ----------------------------------------
>> Date: Tue, 31 May 2011 11:37:56 -0400
>> From: [hidden email]
>> To: [hidden email]
>> CC: [hidden email]; [hidden email]
>> Subject: Re: [R] Compiling C-code in Windows
>>
>> On 31/05/2011 7:50 AM, Tom Osborn wrote:
>>> You could use cygwin's cc/gcc, or the Watcom opensource compiler.
>>
>> Neither of those is supported. Use what the R Admin manual suggests,
or
>> you're on your own.
>
> I have had fairly good luck with cygwin or mingw but you may need to
> have a few conditionals etc. Not sure what R suggests but cygwin
should
> work.

The MinGW compilers are the recommended ones.  If you use Cygwin, you'll

need to provide the Cygwin DLLs as well, and those may clash with others

on the user's system, so I wouldn't recommend it.

Duncan Murdoch

>
>>
>> Duncan Murdoch
>>
>>> [Watcom used to be a commercial compiler which ceased and has
>>> become an open project].
>>>
>>> But listen to people who've experienced the options. [Not I].
>>>
>>> Cheers, Tom.
>>> ----- Original Message -----
>>> From: Petar Milin
>>> To: R-HELP
>>> Sent: Tuesday, May 31, 2011 9:43 PM
>>> Subject: [R] Compiling C-code in Windows
>>>
>>>
>>> Hello ALL!
>>> I am an Linux user (Debian testing i386), with very dusty
>>> Win-experience. Nevertheless, my colleagues and I are making some
>>> package in R, and I built C-routines to speed up things.
>>> I followed instruction how to compile C for R (very useful link:
>>>
http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,
>>> and links listed there). Everything works like a charm in Linux. I
have
>>> *.so and wrapper function from R is doing a right call.
>>> However, I wanted to make *.dll library for Win-users. Now, I used
my
>>> colleague's computer with Win XP on it, and with the latest R. In
MS-DOS
>>> console, I positioned prompt in 'C;\Program
Files\R\R-2.13.0\bin\i386\',
>>> and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened,
no
>>> trial.dll, nothing. Then, I tried with: 'R CMD SHLIB
--output=trial.dll
>>> C:\trial.c', but no luck, again.
>>> Please, can anyone help me with this? Can I use: 'R CMD SHLIB
>>> --output=trial.dll C:\trial.c' under Linux, and expecting working
DLL?

>>>
>>> Best,
>>> PM
>>>
>>> ______________________________________________
>>> [hidden email] 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]]
>>>
>>> ______________________________________________
>>> [hidden email] 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.
>>
>> ______________________________________________
>> [hidden email] 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.

______________________________________________
[hidden email] 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.

______________________________________________
[hidden email] 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.
Loading...