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 at 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 at 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 at 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