bug#39817: Using cross compiled .go from amd64 to powerpc64 segfaults

Chris Marusich <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

dftxbs3e <[email protected]> writes:

> I built GNU Guix's `bootstrap-tarballs` package which includes Guile 2.2
> with `guix build --target=powerpc64-linux-gnu bootstrap-tarballs` and
> when I run that compiled Guile on powerpc64, it crashes.
>
> I tried replacing the .go files with natively built ones and it works,
> with the same cross compiled copy of the GNU Guile binaries.
>
> I used this GNU Guix's tree:
>
> https://gitlab.com/lle-bout/guix - commit
> f47e761a10675b05b07107035d5024618267a3ad
>
> And bootstrap binaries are:
>
> https://gitlab.com/lle-bout/guix-bootstrap/-/commit/8e464405c0ba76b29e11c3b60af4d6ea9c83c188
>
> After that copy of GNU Guix is built, to experience the crash you can
> run on a powerpc64 machine:
>
> ./pre-inst-env guix build hello
>
> And it will try to run the bootstrap GNU Guile after some time and segfault.

What was the architecture of the system on which you ran the command
"guix build --target=powerpc64-linux-gnu bootstrap-tarballs"?  That may
help me reproduce the issue.

Can you remind me why bootstrap-tarballs uses Guile 2.2?  Is there any
possibility we can use Guile 3 instead?  Maybe doing so could work
around this problem.  Or maybe I'm just confused.  :-)

It sounds like you're saying that one could reproduce this issue by
doing the following:

- Do a "guix pull" to install Guix commit
  f47e761a10675b05b07107035d5024618267a3ad (from your repo).

- Use this newly pulled Guix to build the bootstrap binaries:

    guix build --target=powerpc64-linux-gnu bootstrap-tarballs

- This should produce the same binaries that are found here:

  https://gitlab.com/lle-bout/guix-bootstrap/-/commit/8e464405c0ba76b29e11c3b60af4d6ea9c83c188

- Update the Guix source so that Guix will use those newly built
  bootstrap binaries (it looks like you did this in commit
  bb7d8f3b2ec469c6b3f460e4731871e8e2314dc4 in your repo).

- On a POWER9 machine, get the new Guix source (e.g., commit
  bb7d8f3b2ec469c6b3f460e4731871e8e2314dc4 from your repo), and build
  Guix from source using the foreign distribution's native libraries
  (i.e., build Guix without using Guix, since it isn't available yet on
  POWER9).

- Once you've built Guix in your local checkout, run "./pre-inst-env
  guix build hello" to observe the crash.

Is that basically right?

I will try to reproduce this and poke at it a bit.  Please let me know
if I have misunderstood anything.

-- 
Chris
signature.asc (application/pgp-signature, 832 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl7GKHsACgkQ3UCaFdgi
Rp0+dA//fsyiC66tPfjPDYRjBX/vnnHH/s9FklA/PgcVTI3vrnG2jVjsQNn5Z+mZ
JrTRlfEaiWNDPD6gxwOsDvtQ/GCyivT519hSZOzQgA2U3dkQu6GBFNMR+Dp74hqm
1j4E2Mp9nP6Z8p1ceiv70juJAR05s/ZcH5MrTGa7EZVyhmg8EmGE3tjrgppCE4H8
3q1L+p2J8J9kFv1lehi9N9fVPo7FRV2dWVJGn2/ByhUWnM+RjJ9bPqIy2AZmKQWN
o/fVH0+YmmZ1+OgH3xdD8U7sl0zZrqDQ9OsP0IoNIkcy845AwwFhh3asCUoIK7F7
T3fKktGhDJB31ezX5kFTCfSRnn5697AzN2HuK5389ZZJFSFaMFwTitB88F5Hh+qF
lmt/RRPZFzpJl/Vvaw/HwzrCKxAdr1Wak9WEPz2vPRRg+LtsqMM52Ki1i/jLI5cB
vbKVeVX+/tFFWTiBtsLJDYGjNHnfb4/EVy/zcvm//pxm13a3kjEiJT3KACQf1767
LkH1b52ahJBssZGvbgDcUI+oVHBZ4QifS+c8xdFkhft9t0cYv4Hic6MMCeEsaQME
GbQncQ/b+38KuN0LyC/mQQgKGb8j8Vo5ylY1UJ/P+iM//XnyySRl33O+XFhwXprk
1lBSRTtZvneWTbL7b9NEIwhAQZ7EJ+DrtNfgoPWTkRwZRkrHeq0=
=0XWl
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.