Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tox.ini: Add raspbian-buster #29091

Closed
jaapspies opened this issue Jan 28, 2020 · 35 comments
Closed

tox.ini: Add raspbian-buster #29091

jaapspies opened this issue Jan 28, 2020 · 35 comments

Comments

@jaapspies
Copy link
Member

On Raspberry Pi 4 4GB on Raspbian Buster build failed with fplll:

libtool: link: g++ -std=gnu++11 -std=c++11 -fPIC -I/home/pi/sagemath/sage-9.1.be
ta1/local/include/ -O3 -Wl,-rpath -Wl,/home/pi/sagemath/sage-9.1.beta1/local/lib
 -o .libs/fplll main.o  -L/home/pi/sagemath/sage-9.1.beta1/local/lib -L/lib ./.l
ibs/libfplll.so -lmpfr -lgmp -pthread -Wl,-rpath -Wl,/home/pi/sagemath/sage-9.1.
beta1/local/lib
/usr/bin/ld: ./.libs/libfplll.so: undefined reference to `__atomic_store_8'
/usr/bin/ld: ./.libs/libfplll.so: undefined reference to `__atomic_load_8'
collect2: error: ld returned 1 exit status

This is fixed by upgrading FPLLL in #30021.

In this ticket, we add Docker-based testing for the platform raspbian-buster-armhf so that it can be verified that FPLLL now builds on this platform by the following:

  tox -e docker-raspbian-buster-armhf-standard -- fplll

Depends on #30021

Upstream: Completely fixed; Fix reported upstream

CC: @malb @slel @fchapoton @kliem

Component: build

Keywords: raspberry

Author: Matthias Koeppe

Branch/Commit: 1b4c497

Reviewer: Jaap Spies

Issue created by migration from https://trac.sagemath.org/ticket/29091

@jaapspies jaapspies added this to the sage-9.1 milestone Jan 28, 2020
@mkoeppe
Copy link
Member

mkoeppe commented Feb 9, 2020

comment:1

Attachment: fplll-5.3.2.log

I have added raspbian-jessie and raspbian-stretch to #29143. There appears to be no Docker image for raspbian-buster.

@mkoeppe
Copy link
Member

mkoeppe commented May 1, 2020

comment:2

Moving tickets to milestone sage-9.2 based on a review of last modification date, branch status, and severity.

@mkoeppe mkoeppe modified the milestones: sage-9.1, sage-9.2 May 1, 2020
@fchapoton
Copy link
Contributor

Changed keywords from none to raspberry

@malb
Copy link
Member

malb commented Jun 24, 2020

comment:4

This might be fixed upstream, can you try again? See fplll/fplll#418

@jaapspies
Copy link
Member Author

comment:5

Replying to @malb:

This might be fixed upstream, can you try again? See fplll/fplll#418

Building sage-9.1 I get still the same ailure:

/bin/bash ../libtool  --tag=CXX   --mode=link g++ -std=gnu++11 -std=c++11  -fPIC -I/home/pi/sagemath/sage-9.1/local/include/ -L/home/pi/sagemath/sage-9.1/local/lib -O3  -Wl,-rpath-link,/home/pi/sagemath/sage-9.1/local/lib -L/home/pi/sagemath/sage-9.1/local/lib -Wl,-rpath,/home/pi/sagemath/sage-9.1/local/lib  -L/lib -o fplll main.o libfplll.la -lmpfr -lmpfr -lgmp -lgmp 
libtool: link: g++ -std=gnu++11 -std=c++11 -fPIC -I/home/pi/sagemath/sage-9.1/local/include/ -O3 -Wl,-rpath-link -Wl,/home/pi/sagemath/sage-9.1/local/lib -Wl,-rpath -Wl,/home/pi/sagemath/sage-9.1/local/lib -o .libs/fplll main.o  -L/home/pi/sagemath/sage-9.1/local/lib -L/lib ./.libs/libfplll.so -lmpfr -lgmp -pthread -Wl,-rpath -Wl,/home/pi/sagemath/sage-9.1/local/lib
/usr/bin/ld: ./.libs/libfplll.so: undefined reference to `__atomic_store_8'
/usr/bin/ld: ./.libs/libfplll.so: undefined reference to `__atomic_load_8'
collect2: error: ld returned 1 exit status
make[7]: *** [Makefile:1165: fplll] Error 1
make[7]: Leaving directory '/home/pi/sagemath/sage-9.1/local/var/tmp/sage/build/fplll-5.3.2/src/fplll'
make[6]: *** [Makefile:739: all] Error 2
make[6]: Leaving directory '/home/pi/sagemath/sage-9.1/local/var/tmp/sage/build/fplll-5.3.2/src/fplll'
make[5]: *** [Makefile:483: all-recursive] Error 1
make[5]: Leaving directory '/home/pi/sagemath/sage-9.1/local/var/tmp/sage/build/fplll-5.3.2/src'
make[4]: *** [Makefile:370: all] Error 2
make[4]: Leaving directory '/home/pi/sagemath/sage-9.1/local/var/tmp/sage/build/fplll-5.3.2/src'
********************************************************************************
Error building fplll-5.3.2
********************************************************************************

real	51m45.333s
user	67m10.859s
sys	1m31.680s
************************************************************************
Error installing package fplll-5.3.2
************************************************************************
Please email sage-devel (http://groups.google.com/group/sage-devel)
explaining the problem and including the log file
  /home/pi/sagemath/sage-9.1/logs/pkgs/fplll-5.3.2.log
Describe your computer, operating system, etc.
If you want to try to fix the problem yourself, *don't* just cd to
/home/pi/sagemath/sage-9.1/local/var/tmp/sage/build/fplll-5.3.2 and type 'make' or whatever is appropriate.
Instead, the following commands setup all environment variables
correctly and load a subshell for you to debug the error:
  (cd '/home/pi/sagemath/sage-9.1/local/var/tmp/sage/build/fplll-5.3.2' && '/home/pi/sagemath/sage-9.1/sage' --buildsh)
When you are done debugging, you can type "exit" to leave the subshell.
************************************************************************

@malb
Copy link
Member

malb commented Jun 24, 2020

comment:6

Sorry that fix isn't in Sage (or an upstream release yet). I meant trying upstream master. I should cut a new release, though.

@slel
Copy link
Member

slel commented Jun 24, 2020

Upstream: Reported upstream. Developers acknowledge bug.

@slel

This comment has been minimized.

@slel
Copy link
Member

slel commented Jun 24, 2020

comment:7

I opened this issue in the fplll issue tracker

but apparently this issue might have been relevant

and it was fixed in Apr 2020 by this pull request

The current latest release, fplll 5.3.2, is from Jan 2020.
Thus the fix should be tried by using the master branch.
I hope it fixes things and the next release works on ARM.
Sorry for the extra noise.

@mkoeppe
Copy link
Member

mkoeppe commented Jun 24, 2020

Branch: u/mkoeppe/raspian-buster

@mkoeppe
Copy link
Member

mkoeppe commented Jun 24, 2020

comment:9

I have just added a test environment for raspbian-buster.
You can try

tox -e docker-raspbian-buster-standard -- fplll

New commits:

e5e2244tox.ini, build/bin/write-dockerfile.sh: Add raspbian-buster
714bdce.github/workflows/tox*.yml: Add raspbian-stretch, raspbian-buster

@mkoeppe
Copy link
Member

mkoeppe commented Jun 24, 2020

Commit: 714bdce

@mkoeppe
Copy link
Member

mkoeppe commented Jun 24, 2020

@mkoeppe
Copy link
Member

mkoeppe commented Jun 24, 2020

comment:11

Running this on my Mac, I was able to reproduce the error:

  [fplll-5.3.2] error installing, exit status 1. End of log file:
  [fplll-5.3.2]   make[5]: *** [Makefile:1175: latsieve] Error 1
  [fplll-5.3.2]   /usr/bin/ld: ./.libs/libfplll.so: undefined reference to `__atomic_store_8'
  [fplll-5.3.2]   /usr/bin/ld: ./.libs/libfplll.so: undefined reference to `__atomic_load_8'
  [fplll-5.3.2]   collect2: error: ld returned 1 exit status
  [fplll-5.3.2]   make[5]: *** [Makefile:1165: fplll] Error 1
  [fplll-5.3.2]   make[5]: Target 'all-am' not remade because of errors.
  [fplll-5.3.2]   make[5]: Leaving directory '/sage/local/var/tmp/sage/build/fplll-5.3.2/src/fplll'
  [fplll-5.3.2]   make[4]: *** [Makefile:739: all] Error 2

@mkoeppe
Copy link
Member

mkoeppe commented Jun 25, 2020

Changed author from jsp to Matthias Koeppe

@mkoeppe
Copy link
Member

mkoeppe commented Jun 25, 2020

comment:13

Replying to @mkoeppe:

I have just added a test environment for raspbian-buster.
You can try

tox -e docker-raspbian-buster-standard -- fplll

Actually, it is

  tox -e docker-raspbian-buster-armhf-standard -- fplll

which will also work on Linux Docker.

Tests with fplll@master run at https://github.com/mkoeppe/fplll/actions/runs/146958161

@slel
Copy link
Member

slel commented Jun 25, 2020

comment:14

Replying to @mkoeppe:

Tests with fplll@master run at https://github.com/mkoeppe/fplll/actions/runs/146958161

It says:

The job running on runner GitHub Actions 36 has exceeded the maximum execution time of 360.

Could a tox environment install most dependencies using Conda via miniforge?

Miniforge provides Conda on ARM:

@mkoeppe
Copy link
Member

mkoeppe commented Jun 25, 2020

comment:15

fplll@master on raspbian-buster-armhf-standard succeeded in 5h 7m 1s at
https://github.com/mkoeppe/fplll/runs/805921434

This confirms that master contains the correct fix.

@mkoeppe
Copy link
Member

mkoeppe commented Jun 25, 2020

comment:16

fplll/fplll#433

@mkoeppe
Copy link
Member

mkoeppe commented Jun 25, 2020

Changed upstream from Reported upstream. Developers acknowledge bug. to Fixed upstream, but not in a stable release.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 26, 2020

Changed commit from 714bdce to e5e2244

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 26, 2020

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

@mkoeppe
Copy link
Member

mkoeppe commented Jun 26, 2020

comment:19

Removed 714bdce from the branch - the build is so slow because of the emulation that it does not make sense to test the sage distribution on this platform on GH Actions.

@malb
Copy link
Member

malb commented Jun 29, 2020

@mkoeppe
Copy link
Member

mkoeppe commented Jun 29, 2020

Dependencies: #30021

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 3, 2020

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

242c552update FPLLL to 5.3.3
53acc59add upstream_url for fplll
1b4c497tox.ini, build/bin/write-dockerfile.sh: Add raspbian-buster

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 3, 2020

Changed commit from e5e2244 to 1b4c497

@mkoeppe
Copy link
Member

mkoeppe commented Jul 3, 2020

Changed upstream from Fixed upstream, but not in a stable release. to Completely fixed; Fix reported upstream

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe changed the title Build failure of fplll-5.3.2 on Raspbian Buster (ARM) tox.ini: Add raspbian-buster Jul 8, 2020
@jaapspies
Copy link
Member Author

comment:27

Works for me on a Raspberry Pi 4 4GB, Raspbian Buster

@mkoeppe
Copy link
Member

mkoeppe commented Jul 9, 2020

comment:28

Here you can read more about how we address portability testing. One does not need an actual Raspberry Pi. https://doc.sagemath.org/html/en/developer/portability_testing.html#testing-sage-on-a-different-platform-using-docker

@dimpase
Copy link
Member

dimpase commented Jul 9, 2020

comment:29

I noted on some other ticket that GitHub Actions offer an ARM platform.

@vbraun
Copy link
Member

vbraun commented Jul 11, 2020

comment:30

Reviewer name is missing

@slel
Copy link
Member

slel commented Jul 11, 2020

Reviewer: Jaap Spies

@vbraun
Copy link
Member

vbraun commented Jul 15, 2020

Changed branch from u/mkoeppe/raspian-buster to 1b4c497

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants