Quantcast

How to build ATLAS libraries with mingw gfortran on cygwin

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

How to build ATLAS libraries with mingw gfortran on cygwin

tmacchant
Hello Benjamin

This is essentially the ATLAS issue but you have already solved this problem.

I have been so far used the ATLAS libraries built using the cygwin GCC-4 and used the libf77blas.a and
libatlas.a. This might be illegal because the cygwin complier is not compatible to Mingw one.
However no problem has been occurred in octave 3.0.x.  

I have tried the same procedure on the octave 3.2.0, configure script reject to use the libf77blas.a
and libatlas.a generated by cygwin GCC-4.

I have tried to build atlas libraries  -Si nocygwin 1.
However gcc-mingw on cygwin is still GCC-3.4.4 so that we cannot use for Mingw GCC-4 because gfortran
is not compatible to g77.

To solve this, one has to use native GCC-4 Mingw compiler for ATLAS build on cygwin.

I have tried this but I cannot solved to translate cygwin path to windows path.

It will be grateful for me if you will give some suggestions to me.

Regards

Tatsuro


--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to build ATLAS libraries with mingw gfortran on cygwin

Benjamin Lindner
Tatsuro MATSUOKA wrote:
> Hello Benjamin
>
> This is essentially the ATLAS issue but you have already solved this problem.
>
> I have been so far used the ATLAS libraries built using the cygwin GCC-4 and used the libf77blas.a and
> libatlas.a. This might be illegal because the cygwin complier is not compatible to Mingw one.
> However no problem has been occurred in octave 3.0.x.  

I wouldn't term it illegal and I think that the cygwin compiler is
indeed compatible here, since you create a static library i.e. only
object code. So you have to just make sure to use the same gcc version,
since sytem libraries may be incompatible across different versions.
>
> I have tried the same procedure on the octave 3.2.0, configure script reject to use the libf77blas.a
> and libatlas.a generated by cygwin GCC-4.
>

Does it?
I seem to have no problems here.
What is the error message?

> I have tried to build atlas libraries  -Si nocygwin 1.
> However gcc-mingw on cygwin is still GCC-3.4.4 so that we cannot use for Mingw GCC-4 because gfortran
> is not compatible to g77.

True, but I think I saw that there is a native gcc-4 available for
cygwin installable via cygwin's setup.exe. I believe it's also a 4.3.x
version.

>
> To solve this, one has to use native GCC-4 Mingw compiler for ATLAS build on cygwin.
>
> I have tried this but I cannot solved to translate cygwin path to windows path.
>
> It will be grateful for me if you will give some suggestions to me.
>

Here is what I did.
I built myself a native cygwin gcc of version 4.3.0 and used it to build
atlas.
The creation of the shared libraries I do with the native mingw gcc.
Building a cygwin gcc is straightforward,
1) download gcc-core-4.3.0.tar.bz2 and gcc-fortran-4.3.0.tar.bz2
2) configure and set a useful prefix to have a seprarate installation
tree, and configure for gcc and gfortran only (that's all you need for
atlas)
3) make && make install

Have a look at the attached quick-and-dirty script I used

This worked for me so far.
What's not considered here yet is a multi-threaded build.

benjamin


#!/usr/bin/sh

BUILDDIR=.build_cygwin_gcc-3.3.3

TOPDIR=`pwd`

SRCDIR=gcc-4.3.0

unpack()
{
   tar xjvf gcc-core-4.3.0.tar.bz2
   tar xjvf gcc-fortran-4.3.0.tar.bz2
}

mkdirs()
{
   rm -rf $BUILDDIR
   mkdir $BUILDDIR
}

conf()
{
   cd $BUILDDIR && ${TOPDIR}/${SRCDIR}/configure --srcdir=${TOPDIR}/${SRCDIR} \
        --prefix=/opt/gcc-4.3.0 \
        --with-cpu=i686 \
        --enable-languages=c,fortran \
        --enable-version-specific-runtime-libs \
        --disable-shared \
        --disable-nls
}

build()
{
   cd $BUILDDIR && make
}

install()
{
   cd $BUILDDIR && make install
}

$*

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to build ATLAS libraries with mingw gfortran on cygwin

tmacchant
Hello Benjamin

Thank you for your comments.

--- Benjamin Lindner wrote:

> Tatsuro MATSUOKA wrote:
> > Hello Benjamin
> >
> > This is essentially the ATLAS issue but you have already solved this problem.
> >
> > I have been so far used the ATLAS libraries built using the cygwin GCC-4 and used the
> libf77blas.a and
> > libatlas.a. This might be illegal because the cygwin complier is not compatible to Mingw one.
> > However no problem has been occurred in octave 3.0.x.  
>
> I wouldn't term it illegal and I think that the cygwin compiler is
> indeed compatible here, since you create a static library i.e. only
> object code. So you have to just make sure to use the same gcc version,
> since sytem libraries may be incompatible across different versions.
> >
> > I have tried the same procedure on the octave 3.2.0, configure script reject to use the
> libf77blas.a
> > and libatlas.a generated by cygwin GCC-4.
> >
>
> Does it?
> I seem to have no problems here.
> What is the error message?
*******
configure: WARNING: A BLAS library was detected but found incompatible with your Fortran 77 compiler.
The reference BLAS implementation will be used. To improve performance, consider using a different
Fortran compiler or a switch like -ff2c to make your Fortran compiler use a calling convention
compatible with the way your BLAS library was compiled, or use a different BLAS library.
********

> Here is what I did.
> I built myself a native cygwin gcc of version 4.3.0 and used it to build
> atlas.
> The creation of the shared libraries I do with the native mingw gcc.
> Building a cygwin gcc is straightforward,
> 1) download gcc-core-4.3.0.tar.bz2 and gcc-fortran-4.3.0.tar.bz2
> 2) configure and set a useful prefix to have a seprarate installation
> tree, and configure for gcc and gfortran only (that's all you need for
> atlas)
> 3) make && make install
>
> Have a look at the attached quick-and-dirty script I used
>
> This worked for me so far.
> What's not considered here yet is a multi-threaded build.

I have already built gcc-4.3.3 (cygwin native) on cygwin and used it for the ATLAS building.
(I am now using GCC-4.3.3-dw2-TDM mingw for octave build.)

I did not carry out dll version of ATLAS.  Hopefully it will go well.

Thanks!

Tatsuro


--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to build ATLAS libraries with mingw gfortran on cygwin

tmacchant
In reply to this post by tmacchant
Hello

I have completely mislead the problem.
The main origin is not ATLAS but strange behavior due to conftest linking with hd5f in checking  LSAME
and its friends. I have currently solved this dirty hack of configure script.

I appreciated your suggestions and time your time for this matter.

Regards

Tatsuro

--- Tatsuro MATSUOKA  wrote:

> Hello Benjamin
>
> Thank you for your comments.
>
> --- Benjamin Lindner wrote:
>
> > Tatsuro MATSUOKA wrote:
> > > Hello Benjamin
> > >
> > > This is essentially the ATLAS issue but you have already solved this problem.
> > >
> > > I have been so far used the ATLAS libraries built using the cygwin GCC-4 and used the
> > libf77blas.a and
> > > libatlas.a. This might be illegal because the cygwin complier is not compatible to Mingw
> one.
> > > However no problem has been occurred in octave 3.0.x.  
> >
> > I wouldn't term it illegal and I think that the cygwin compiler is
> > indeed compatible here, since you create a static library i.e. only
> > object code. So you have to just make sure to use the same gcc version,
> > since sytem libraries may be incompatible across different versions.
> > >
> > > I have tried the same procedure on the octave 3.2.0, configure script reject to use the
> > libf77blas.a
> > > and libatlas.a generated by cygwin GCC-4.
> > >
> >
> > Does it?
> > I seem to have no problems here.
> > What is the error message?
> *******
> configure: WARNING: A BLAS library was detected but found incompatible with your Fortran 77
> compiler.
> The reference BLAS implementation will be used. To improve performance, consider using a
> different
> Fortran compiler or a switch like -ff2c to make your Fortran compiler use a calling convention
> compatible with the way your BLAS library was compiled, or use a different BLAS library.
> ********
> > Here is what I did.
> > I built myself a native cygwin gcc of version 4.3.0 and used it to build
> > atlas.
> > The creation of the shared libraries I do with the native mingw gcc.
> > Building a cygwin gcc is straightforward,
> > 1) download gcc-core-4.3.0.tar.bz2 and gcc-fortran-4.3.0.tar.bz2
> > 2) configure and set a useful prefix to have a seprarate installation
> > tree, and configure for gcc and gfortran only (that's all you need for
> > atlas)
> > 3) make && make install
> >
> > Have a look at the attached quick-and-dirty script I used
> >
> > This worked for me so far.
> > What's not considered here yet is a multi-threaded build.
>
> I have already built gcc-4.3.3 (cygwin native) on cygwin and used it for the ATLAS building.
> (I am now using GCC-4.3.3-dw2-TDM mingw for octave build.)
>
> I did not carry out dll version of ATLAS.  Hopefully it will go well.
>
> Thanks!
>
> Tatsuro
>
>
> --------------------------------------
> Power up the Internet with Yahoo! Toolbar.
> http://pr.mail.yahoo.co.jp/toolbar/
>


--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Loading...