GNU bug report logs - #8599
upc (Unified Parallel C) support in automake (was: Re: AM_PROG_UPC)

Previous Next

Package: automake;

Reported by: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Date: Sat, 30 Apr 2011 20:12:01 UTC

Severity: minor

Tags: notabug

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 8599 in the body.
You can then email your comments to 8599 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#8599; Package automake. (Sat, 30 Apr 2011 20:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefano Lattarini <stefano.lattarini <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Sat, 30 Apr 2011 20:12:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: "Too, Justin A." <too1 <at> llnl.gov>, autoconf <at> gnu.org,
	Ralf Corsepius <rc040203 <at> freenet.de>, automake <at> gnu.org
Subject: upc (Unified Parallel C) support in automake (was: Re: AM_PROG_UPC)
Date: Sat, 30 Apr 2011 22:10:34 +0200
[adding automake and bug-automake lists]
[follow-ups might drop autoconf list IMHO]
[Reference: <http://lists.gnu.org/archive/html/autoconf/2011-04/msg00072.html>]

Hello Justin and Ralf, and sorry for the delay.

On Saturday 30 April 2011, Justin  wrote:
> On 4/29/11 8:57 PM, "Ralf Corsepius" <rc040203 <at> freenet.de> wrote:
> 
> >On 04/30/2011 01:16 AM, Too, Justin A. wrote:
> >> Hi all,
> >>
> >> In my configure.ac I simply invoke: AC_PROG_UPC
> >>
> >> Š
> >> $ aclocal Š
> >>      aclocal:configure.ac:12: warning: macro `AM_PROG_UPC' not found in
> >>library
> >> Š
> >> $ autoconf
> >>      Configure.ac:12: error: possibly undefined macro: AM_PROG_UPC
> >> If this token and others are legitimate, please use m4patternallow.
> >> See the Autoconf documentation.
> >>
> >> Is this a non-standard macro?
> >Yes.
> >
No, it's not (well, it shouldn't be).  It is defined in the file
`upc.m4' provided by automake.  Thus the failure above, if not due
to some misconfiguration or user error, is an automake bug.

Justin, could you please provide more details about the failure you
encountered?  What system are you on?  Which automake version are you
using?  What is the content of your configure.ac and Makefile.am files?
And everything else you think might be useful.

> >[Apart of this, AM_PROG_UPC violates auto*tools naming conventions;
> >AM_*/AM_* prefixed macros are reserved for autoconf rsp. automake.]
> >
> >> Then, how can I add UPC support to my Autotools project?
> >Non-standard macros need to be supplied by either the package itself or
> >by other packages.
> >
> >There are several ways to do so, so answering your question would
> >require knowing more details about the package you are trying to build.
> 
> Currently, I'm setting my upc file extensions to .c so that they will
> compile without complaint from Automake, however it's obviously more clear
> if they had a .upc extension:
> 
> foo_la_SOURCES = \
>  main.c
>  test.c
> 
> I want:
> 
> foo_la_SOURCES = \
>  main.upc
>  test.upc
> 
>
Well, this should be supported out of the box with Automake (there is
even a testcase about this in the automake testsuite)...  Have you really
tried it?  Does it fail for you?  If yes, what is the error?

> 
> I found this documentation:
> 
>     18.2 Handling new file extensions
>     
> https://idlebox.net/2009/apidocs/automake-1.11.zip/automake_18.html#SEC148
> 
> So I'm assuming I can do this:
>
> .upc.o:
>         upcc -c -o $@ $<
> 
> 
> But this would have to be in every Makefile.am where I'd want to compile
> UPC.  Also, I would have to do a lot of configure checking and setting up
> myself so that I can use $(UPC) as the compiler in my rule, check that
> upc/upcc is available, etc.  The AM_PROG_UPC macro seemed like the most
> convenient method.
> 
>
You might take a look at this documentation instead:

 <http://www.gnu.org/software/automake/manual/html_node/Unified-Parallel-C-Support.html>

Admittedly, it is sketchy and suboptimal, and could benefit from some
extensions and examples. I will probably write patch sooner or later
if nobody beats me (but I hope somebody will do, since I know nothing
about UPC and doesn't have it available for testing).

Regards,
  Stefano




Information forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#8599; Package automake. (Mon, 02 May 2011 20:09:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Too, Justin A." <too1 <at> llnl.gov>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>, "bug-automake <at> gnu.org"
	<bug-automake <at> gnu.org>
Cc: "autoconf <at> gnu.org" <autoconf <at> gnu.org>, Ralf Corsepius <rc040203 <at> freenet.de>,
	"automake <at> gnu.org" <automake <at> gnu.org>
Subject: Re: upc (Unified Parallel C) support in automake (was: Re:
	AM_PROG_UPC)
Date: Mon, 2 May 2011 12:18:34 -0700
Hi Stefano

On 4/30/11 1:10 PM, "Stefano Lattarini" <stefano.lattarini <at> gmail.com>
wrote:

>[adding automake and bug-automake lists]
>[follow-ups might drop autoconf list IMHO]
>[Reference: 
><http://lists.gnu.org/archive/html/autoconf/2011-04/msg00072.html>]
>
>Hello Justin and Ralf, and sorry for the delay.
>
>On Saturday 30 April 2011, Justin  wrote:
>> On 4/29/11 8:57 PM, "Ralf Corsepius" <rc040203 <at> freenet.de> wrote:
>> 
>> >On 04/30/2011 01:16 AM, Too, Justin A. wrote:
>> >> Hi all,
>> >>
>> >> In my configure.ac I simply invoke: AC_PROG_UPC
>> >>
>> >> Š
>> >> $ aclocal Š
>> >>      aclocal:configure.ac:12: warning: macro `AM_PROG_UPC' not found
>>in
>> >>library
>> >> Š
>> >> $ autoconf
>> >>      Configure.ac:12: error: possibly undefined macro: AM_PROG_UPC
>> >> If this token and others are legitimate, please use m4patternallow.
>> >> See the Autoconf documentation.
>> >>
>> >> Is this a non-standard macro?
>> >Yes.
>> >
>No, it's not (well, it shouldn't be).  It is defined in the file
>`upc.m4' provided by automake.  Thus the failure above, if not due
>to some misconfiguration or user error, is an automake bug.


Sorry, the problem was not critical.  It turns out that my system
installation of Automake is 1.9, but /usr/share/aclocal/upc.m4 did not
exist.  I've got 'upc.m4' in place now so it seems to make it pass
'aclocal' and 'automake' now.

I've got another somewhat related issue, and that is: how can I
conditionally use the macro AM_PROG_UPC?  Most users won't have UPC in
their path so I'd like to only check for UPC if the user configures
explicitly with UPC.  If I wrap the macro call like so:

if test "xwith_upc" = "xyes" ; then
    AM_PROG_UPC
fi

I get "configure: error: conditional "am__fastdepUPC" was never defined.
Usually this means the macro was only invoked conditionally.".   In the
configure script, it looks like UPC-related code is generated outside of
my if..fi block in addition to inside of the block.

Thanks for the advise,
Justin


>
>Justin, could you please provide more details about the failure you
>encountered?  What system are you on?  Which automake version are you
>using?  What is the content of your configure.ac and Makefile.am files?
>And everything else you think might be useful.
>
>> >[Apart of this, AM_PROG_UPC violates auto*tools naming conventions;
>> >AM_*/AM_* prefixed macros are reserved for autoconf rsp. automake.]
>> >
>> >> Then, how can I add UPC support to my Autotools project?
>> >Non-standard macros need to be supplied by either the package itself or
>> >by other packages.
>> >
>> >There are several ways to do so, so answering your question would
>> >require knowing more details about the package you are trying to build.
>> 
>> Currently, I'm setting my upc file extensions to .c so that they will
>> compile without complaint from Automake, however it's obviously more
>>clear
>> if they had a .upc extension:
>> 
>> foo_la_SOURCES = \
>>  main.c
>>  test.c
>> 
>> I want:
>> 
>> foo_la_SOURCES = \
>>  main.upc
>>  test.upc
>> 
>>
>Well, this should be supported out of the box with Automake (there is
>even a testcase about this in the automake testsuite)...  Have you really
>tried it?  Does it fail for you?  If yes, what is the error?
>
>> 
>> I found this documentation:
>> 
>>     18.2 Handling new file extensions
>>     
>> 
>>https://idlebox.net/2009/apidocs/automake-1.11.zip/automake_18.html#SEC14
>>8
>> 
>> So I'm assuming I can do this:
>>
>> .upc.o:
>>         upcc -c -o $@ $<
>> 
>> 
>> But this would have to be in every Makefile.am where I'd want to compile
>> UPC.  Also, I would have to do a lot of configure checking and setting
>>up
>> myself so that I can use $(UPC) as the compiler in my rule, check that
>> upc/upcc is available, etc.  The AM_PROG_UPC macro seemed like the most
>> convenient method.
>> 
>>
>You might take a look at this documentation instead:
>
> 
><http://www.gnu.org/software/automake/manual/html_node/Unified-Parallel-C-
>Support.html>
>
>Admittedly, it is sketchy and suboptimal, and could benefit from some
>extensions and examples. I will probably write patch sooner or later
>if nobody beats me (but I hope somebody will do, since I know nothing
>about UPC and doesn't have it available for testing).
>
>Regards,
>  Stefano





Information forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#8599; Package automake. (Wed, 04 May 2011 15:55:02 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: "Too, Justin A." <too1 <at> llnl.gov>, "autoconf <at> gnu.org" <autoconf <at> gnu.org>,
	Ralf Corsepius <rc040203 <at> freenet.de>, "automake <at> gnu.org" <automake <at> gnu.org>
Subject: Re: bug#8599: upc (Unified Parallel C) support in automake (was: Re:
	AM_PROG_UPC)
Date: Wed, 4 May 2011 17:54:20 +0200
On Monday 02 May 2011, Justin  wrote:
> Hi Stefano
> 
Hi Justin, sorry for the delay.

> On 4/30/11 1:10 PM, "Stefano Lattarini" <stefano.lattarini <at> gmail.com>
> wrote:
> 
> >[adding automake and bug-automake lists]
> >[follow-ups might drop autoconf list IMHO]
> >[Reference: 
> ><http://lists.gnu.org/archive/html/autoconf/2011-04/msg00072.html>]
> >
> >Hello Justin and Ralf, and sorry for the delay.
> >
> >On Saturday 30 April 2011, Justin  wrote:
> >> On 4/29/11 8:57 PM, "Ralf Corsepius" <rc040203 <at> freenet.de> wrote:
> >> 
> >> >On 04/30/2011 01:16 AM, Too, Justin A. wrote:
> >> >> Hi all,
> >> >>
> >> >> In my configure.ac I simply invoke: AC_PROG_UPC
> >> >>
> >> >> Š
> >> >> $ aclocal Š
> >> >>      aclocal:configure.ac:12: warning: macro `AM_PROG_UPC' not found
> >>in
> >> >>library
> >> >> Š
> >> >> $ autoconf
> >> >>      Configure.ac:12: error: possibly undefined macro: AM_PROG_UPC
> >> >> If this token and others are legitimate, please use m4patternallow.
> >> >> See the Autoconf documentation.
> >> >>
> >> >> Is this a non-standard macro?
> >> >Yes.
> >> >
> >No, it's not (well, it shouldn't be).  It is defined in the file
> >`upc.m4' provided by automake.  Thus the failure above, if not due
> >to some misconfiguration or user error, is an automake bug.
> 
> 
> Sorry, the problem was not critical.  It turns out that my system
> installation of Automake is 1.9, but /usr/share/aclocal/upc.m4 did not
> exist.  I've got 'upc.m4' in place now so it seems to make it pass
> 'aclocal' and 'automake' now.
> 
> I've got another somewhat related issue, and that is: how can I
> conditionally use the macro AM_PROG_UPC?
>

> Most users won't have UPC in
> their path so I'd like to only check for UPC if the user configures
> explicitly with UPC.  If I wrap the macro call like so:
> 
> if test "xwith_upc" = "xyes" ; then
>     AM_PROG_UPC
> fi
> 
> I get "configure: error: conditional "am__fastdepUPC" was never defined.
> Usually this means the macro was only invoked conditionally.".   In the
> configure script, it looks like UPC-related code is generated outside of
> my if..fi block in addition to inside of the block.
>
Yes, this is a known limitation. You can work around it using the
autoconf-provided AS_IF macro instead of an hand-written if/else
construct.  For example:

  $ cat > configure.ac <<'END'
  AC_INIT([x],0)
  AS_IF([test "x$with_upc" = "xyes"], [AM_PROG_UPC])
  END
  $ aclocal && autoconf
  $ ./configure; echo status = $?
  checking for gcc... gcc
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables... 
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether gcc accepts -g... yes
  checking for gcc option to accept ISO C89... none needed
  checking for style of include used by make... GNU
  status = 0
  $ ./configure with_upc=yes; status = $?
  checking for gcc... gcc
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables... 
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether gcc accepts -g... yes
  checking for gcc option to accept ISO C89... none needed
  checking for style of include used by make... GNU
  checking for upcc... no
  checking for upc... no
  configure: error: no Unified Parallel C compiler was found
  status = 77

You can find more details about AS_IF (and similar macros) here:
<http://www.gnu.org/software/autoconf/manual/html_node/Common-Shell-Constructs.html>

> Thanks for the advise,
> Justin
> 
 
HTH,
  Stefano




Severity set to 'minor' from 'normal' Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 20 Oct 2011 13:42:01 GMT) Full text and rfc822 format available.

Added tag(s) notabug. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 26 Dec 2013 15:05:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 8599 <at> debbugs.gnu.org and Stefano Lattarini <stefano.lattarini <at> gmail.com> Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 26 Dec 2013 15:05:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#8599; Package automake. (Thu, 26 Dec 2013 15:42:01 GMT) Full text and rfc822 format available.

Message #20 received at 8599 <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: "Too, Justin A." <too1 <at> llnl.gov>
Cc: 8599 <at> debbugs.gnu.org
Subject: Re: upc (Unified Parallel C) support in automake
Date: Thu, 26 Dec 2013 16:41:20 +0100
tags 8599 notabug
close 8599
stop

Reference:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8599>

It seems that all the issues relevant to this report where
either solved or offered viable and "blessed" workarounds,
but I still forgot to close the bug.  Doing it now to remove
some old clutter from our bug tracker.

Regards,
  Stefano




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 24 Jan 2014 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 149 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.