Thread: Building postgresql armv7 on emulated x86_64

Building postgresql armv7 on emulated x86_64

From
Marek Kulik
Date:
Hi,

I cannot compile postgresql for armv7. I tested a bunch of versions of gcc and all have the same issue. Sometimes disabling optimization allows me to compile failed files but it is not a rule. The same error will happen in another file and changing optimization parameters or lto options does not make a difference.

Problem is related to dtrace probes code. Compiling without them is successful.

Maybe someone encountered something similar. I'm using Fedora Rawhide. Here is the error:

<mock-chroot> sh-5.1# gcc -I../../../../src/include  -I/usr/include/libxml2   -c -o tuplesort.o tuplesort.c
during RTL pass: mach
tuplesort.c: In function ‘tuplesort_begin_heap’:
tuplesort.c:949:1: internal compiler error: in create_fix_barrier, at config/arm/arm.c:17845
  949 | }
      | ^

...

<mock-chroot> sh-5.1# gcc -I../../../../src/include  -I/usr/include/libxml2   -c -o md.o md.c
during RTL pass: mach
md.c: In function ‘mdwrite’:
md.c:731:1: internal compiler error: in create_fix_barrier, at config/arm/arm.c:17845
  731 | }
      | ^

Re: Building postgresql armv7 on emulated x86_64

From
Tom Lane
Date:
Marek Kulik <mkulik@redhat.com> writes:
> I cannot compile postgresql for armv7. I tested a bunch of versions of gcc
> and all have the same issue.

> Maybe someone encountered something similar. I'm using Fedora Rawhide. Here
> is the error:

> <mock-chroot> sh-5.1# gcc -I../../../../src/include  -I/usr/include/libxml2
>   -c -o tuplesort.o tuplesort.c
> during RTL pass: mach
> tuplesort.c: In function ‘tuplesort_begin_heap’:
> tuplesort.c:949:1: internal compiler error: in create_fix_barrier, at
> config/arm/arm.c:17845
>   949 | }
>       | ^

That seems like pretty obviously a compiler bug.  Shouldn't you be filing
this complaint with gcc not us?

            regards, tom lane



Re: Building postgresql armv7 on emulated x86_64

From
Tom Lane
Date:
> Marek Kulik <mkulik@redhat.com> writes:
>> I cannot compile postgresql for armv7. I tested a bunch of versions of gcc
>> and all have the same issue.

FWIW, I just tried a build with --enable-dtrace on up-to-date Fedora 35
aarch64, and that worked fine.  So this definitely seems like a problem
in the toolchain not in Postgres.

            regards, tom lane



Re: Building postgresql armv7 on emulated x86_64

From
Marek Kulik
Date:
What is weird is that this issue is only present in Fedora Rawhide, older versions of fedora are not affected. I couldn't pinpoint what package update caused that issue. I made a regression for gcc and packages related to it with no luck.

It seems to be an issue related to a bug in gcc. Here is related topic: https://www.spinics.net/lists/fedora-devel/msg294295.html

On Mon, Nov 22, 2021 at 5:54 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Marek Kulik <mkulik@redhat.com> writes:
>> I cannot compile postgresql for armv7. I tested a bunch of versions of gcc
>> and all have the same issue.

FWIW, I just tried a build with --enable-dtrace on up-to-date Fedora 35
aarch64, and that worked fine.  So this definitely seems like a problem
in the toolchain not in Postgres.

                        regards, tom lane