public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Need to build libgfortran.a and libquadmath.a
       [not found] <222147991.846192.1648491515241.ref@mail.yahoo.com>
@ 2022-03-28 18:18 ` Andy Bowery
  2022-03-28 19:52   ` Jonathan Wakely
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Bowery @ 2022-03-28 18:18 UTC (permalink / raw)
  To: gcc-help

Help! I need to build both libgfortran.a and libquadmath.a for an embedded ARM-based environment. These libraries are currently not available for this environment, so I going to have to build them myself. Both need to be static libraries.  I have downloaded the GNU GCC project and I am currently running 'make' (in the top level gcc folder) on this in this environment, but it is taking days on this limited environment! And I am not even sure it will produce the files I need. Is there a quicker way of building these files? Will this make process produce these particular files?
Thank you in advance!
Andy

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

* Re: Need to build libgfortran.a and libquadmath.a
  2022-03-28 18:18 ` Need to build libgfortran.a and libquadmath.a Andy Bowery
@ 2022-03-28 19:52   ` Jonathan Wakely
  2022-03-29 15:29     ` Andy Bowery
  0 siblings, 1 reply; 8+ messages in thread
From: Jonathan Wakely @ 2022-03-28 19:52 UTC (permalink / raw)
  To: Andy Bowery; +Cc: gcc-help

On Mon, 28 Mar 2022 at 19:19, Andy Bowery via Gcc-help
<gcc-help@gcc.gnu.org> wrote:
>
> Help! I need to build both libgfortran.a and libquadmath.a for an embedded ARM-based environment. These libraries are currently not available for this environment, so I going to have to build them myself. Both need to be static libraries.  I have downloaded the GNU GCC project and I am currently running 'make' (in the top level gcc folder) on this in this environment, but it is taking days on this limited environment! And I am not even sure it will produce the files I need. Is there a quicker way of building these files?

Don't build on the ARM system, build a cross compiler that runs on a
much more powerful multicore system.


> Will this make process produce these particular files?

It depends how you configured GCC.

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

* Re: Need to build libgfortran.a and libquadmath.a
  2022-03-28 19:52   ` Jonathan Wakely
@ 2022-03-29 15:29     ` Andy Bowery
  2022-03-29 15:57       ` Xi Ruoyao
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Bowery @ 2022-03-29 15:29 UTC (permalink / raw)
  To: Jonathan Wakely, gcc-help

 Thank you Jonathan for your quick response. I am afraid at the moment I don't have access to such a multicore system. I will investigate setting one up.
I tried a different approach and that was to build within the libgfortran subfolder, by running 'configure' followed by 'make' in that subfolder. I needed to make libbacktrace.la and libbacktrace.a available. However this worked and 'libgfortran.a' was created.
So I tried the same approach in the libquadmath subfolder in order to build 'libquadmath.a'. So in this subfolder I ran:
automake./configuremake
However all I got was the following output and no files created:
make  all-am
make[1]: Entering directory '/home/root/gcc/libquadmath'

make  DO=all multi-do # make

make[2]: Entering directory '/home/root/gcc/libquadmath'

make[2]: Leaving directory '/home/root/gcc/libquadmath'
make[1]: Leaving directory '/home/root/gcc/libquadmath'

What should I do here? I presume that this is what the higher Makefile in gcc runs in this subfolder. So if I was run 'make' of the gcc folder all the through, I presume that it wouldn't make the file 'libquadmath.a' either. How do I get it to make libquadmath.a using the Makefile in the libquadmath subfolder?
Thanks,
Andy
    On Monday, 28 March 2022, 20:52:56 BST, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:  
 
 On Mon, 28 Mar 2022 at 19:19, Andy Bowery via Gcc-help
<gcc-help@gcc.gnu.org> wrote:
>
> Help! I need to build both libgfortran.a and libquadmath.a for an embedded ARM-based environment. These libraries are currently not available for this environment, so I going to have to build them myself. Both need to be static libraries.  I have downloaded the GNU GCC project and I am currently running 'make' (in the top level gcc folder) on this in this environment, but it is taking days on this limited environment! And I am not even sure it will produce the files I need. Is there a quicker way of building these files?

Don't build on the ARM system, build a cross compiler that runs on a
much more powerful multicore system.


> Will this make process produce these particular files?

It depends how you configured GCC.
  

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

* Re: Need to build libgfortran.a and libquadmath.a
  2022-03-29 15:29     ` Andy Bowery
@ 2022-03-29 15:57       ` Xi Ruoyao
  2022-03-31 13:20         ` Andy Bowery
  0 siblings, 1 reply; 8+ messages in thread
From: Xi Ruoyao @ 2022-03-29 15:57 UTC (permalink / raw)
  To: Andy Bowery, Jonathan Wakely, gcc-help

On Tue, 2022-03-29 at 15:29 +0000, Andy Bowery via Gcc-help wrote:
>  Thank you Jonathan for your quick response. I am afraid at the moment
> I don't have access to such a multicore system. I will investigate
> setting one up.
> I tried a different approach and that was to build within the
> libgfortran subfolder, by running 'configure' followed by 'make' in
> that subfolder. I needed to make libbacktrace.la and libbacktrace.a
> available. However this worked and 'libgfortran.a' was created.
> So I tried the same approach in the libquadmath subfolder in order to
> build 'libquadmath.a'. So in this subfolder I ran:
> automake./configuremake
> However all I got was the following output and no files created:
> make  all-am
> make[1]: Entering directory '/home/root/gcc/libquadmath'
> 
> make  DO=all multi-do # make
> 
> make[2]: Entering directory '/home/root/gcc/libquadmath'
> 
> make[2]: Leaving directory '/home/root/gcc/libquadmath'
> make[1]: Leaving directory '/home/root/gcc/libquadmath'
> 
> What should I do here? I presume that this is what the higher Makefile
> in gcc runs in this subfolder. So if I was run 'make' of the gcc
> folder all the through, I presume that it wouldn't make the file
> 'libquadmath.a' either. How do I get it to make libquadmath.a using
> the Makefile in the libquadmath subfolder?

I don't think this is supported by GCC building system.  libquadmath,
like other GCC target libraries, is only expected to be built with the
exact same GCC version in the release tarball.  Using another compiler
may cause failure.

For this specific issue, take a look at configure.ac:

AM_CONDITIONAL(BUILD_LIBQUADMATH, [test "x$libquad_cv_have_float128" = xyes])

So, if your compiler does not support __float128, libquadmath building
system will do nothing.

From https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html:

    __float128 is available on i386, x86_64, IA-64, and hppa HP-UX, as
    well as on PowerPC GNU/Linux targets that enable the vector scalar 
    (VSX) instruction set.

So I guess __float128 is simply not available for your target.  Then
there is no way to build libquadmath for it.
-- 
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University

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

* Re: Need to build libgfortran.a and libquadmath.a
  2022-03-29 15:57       ` Xi Ruoyao
@ 2022-03-31 13:20         ` Andy Bowery
  2022-03-31 14:21           ` Richard Earnshaw
  2022-03-31 14:21           ` Jonathan Wakely
  0 siblings, 2 replies; 8+ messages in thread
From: Andy Bowery @ 2022-03-31 13:20 UTC (permalink / raw)
  To: gcc-help, Xi Ruoyao

 
Thank you Ruoyao for your answer on this.
Does anyone in the community have experience of building 'libquadmath' on the ARM  (aarch64) platform?Particularly using gcc, are there flags that I need to set in order to get it built? Or should I obtain the ARM compiler provided by ARM (which is not free unfortunately)?
Thanks,
Andy Bowery    On Tuesday, 29 March 2022, 16:56:13 BST, Xi Ruoyao <xry111@mengyan1223.wang> wrote:  
 
 On Tue, 2022-03-29 at 15:29 +0000, Andy Bowery via Gcc-help wrote:
>  Thank you Jonathan for your quick response. I am afraid at the moment
> I don't have access to such a multicore system. I will investigate
> setting one up.
> I tried a different approach and that was to build within the
> libgfortran subfolder, by running 'configure' followed by 'make' in
> that subfolder. I needed to make libbacktrace.la and libbacktrace.a
> available. However this worked and 'libgfortran.a' was created.
> So I tried the same approach in the libquadmath subfolder in order to
> build 'libquadmath.a'. So in this subfolder I ran:
> automake./configuremake
> However all I got was the following output and no files created:
> make  all-am
> make[1]: Entering directory '/home/root/gcc/libquadmath'
> 
> make  DO=all multi-do # make
> 
> make[2]: Entering directory '/home/root/gcc/libquadmath'
> 
> make[2]: Leaving directory '/home/root/gcc/libquadmath'
> make[1]: Leaving directory '/home/root/gcc/libquadmath'
> 
> What should I do here? I presume that this is what the higher Makefile
> in gcc runs in this subfolder. So if I was run 'make' of the gcc
> folder all the through, I presume that it wouldn't make the file
> 'libquadmath.a' either. How do I get it to make libquadmath.a using
> the Makefile in the libquadmath subfolder?

I don't think this is supported by GCC building system.  libquadmath,
like other GCC target libraries, is only expected to be built with the
exact same GCC version in the release tarball.  Using another compiler
may cause failure.

For this specific issue, take a look at configure.ac:

AM_CONDITIONAL(BUILD_LIBQUADMATH, [test "x$libquad_cv_have_float128" = xyes])

So, if your compiler does not support __float128, libquadmath building
system will do nothing.

From https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html:

    __float128 is available on i386, x86_64, IA-64, and hppa HP-UX, as
    well as on PowerPC GNU/Linux targets that enable the vector scalar 
    (VSX) instruction set.

So I guess __float128 is simply not available for your target.  Then
there is no way to build libquadmath for it.
-- 
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University
  

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

* Re: Need to build libgfortran.a and libquadmath.a
  2022-03-31 13:20         ` Andy Bowery
@ 2022-03-31 14:21           ` Richard Earnshaw
  2022-03-31 14:21           ` Jonathan Wakely
  1 sibling, 0 replies; 8+ messages in thread
From: Richard Earnshaw @ 2022-03-31 14:21 UTC (permalink / raw)
  To: Andy Bowery, gcc-help, Xi Ruoyao



On 31/03/2022 14:20, Andy Bowery via Gcc-help wrote:
>   
> Thank you Ruoyao for your answer on this.
> Does anyone in the community have experience of building 'libquadmath' on the ARM  (aarch64) platform?Particularly using gcc, are there flags that I need to set in order to get it built? Or should I obtain the ARM compiler provided by ARM (which is not free unfortunately)?
> Thanks,
> Andy Bowery    On Tuesday, 29 March 2022, 16:56:13 BST, Xi Ruoyao <xry111@mengyan1223.wang> wrote:
>   
>   On Tue, 2022-03-29 at 15:29 +0000, Andy Bowery via Gcc-help wrote:
>>   Thank you Jonathan for your quick response. I am afraid at the moment
>> I don't have access to such a multicore system. I will investigate
>> setting one up.
>> I tried a different approach and that was to build within the
>> libgfortran subfolder, by running 'configure' followed by 'make' in
>> that subfolder. I needed to make libbacktrace.la and libbacktrace.a
>> available. However this worked and 'libgfortran.a' was created.
>> So I tried the same approach in the libquadmath subfolder in order to
>> build 'libquadmath.a'. So in this subfolder I ran:
>> automake./configuremake
>> However all I got was the following output and no files created:
>> make  all-am
>> make[1]: Entering directory '/home/root/gcc/libquadmath'
>>
>> make  DO=all multi-do # make
>>
>> make[2]: Entering directory '/home/root/gcc/libquadmath'
>>
>> make[2]: Leaving directory '/home/root/gcc/libquadmath'
>> make[1]: Leaving directory '/home/root/gcc/libquadmath'
>>
>> What should I do here? I presume that this is what the higher Makefile
>> in gcc runs in this subfolder. So if I was run 'make' of the gcc
>> folder all the through, I presume that it wouldn't make the file
>> 'libquadmath.a' either. How do I get it to make libquadmath.a using
>> the Makefile in the libquadmath subfolder?
> 
> I don't think this is supported by GCC building system.  libquadmath,
> like other GCC target libraries, is only expected to be built with the
> exact same GCC version in the release tarball.  Using another compiler
> may cause failure.
> 
> For this specific issue, take a look at configure.ac:
> 
> AM_CONDITIONAL(BUILD_LIBQUADMATH, [test "x$libquad_cv_have_float128" = xyes])
> 
> So, if your compiler does not support __float128, libquadmath building
> system will do nothing.
> 
>  From https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html:
> 
>      __float128 is available on i386, x86_64, IA-64, and hppa HP-UX, as
>      well as on PowerPC GNU/Linux targets that enable the vector scalar
>      (VSX) instruction set.
> 
> So I guess __float128 is simply not available for your target.  Then
> there is no way to build libquadmath for it.

The AArch64 port of GCC provides _Float128, but it would appear it does 
not provide __float128.  Perhaps this is because the standards have 
started to move towards the former and the latter is some GNU extension?

Perhaps you could hack this by building with -D__float128=_Float128.

R.

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

* Re: Need to build libgfortran.a and libquadmath.a
  2022-03-31 13:20         ` Andy Bowery
  2022-03-31 14:21           ` Richard Earnshaw
@ 2022-03-31 14:21           ` Jonathan Wakely
  2022-03-31 14:22             ` Jonathan Wakely
  1 sibling, 1 reply; 8+ messages in thread
From: Jonathan Wakely @ 2022-03-31 14:21 UTC (permalink / raw)
  To: Andy Bowery; +Cc: gcc-help, Xi Ruoyao

On Thu, 31 Mar 2022 at 14:22, Andy Bowery via Gcc-help
<gcc-help@gcc.gnu.org> wrote:
>
>
> Thank you Ruoyao for your answer on this.
> Does anyone in the community have experience of building 'libquadmath' on the ARM  (aarch64) platform?Particularly using gcc, are there flags that I need to set in order to get it built? Or should I obtain the ARM compiler provided by ARM (which is not free unfortunately)?

I don't think you said aarch64 before, did you?

Why do you need libquadmath for aarch64? Isn't long double always
128-bits on aarch64, and therefore you don't need additional
libquadmath routines to support 128-bit floats?

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

* Re: Need to build libgfortran.a and libquadmath.a
  2022-03-31 14:21           ` Jonathan Wakely
@ 2022-03-31 14:22             ` Jonathan Wakely
  0 siblings, 0 replies; 8+ messages in thread
From: Jonathan Wakely @ 2022-03-31 14:22 UTC (permalink / raw)
  To: Andy Bowery; +Cc: gcc-help, Xi Ruoyao

On Thu, 31 Mar 2022 at 15:21, Jonathan Wakely wrote:
>
> On Thu, 31 Mar 2022 at 14:22, Andy Bowery via Gcc-help
> <gcc-help@gcc.gnu.org> wrote:
> >
> >
> > Thank you Ruoyao for your answer on this.
> > Does anyone in the community have experience of building 'libquadmath' on the ARM  (aarch64) platform?Particularly using gcc, are there flags that I need to set in order to get it built? Or should I obtain the ARM compiler provided by ARM (which is not free unfortunately)?
>
> I don't think you said aarch64 before, did you?
>
> Why do you need libquadmath for aarch64? Isn't long double always
> 128-bits on aarch64, and therefore you don't need additional
> libquadmath routines to support 128-bit floats?

I think it would help if you explain what you're actually trying to
do, not just say you need libquadmath.

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

end of thread, other threads:[~2022-03-31 14:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <222147991.846192.1648491515241.ref@mail.yahoo.com>
2022-03-28 18:18 ` Need to build libgfortran.a and libquadmath.a Andy Bowery
2022-03-28 19:52   ` Jonathan Wakely
2022-03-29 15:29     ` Andy Bowery
2022-03-29 15:57       ` Xi Ruoyao
2022-03-31 13:20         ` Andy Bowery
2022-03-31 14:21           ` Richard Earnshaw
2022-03-31 14:21           ` Jonathan Wakely
2022-03-31 14:22             ` Jonathan Wakely

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).