Re: [Rd] Building R-2.3.1 for Windows with ATLAS

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Wed 27 Sep 2006 - 14:55:26 GMT

On Wed, 27 Sep 2006, Giuseppe Antonaci wrote:

> Ok, moved to R-devel.
>
> I tried to build R-2.3.1. Since I intent to distribute this tuned R to
> all other who have a computer like mine here at work I thought it was
> best to stay with the latest stable release.

Which is 2.4.0 RC.

> About your suggestion, I could'n find xerblas.o file. And I don't know
> how to edit libf77blas.a. I tried to open it with VIM
> (http://vim.sf.net/) but there was a lot of strange symbols (expected,
> I think), either way I found a reference to xerblas.o inside it but
> didn't know what to do with this reference.

Well, I said xerbla.o, not xerblas.o.

You edit library archives with ar, something like

ar d libf77blas.a xerbla.o

> Thanks,
> Giuseppe Antonaci
>
> On 26/09/06, Prof Brian Ripley <ripley@stats.ox.ac.uk> wrote:
>> On Tue, 26 Sep 2006, Giuseppe Antonaci wrote:
>>
>> > I think this is not a R-devel question. Sorry to all if I'm wrong,
>> > please let me know.
>>
>> In what sense is this not a programming question?
>>
>> > I managed to build R successfully with the default BLAS but when I
>> > change the MKRULES to use ATLAS BLAS and set the path to
>> > "C:/cygwin/home/Administrador/ATLAS/lib/WinNT_ATHLONSSE2" I got the
>> > following error message (I'm posting only the final part, there was a
>> > lot of compilation before this):
>> >
>> > cp R.dll ../../bin/
>> > -------- Building ../../bin/Rblas.dll --------
>> > gcc -shared -s -o ../../bin/Rblas.dll blas00.o dllversion.o Rblas.def \
>> > -L../../bin -lR -L"C:/WinNT_ATHLONSSE2" -lf77blas -latlas
>>
>> What version of R is this? I get
>>
>> -------- Building ../../../bin/Rblas.dll --------
>> gcc -shared -o ../../../bin/Rblas.dll blas00.o
>> ../../gnuwin32/dllversion.o Rbl
>> as.def \
>> -L../../../bin -lR -L"/R/ATLAS/lib/WinNT_PM" -lf77blas -latlas -lg2c
>> ^^^^^
>> in R-2.4.0 RC.
>>
>> You probably should not need it: you need to build ATLAS without xerbla (R
>> has its own), so delete xerbla.o from libf77blas.a and all should be well.
>>
>> --
>> Brian D. Ripley, ripley@stats.ox.ac.uk
>> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford, Tel: +44 1865 272861 (self)
>> 1 South Parks Road, +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK Fax: +44 1865 272595
>>
>
> I managed to build R-2.3.1 successfully with the default BLAS but when I
> change the MKRULES to use ATLAS BLAS and set the path to
> "C:/WinNT_ATHLONSSE2" I got the
> following error message (I'm posting only the final part, there was a
> lot of compilation before this):
>
> cp R.dll ../../bin/
> -------- Building ../../bin/Rblas.dll --------
> gcc -shared -s -o ../../bin/Rblas.dll blas00.o dllversion.o Rblas.def \
> -L../../bin -lR -L"C:/WinNT_ATHLONSSE2" -lf77blas -latlas
> C:/WinNT_ATHLONSSE2/libf77blas.a(xerbla.o):xerbla.f:(.text+0xb): undefined
> refer
> ence to `s_wsfe'
> C:/WinNT_ATHLONSSE2/libf77blas.a(xerbla.o):xerbla.f:(.text+0x27): undefined
> refe
> rence to `do_fio'
> C:/WinNT_ATHLONSSE2/libf77blas.a(xerbla.o):xerbla.f:(.text+0x43): undefined
> refe
> rence to `do_fio'
> C:/WinNT_ATHLONSSE2/libf77blas.a(xerbla.o):xerbla.f:(.text+0x48): undefined
> refe
> rence to `e_wsfe'
> C:/WinNT_ATHLONSSE2/libf77blas.a(xerbla.o):xerbla.f:(.text+0x5c): undefined
> refe
> rence to `s_stop'
> collect2: ld returned 1 exit status
> make[2]: *** [../../bin/Rblas.dll] Error 1
> make[1]: *** [rbuild] Error 2
> make: *** [all] Error 2
>
> The ATLAS BLAS was build using Cygwin. AFTER building ATLAS BLAS I
> changed the "Path" variable putting "C:\Rtools\tools\bin;C:\MinGW\bin"
> before everything else.
> To build R I followed "R Administration and Instalation" and Duncan
> Murdoch's guide at http://www.murdoch-sutherland.com/Rtools/,
> including the version of MinGW.
>
> At ATLAS web page (http://math-atlas.sourceforge.net/errata.html) I
> found the following:
>
> Q: I'm linking with C, and getting missing symbols (such as w_wsfe,
> do_fio, w_esfe or s_stop).
> R: These kinds of symbols are Fortran library calls. The problem is
> that the C linker does not automatically find the Fortran libraries.
> The most common fix is to either link using your fortran linker, or to
> rewrite your code so that Fortran routines are not called. If you know
> where they are, you can also choose to link in the Fortran libraries
> explicitly
>
> Well, I think this answers my question but I didn't understand the
> answer (and it was not because it is in English). Unfortunately I know
> nothing of C or Fortran. Even if I
> knew that I have these Fortran libraries I wouldn't know how to link
> them. I tried to look at MinGW web page but found nothing.
> Any help would be mostly welcome, please.
> Giuseppe Antonaci
>

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Thu Sep 28 00:57:29 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Wed 27 Sep 2006 - 15:30:10 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.