public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
* [Patch] Edit contrib/ files to download gfortran prerequisites
@ 2017-09-20 20:35 Damian Rouson
  2017-09-21  7:40 ` Richard Biener
  0 siblings, 1 reply; 10+ messages in thread
From: Damian Rouson @ 2017-09-20 20:35 UTC (permalink / raw)
  To: gcc patches; +Cc: gfortran, Jerry DeLisle

[-- Attachment #1: Type: text/plain, Size: 817 bytes --]

Attached is a patch that adds the downloading of gfortran prerequisites OpenCoarrays and MPICH in the contrib/download_prerequisites script.  The patch also provides a useful error message when neither wget or curl are available on the target platform.  I tested this patch with several choices for the command-line options on macOS (including --md5 and --sha512) and Ubuntu Linux (including --sha512).    A suggested ChangeLog entry is

        * contrib/download_prerequisites: Download OpenCoarrays and MPICH.
        * contrib/prerequisites.sha5: Add sha512 message digests for OpenCoarrays and MPICH.
        * contrib/prerequisites.md5: Add md5 message digests for OpenCoarrays and MPICH.


OK for trunk?  If so, I’ll ask Jerry to commit this.  I don’t have commit rights.

Damian

[-- Attachment #2: download-opencoarrays-mpich.diff --]
[-- Type: application/octet-stream, Size: 2514 bytes --]

diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites
index ae0b5ffeb32..b1380121fe7 100755
--- a/contrib/download_prerequisites
+++ b/contrib/download_prerequisites
@@ -31,6 +31,8 @@ gmp='gmp-6.1.0.tar.bz2'
 mpfr='mpfr-3.1.4.tar.bz2'
 mpc='mpc-1.0.3.tar.gz'
 isl='isl-0.18.tar.bz2'
+mpich='mpich-3.2.tar.gz'
+opencoarrays='opencoarrays-1.9.0.tar.gz'
 
 base_url='ftp://gcc.gnu.org/pub/gcc/infrastructure/'
 
@@ -38,6 +40,8 @@ echo_archives() {
     echo "${gmp}"
     echo "${mpfr}"
     echo "${mpc}"
+    echo "${mpich}"
+    echo "${opencoarrays}"
     if [ ${graphite} -gt 0 ]; then echo "${isl}"; fi
 }
 
@@ -55,11 +59,6 @@ case $OS in
   ;;
 esac
 
-if type wget > /dev/null ; then
-  fetch='wget'
-else
-  fetch='curl -LO -u anonymous:'
-fi
 chksum_extension='sha512'
 directory='.'
 
@@ -95,6 +94,14 @@ die() {
     exit 1
 }
 
+if type wget > /dev/null ; then
+  fetch='wget'
+elif type curl > /dev/null ; then
+  fetch='curl -LO -u anonymous:'
+else
+  die "Invoking wget and curl in the 'download_prerequisites' script failed."
+fi
+
 for arg in "$@"
 do
     case "${arg}" in
diff --git a/contrib/prerequisites.md5 b/contrib/prerequisites.md5
index cc71e0f4de6..36c94292c53 100644
--- a/contrib/prerequisites.md5
+++ b/contrib/prerequisites.md5
@@ -2,3 +2,5 @@
 b8a2f6b0e68bef46e53da2ac439e1cf4  mpfr-3.1.4.tar.bz2
 d6a1d5f8ddea3abd2cc3e98f58352d26  mpc-1.0.3.tar.gz
 11436d6b205e516635b666090b94ab32  isl-0.18.tar.bz2
+f414cfa77099cd1fa1a5ae4e22db508a mpich-3.2.tar.gz
+1e2b05f71d3b1a9f3cdd2ceb4b46b7a0 opencoarrays-1.9.0.tar.gz
diff --git a/contrib/prerequisites.sha512 b/contrib/prerequisites.sha512
index cf6b93b8d6b..1f496389442 100644
--- a/contrib/prerequisites.sha512
+++ b/contrib/prerequisites.sha512
@@ -2,3 +2,5 @@
 51066066ff2c12ed2198605ecf68846b0c96b548adafa5b80e0c786d0df488411a5e8973358fce7192dc977ad4e68414cf14500e3c39746de62465eb145bb819  mpfr-3.1.4.tar.bz2
 0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43  mpc-1.0.3.tar.gz
 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94  isl-0.18.tar.bz2
+083c51655b4355827bd7fa4fe528046e2bc77b7747d869ff87b79fa324c3cc2a9b5640ccb7271490ccc0dd627e354a33a449bbab448501bbfddcfe5f999ee717  mpich-3.2.tar.gz
+ff081d5fbde411075a221920b6d6e2ba5698d99d4536441450cc47ba2c713fdb6d7bcf0040d1b4076059973d32892d674218b281a7fcab991282448bad0b0aad  opencoarrays-1.9.0.tar.gz

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-09-20 20:35 [Patch] Edit contrib/ files to download gfortran prerequisites Damian Rouson
@ 2017-09-21  7:40 ` Richard Biener
  2017-10-21  0:26   ` Damian Rouson
  0 siblings, 1 reply; 10+ messages in thread
From: Richard Biener @ 2017-09-21  7:40 UTC (permalink / raw)
  To: Damian Rouson; +Cc: gcc patches, gfortran, Jerry DeLisle

On Wed, Sep 20, 2017 at 10:35 PM, Damian Rouson
<damian@sourceryinstitute.org> wrote:
> Attached is a patch that adds the downloading of gfortran prerequisites OpenCoarrays and MPICH in the contrib/download_prerequisites script.  The patch also provides a useful error message when neither wget or curl are available on the target platform.  I tested this patch with several choices for the command-line options on macOS (including --md5 and --sha512) and Ubuntu Linux (including --sha512).    A suggested ChangeLog entry is
>
>         * contrib/download_prerequisites: Download OpenCoarrays and MPICH.
>         * contrib/prerequisites.sha5: Add sha512 message digests for OpenCoarrays and MPICH.
>         * contrib/prerequisites.md5: Add md5 message digests for OpenCoarrays and MPICH.
>
>
> OK for trunk?  If so, I’ll ask Jerry to commit this.  I don’t have commit rights.

Can you make this optional similar to graphite/isl?  Also I see no support in
the toplevel build machinery to build/install the libs as part of GCC
so how does
that work in the end?

Thanks,
Richard.

> Damian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-09-21  7:40 ` Richard Biener
@ 2017-10-21  0:26   ` Damian Rouson
  2017-10-21 18:17     ` Bernhard Reutner-Fischer
  2017-10-23 10:54     ` Richard Biener
  0 siblings, 2 replies; 10+ messages in thread
From: Damian Rouson @ 2017-10-21  0:26 UTC (permalink / raw)
  To: Richard Biener; +Cc: gcc patches, gfortran, Jerry DeLisle

[-- Attachment #1: Type: text/plain, Size: 1874 bytes --]

 
Hi Richard,

Attached is a revised patch that makes the downloading of Fortran prerequisites optional via a new --no-fortran flag that can be passed to contrib/download_prerequisites as requested in your reply below. 

As Jerry mentioned in his response, he has been working on edits to the top-level build machinery, but we need additional guidance to complete his work.  Given that there were no responses to his request for guidance and it’s not clear when that work will complete, I’m hoping this minor change can be approved independently so that this patch doesn’t suffer bit rot in the interim.

Ok for trunk?

Damian




On September 21, 2017 at 12:40:49 AM, Richard Biener (richard.guenther@gmail.com(mailto:richard.guenther@gmail.com)) wrote:

> On Wed, Sep 20, 2017 at 10:35 PM, Damian Rouson
> wrote:
> > Attached is a patch that adds the downloading of gfortran prerequisites OpenCoarrays and MPICH in the contrib/download_prerequisites script. The patch also provides a useful error message when neither wget or curl are available on the target platform. I tested this patch with several choices for the command-line options on macOS (including --md5 and --sha512) and Ubuntu Linux (including --sha512). A suggested ChangeLog entry is
> >
> > * contrib/download_prerequisites: Download OpenCoarrays and MPICH.
> > * contrib/prerequisites.sha5: Add sha512 message digests for OpenCoarrays and MPICH.
> > * contrib/prerequisites.md5: Add md5 message digests for OpenCoarrays and MPICH.
> >
> >
> > OK for trunk? If so, I’ll ask Jerry to commit this. I don’t have commit rights.
>  
> Can you make this optional similar to graphite/isl? Also I see no support in
> the toplevel build machinery to build/install the libs as part of GCC
> so how does
> that work in the end?
>  
> Thanks,
> Richard.
>  
> > Damian

[-- Attachment #2: downlaod-prereqs.diff --]
[-- Type: application/octet-stream, Size: 3366 bytes --]

diff --git a/.gitignore b/.gitignore
index b53f60db792..ae3432d5480 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,3 +55,5 @@ REVISION
 /mpc*
 /gmp*
 /isl*
+/mpich*
+/opencoarrays*
diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites
index ae0b5ffeb32..23644321b92 100755
--- a/contrib/download_prerequisites
+++ b/contrib/download_prerequisites
@@ -31,6 +31,8 @@ gmp='gmp-6.1.0.tar.bz2'
 mpfr='mpfr-3.1.4.tar.bz2'
 mpc='mpc-1.0.3.tar.gz'
 isl='isl-0.18.tar.bz2'
+mpich='mpich-3.2.tar.gz'
+opencoarrays='opencoarrays-1.9.0.tar.gz'
 
 base_url='ftp://gcc.gnu.org/pub/gcc/infrastructure/'
 
@@ -38,9 +40,12 @@ echo_archives() {
     echo "${gmp}"
     echo "${mpfr}"
     echo "${mpc}"
+    if [ ${fortran} -gt 0 ]; then echo "${mpich}"; fi
+    if [ ${fortran} -gt 0 ]; then echo "${opencoarrays}"; fi
     if [ ${graphite} -gt 0 ]; then echo "${isl}"; fi
 }
 
+fortran=1
 graphite=1
 verify=1
 force=0
@@ -55,11 +60,6 @@ case $OS in
   ;;
 esac
 
-if type wget > /dev/null ; then
-  fetch='wget'
-else
-  fetch='curl -LO -u anonymous:'
-fi
 chksum_extension='sha512'
 directory='.'
 
@@ -83,6 +83,7 @@ The following options are available:
  --md5            use MD5 checksum to verify package integrity
  --help           show this text and exit
  --version        show version information and exit
+ --no-fortran     do not download Fortran prerequisites
 "
 
 versiontext="${program} ${version}
@@ -95,6 +96,14 @@ die() {
     exit 1
 }
 
+if type wget > /dev/null ; then
+  fetch='wget'
+elif type curl > /dev/null ; then
+  fetch='curl -LO -u anonymous:'
+else
+  die "Invoking wget and curl in the 'download_prerequisites' script failed."
+fi
+
 for arg in "$@"
 do
     case "${arg}" in
@@ -146,6 +155,9 @@ do
             --no-force)
                 force=0
                 ;;
+            --no-fortran)
+                fortran=0
+                ;;
             --isl|--graphite)
                 graphite=1
                 ;;
diff --git a/contrib/prerequisites.md5 b/contrib/prerequisites.md5
index cc71e0f4de6..36c94292c53 100644
--- a/contrib/prerequisites.md5
+++ b/contrib/prerequisites.md5
@@ -2,3 +2,5 @@
 b8a2f6b0e68bef46e53da2ac439e1cf4  mpfr-3.1.4.tar.bz2
 d6a1d5f8ddea3abd2cc3e98f58352d26  mpc-1.0.3.tar.gz
 11436d6b205e516635b666090b94ab32  isl-0.18.tar.bz2
+f414cfa77099cd1fa1a5ae4e22db508a mpich-3.2.tar.gz
+1e2b05f71d3b1a9f3cdd2ceb4b46b7a0 opencoarrays-1.9.0.tar.gz
diff --git a/contrib/prerequisites.sha512 b/contrib/prerequisites.sha512
index cf6b93b8d6b..1f496389442 100644
--- a/contrib/prerequisites.sha512
+++ b/contrib/prerequisites.sha512
@@ -2,3 +2,5 @@
 51066066ff2c12ed2198605ecf68846b0c96b548adafa5b80e0c786d0df488411a5e8973358fce7192dc977ad4e68414cf14500e3c39746de62465eb145bb819  mpfr-3.1.4.tar.bz2
 0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43  mpc-1.0.3.tar.gz
 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94  isl-0.18.tar.bz2
+083c51655b4355827bd7fa4fe528046e2bc77b7747d869ff87b79fa324c3cc2a9b5640ccb7271490ccc0dd627e354a33a449bbab448501bbfddcfe5f999ee717  mpich-3.2.tar.gz
+ff081d5fbde411075a221920b6d6e2ba5698d99d4536441450cc47ba2c713fdb6d7bcf0040d1b4076059973d32892d674218b281a7fcab991282448bad0b0aad  opencoarrays-1.9.0.tar.gz

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-10-21  0:26   ` Damian Rouson
@ 2017-10-21 18:17     ` Bernhard Reutner-Fischer
  2017-10-23 23:09       ` Damian Rouson
  2017-10-27  2:27       ` Jerry DeLisle
  2017-10-23 10:54     ` Richard Biener
  1 sibling, 2 replies; 10+ messages in thread
From: Bernhard Reutner-Fischer @ 2017-10-21 18:17 UTC (permalink / raw)
  To: Damian Rouson; +Cc: Richard Biener, gcc patches, gfortran, Jerry DeLisle

On 21 October 2017 at 02:26, Damian Rouson <damian@sourceryinstitute.org> wrote:
>
> Hi Richard,
>
> Attached is a revised patch that makes the downloading of Fortran prerequisites optional via a new --no-fortran flag that can be passed to contrib/download_prerequisites as requested in your reply below.
>
> As Jerry mentioned in his response, he has been working on edits to the top-level build machinery, but we need additional guidance to complete his work.  Given that there were no responses to his request for guidance and it’s not clear when that work will complete, I’m hoping this minor change can be approved independently so that this patch doesn’t suffer bit rot in the interim.
>
> Ok for trunk?

+ die "Invoking wget and curl in the 'download_prerequisites' script failed."

I suggest "Neither wget nor curl found, cannot download tarballs."

As an open-mpi user i question why this hardcodes MPICH, fwiw.

thanks,

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-10-21  0:26   ` Damian Rouson
  2017-10-21 18:17     ` Bernhard Reutner-Fischer
@ 2017-10-23 10:54     ` Richard Biener
  2017-10-23 22:02       ` Damian Rouson
  1 sibling, 1 reply; 10+ messages in thread
From: Richard Biener @ 2017-10-23 10:54 UTC (permalink / raw)
  To: Damian Rouson; +Cc: gcc patches, gfortran, Jerry DeLisle

On Sat, Oct 21, 2017 at 2:26 AM, Damian Rouson
<damian@sourceryinstitute.org> wrote:
>
> Hi Richard,
>
> Attached is a revised patch that makes the downloading of Fortran prerequisites optional via a new --no-fortran flag that can be passed to contrib/download_prerequisites as requested in your reply below.
>
> As Jerry mentioned in his response, he has been working on edits to the top-level build machinery, but we need additional guidance to complete his work.  Given that there were no responses to his request for guidance and it’s not clear when that work will complete, I’m hoping this minor change can be approved independently so that this patch doesn’t suffer bit rot in the interim.

But the change doesn't make sense without the build actually picking up things.

> Ok for trunk?

No.

Thanks,
Richard.

> Damian
>
>
>
>
> On September 21, 2017 at 12:40:49 AM, Richard Biener (richard.guenther@gmail.com(mailto:richard.guenther@gmail.com)) wrote:
>
>> On Wed, Sep 20, 2017 at 10:35 PM, Damian Rouson
>> wrote:
>> > Attached is a patch that adds the downloading of gfortran prerequisites OpenCoarrays and MPICH in the contrib/download_prerequisites script. The patch also provides a useful error message when neither wget or curl are available on the target platform. I tested this patch with several choices for the command-line options on macOS (including --md5 and --sha512) and Ubuntu Linux (including --sha512). A suggested ChangeLog entry is
>> >
>> > * contrib/download_prerequisites: Download OpenCoarrays and MPICH.
>> > * contrib/prerequisites.sha5: Add sha512 message digests for OpenCoarrays and MPICH.
>> > * contrib/prerequisites.md5: Add md5 message digests for OpenCoarrays and MPICH.
>> >
>> >
>> > OK for trunk? If so, I’ll ask Jerry to commit this. I don’t have commit rights.
>>
>> Can you make this optional similar to graphite/isl? Also I see no support in
>> the toplevel build machinery to build/install the libs as part of GCC
>> so how does
>> that work in the end?
>>
>> Thanks,
>> Richard.
>>
>> > Damian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-10-23 10:54     ` Richard Biener
@ 2017-10-23 22:02       ` Damian Rouson
  2017-10-24  8:26         ` Richard Biener
  0 siblings, 1 reply; 10+ messages in thread
From: Damian Rouson @ 2017-10-23 22:02 UTC (permalink / raw)
  To: Richard Biener; +Cc: gcc patches, gfortran, Jerry DeLisle



On October 23, 2017 at 3:54:22 AM, Richard Biener (richard.guenther@gmail.com) wrote:

On Sat, Oct 21, 2017 at 2:26 AM, Damian Rouson 
<damian@sourceryinstitute.org> wrote: 
> 
> Hi Richard, 
> 
> Attached is a revised patch that makes the downloading of Fortran prerequisites optional via a new --no-fortran flag that can be passed to contrib/download_prerequisites as requested in your reply below. 
> 
> As Jerry mentioned in his response, he has been working on edits to the top-level build machinery, but we need additional guidance to complete his work. Given that there were no responses to his request for guidance and it’s not clear when that work will complete, I’m hoping this minor change can be approved independently so that this patch doesn’t suffer bit rot in the interim. 

But the change doesn't make sense without the build actually picking up things. 
Each prerequisite tar ball contains build scripts so the change is useful even without the ultimate integration into the GCC build system.  Our first step was to get the tar balls onto the GCC ftp server.  Our next step was to set up for the files to be downloaded automatically with this patch.  For now, users can use the build scripts in the prerequisite tar balls.  Our final step will be to finish the integration into the GCC build system.   Jerry has requested guidance on this mailing list, but I don’t think there have been any replies to his request.  In the interim, I’m stuck updating this patch indefinitely.  I’ve already updated it several times because the files it patches are changing.  

Most importantly, the features these prerequisites enable are part of the Fortran standard so they are necessary for full access to the language — namely access to any Fortran 2008 or Fortran 2015 parallel features.  I hope I’ve made a case for the benefit of the patch. Is there a way in which the patch is harmful?

Damian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-10-21 18:17     ` Bernhard Reutner-Fischer
@ 2017-10-23 23:09       ` Damian Rouson
  2017-10-27  2:27       ` Jerry DeLisle
  1 sibling, 0 replies; 10+ messages in thread
From: Damian Rouson @ 2017-10-23 23:09 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer
  Cc: Richard Biener, Jerry DeLisle, gfortran, gcc patches

 


On October 21, 2017 at 11:17:49 AM, Bernhard Reutner-Fischer (rep.dot.nop@gmail.com(mailto:rep.dot.nop@gmail.com)) wrote:

>  
> + die "Invoking wget and curl in the 'download_prerequisites' script failed."
>  
> I suggest "Neither wget nor curl found, cannot download tarballs.”

Thanks for the suggestion.  I have now replaced the previous message with your suggested one.

>  
> As an open-mpi user i question why this hardcodes MPICH, fwiw.

The primary reason is because Fortran 2015 has features that support the writing 
of fault-tolerant parallel algorithms. GCC 7 supports these features using OpenCoarrays,
which in turn uses features that are in MPICH 3.2.  I don’t think there is anything
comparable in an OpenMPI release yet, although I’m aware that OpenMPI developers are
working on it.  

Nonetheless, I would be glad to add a “—-with-mpi” flag that would enable users to specify
the MPI of their choice. We could also allow for non-MPI options.  For example, OpenSHEM
has been tested as an alternative recently.  Either way, I’m thinking I’ll hold off on 
investing any more time in this patch for now.  It seems unlikely to be approved for the
trunk until other work completes and it’s uncertain when the other work will complete.

Damian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-10-23 22:02       ` Damian Rouson
@ 2017-10-24  8:26         ` Richard Biener
  0 siblings, 0 replies; 10+ messages in thread
From: Richard Biener @ 2017-10-24  8:26 UTC (permalink / raw)
  To: Damian Rouson; +Cc: gcc patches, gfortran, Jerry DeLisle

On Tue, Oct 24, 2017 at 12:02 AM, Damian Rouson
<damian@sourceryinstitute.org> wrote:
>
>
> On October 23, 2017 at 3:54:22 AM, Richard Biener
> (richard.guenther@gmail.com) wrote:
>
> On Sat, Oct 21, 2017 at 2:26 AM, Damian Rouson
> <damian@sourceryinstitute.org> wrote:
>>
>> Hi Richard,
>>
>> Attached is a revised patch that makes the downloading of Fortran
>> prerequisites optional via a new --no-fortran flag that can be passed to
>> contrib/download_prerequisites as requested in your reply below.
>>
>> As Jerry mentioned in his response, he has been working on edits to the
>> top-level build machinery, but we need additional guidance to complete his
>> work. Given that there were no responses to his request for guidance and
>> it’s not clear when that work will complete, I’m hoping this minor change
>> can be approved independently so that this patch doesn’t suffer bit rot in
>> the interim.
>
> But the change doesn't make sense without the build actually picking up
> things.
>
> Each prerequisite tar ball contains build scripts so the change is useful
> even without the ultimate integration into the GCC build system.  Our first
> step was to get the tar balls onto the GCC ftp server.  Our next step was to
> set up for the files to be downloaded automatically with this patch.  For
> now, users can use the build scripts in the prerequisite tar balls.  Our
> final step will be to finish the integration into the GCC build system.
> Jerry has requested guidance on this mailing list, but I don’t think there
> have been any replies to his request.  In the interim, I’m stuck updating
> this patch indefinitely.  I’ve already updated it several times because the
> files it patches are changing.

What I am completely missing is documentation on the Coarrays feature.
doc/install.texi doesn't list any install requirements like for example
where GCC will look for and for what libraries (and headers?) and what
the constraints on the libraries are (like mpich vs. openmpi).

Simply downloading a tarball from download_prerequesites doesn't
sound useful.  People can simply follow URLs listed in install.texi
to get at those.

> Most importantly, the features these prerequisites enable are part of the
> Fortran standard so they are necessary for full access to the language —
> namely access to any Fortran 2008 or Fortran 2015 parallel features.  I hope
> I’ve made a case for the benefit of the patch. Is there a way in which the
> patch is harmful?

It will unconditionally download stuff and the user doesn't know he needs
to do sth "manual" to enable -fcoarrays=lib(?)?  From what I gather
from the scattered information on the wiki there's nothing one needs to
strictly do at GCC _build_ time.  Just when one wants to use
-fcoarrays=lib you need to manually add -lXYZ (why's that not done
with GCCs driver specs processing?) and have that library available
somewhere in the search path.

It looks then this is a similar level of integration as -mveclibabi={acml,svml}
where we don't download or build/install a vector math library either.

So - can you - as a first step - add something about Fortran Coarray
requirements to doc/install.texi?  Just put it in an item after 'isl Library'.
I presume the MPI library is a requirement of OpenCoarrays and  not
of GFortran?  If so people should refer to OpenCoarrays documentation
to figure out that requirement (and decide themselves what MPI library
to use?)

Thanks,
Richard.

>
> Damian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
  2017-10-21 18:17     ` Bernhard Reutner-Fischer
  2017-10-23 23:09       ` Damian Rouson
@ 2017-10-27  2:27       ` Jerry DeLisle
  1 sibling, 0 replies; 10+ messages in thread
From: Jerry DeLisle @ 2017-10-27  2:27 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer, Damian Rouson
  Cc: Richard Biener, gcc patches, gfortran

On 10/21/2017 11:17 AM, Bernhard Reutner-Fischer wrote:
> On 21 October 2017 at 02:26, Damian Rouson <damian@sourceryinstitute.org> wrote:
>>
>> Hi Richard,
>>
>> Attached is a revised patch that makes the downloading of Fortran prerequisites optional via a new --no-fortran flag that can be passed to contrib/download_prerequisites as requested in your reply below.
>>
>> As Jerry mentioned in his response, he has been working on edits to the top-level build machinery, but we need additional guidance to complete his work.  Given that there were no responses to his request for guidance and it’s not clear when that work will complete, I’m hoping this minor change can be approved independently so that this patch doesn’t suffer bit rot in the interim.
>>
>> Ok for trunk?
> 
> + die "Invoking wget and curl in the 'download_prerequisites' script failed."
> 
> I suggest "Neither wget nor curl found, cannot download tarballs."
> 
> As an open-mpi user i question why this hardcodes MPICH, fwiw.
> 
> thanks,
> 

Hi Bernhard,

Well, open-mpi does not yet support failed images so we are focusing on mpich.

Maybe what we should do is default to mpich if not otherwise specified and
provide a -mpi=mpich or -mpi=open-mpi, or similar. Then later we can add any
other implementations that show up.

Cheers,

Jerry

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Patch] Edit contrib/ files to download gfortran prerequisites
@ 2017-09-22 22:24 Jerry DeLisle
  0 siblings, 0 replies; 10+ messages in thread
From: Jerry DeLisle @ 2017-09-22 22:24 UTC (permalink / raw)
  To: Richard Biener; +Cc: Damian Rouson, Zaak Beekman, gcc patches, gfortran

On Thu, 21 Sep 2017 09:40:49Richard Biener wrote:
> On Wed, Sep 20, 2017 at 10:35 PM, Damian Rouson
> <damian@sourceryinstitute.org> wrote:
> >> Attached is a patch that adds the downloading of gfortran prerequisites
> OpenCoarrays and MPICH in the contrib/download_prerequisites script.  The
> patch also provides a useful error message when neither wget or curl are
> available on the target platform.  I tested this patch with several choices
> for the command-line options on macOS (including --md5 and --sha512) and
> Ubuntu Linux (including --sha512).    A suggested ChangeLog entry is
>>
>>         * contrib/download_prerequisites: Download OpenCoarrays and MPICH.
>>         * contrib/prerequisites.sha5: Add sha512 message digests for
> OpenCoarrays and MPICH.
>>         * contrib/prerequisites.md5: Add md5 message digests for OpenCoarrays
> and MPICH.
>
>
> OK for trunk?  If so, I’ll ask Jerry to commit this.  I don’t have commit
> rights.

> Can you make this optional similar to graphite/isl?  Also I see no support in
> the toplevel build machinery to build/install the libs as part of GCC
> so how does that work in the end?

In the end gcc needs to know what to do and just do it just like mpfr and
libquadmath.

I started looking at Makefile.def and I am guessing this is where the changes
need to be made to enable gcc machinery to actually build the two packages.  I
am not knowledgeable enough to figure this out and I recently got a new job so
now am very time constrained as far as reverse engineering what is going on.

I did manage to add Gnu Build System autotools features to OpenCoarrays so we
could be closer to integrating this in. (./configure && make vs cmake)

We definitely need some guidance from someone regarding the changes required for
the top level gcc items.

Also we are getting some libtool related build failures with the OpenCoarrays on
Mac and some other platforms where we know gcc builds fine, so I suspect we need
to build a libtool script or something to ensure that it works everywhere. It
works fine on Fedora which is what I use (naturally).

So if anyone would step up to the plate and advise on the toplevel machinery it
would be greatly appreciated.

Regards,

Jerry

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-10-27  2:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-20 20:35 [Patch] Edit contrib/ files to download gfortran prerequisites Damian Rouson
2017-09-21  7:40 ` Richard Biener
2017-10-21  0:26   ` Damian Rouson
2017-10-21 18:17     ` Bernhard Reutner-Fischer
2017-10-23 23:09       ` Damian Rouson
2017-10-27  2:27       ` Jerry DeLisle
2017-10-23 10:54     ` Richard Biener
2017-10-23 22:02       ` Damian Rouson
2017-10-24  8:26         ` Richard Biener
2017-09-22 22:24 Jerry DeLisle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).