Building postgresql armv7 on emulated x86_64

Started by Marek Kulikover 4 years ago4 messageshackers
Jump to latest
#1Marek Kulik
mkulik@redhat.com

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 | }
| ^

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Marek Kulik (#1)
Re: Building postgresql armv7 on emulated x86_64

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

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tom Lane (#2)
Re: Building postgresql armv7 on emulated x86_64

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

#4Marek Kulik
mkulik@redhat.com
In reply to: Tom Lane (#3)
Re: Building postgresql armv7 on emulated x86_64

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:

Show quoted text

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