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

Switch Travis to use Ubuntu 16.04 "xenial", and other CI tweaks #2759

Merged
merged 5 commits into from
Nov 9, 2018

Conversation

fingolfin
Copy link
Member

@fingolfin fingolfin commented Aug 28, 2018

This should allow us to build semigroups and digraphs again (alas, it seems digraphs still runs into these weird atexit troubles...)

@fingolfin fingolfin added topic: tests issues or PRs related to tests do not merge PRs which are not yet ready to be merged (e.g. submitted for discussion, or test results) release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes labels Aug 28, 2018
@codecov
Copy link

codecov bot commented Aug 28, 2018

Codecov Report

Merging #2759 into master will increase coverage by 1.43%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #2759       +/-   ##
===========================================
+ Coverage   83.81%   85.24%    +1.43%     
===========================================
  Files         683      110      -573     
  Lines      345977    56994   -288983     
===========================================
- Hits       289967    48586   -241381     
+ Misses      56010     8408    -47602
Impacted Files Coverage Δ
src/hpc/aobjects.h 50% <0%> (-20%) ⬇️
src/streams.c 70.93% <0%> (-3.99%) ⬇️
src/hpc/misc.c 26.92% <0%> (-2.71%) ⬇️
src/saveload.c 66.57% <0%> (-2.39%) ⬇️
src/profile.c 41.27% <0%> (-1.99%) ⬇️
src/objects.c 80.48% <0%> (-1.66%) ⬇️
src/objects.h 89.55% <0%> (-1.5%) ⬇️
src/io.c 58.76% <0%> (-1.33%) ⬇️
src/dt.c 50.54% <0%> (-1.25%) ⬇️
src/gasman.c 87.15% <0%> (-1.21%) ⬇️
... and 633 more

@markuspf
Copy link
Member

Not sure whether it makes sense; for meataxe64 I am now also using binutils-2.26: (https://github.com/gap-packages/meataxe64/blob/master/.travis.yml)

I spent quite a bit of time trying to debug a linker problem with meataxe64 which boiled down to "outdated binutils".

@markuspf
Copy link
Member

sorry, I merged #2702 which caused a conflict with this PR...

@fingolfin fingolfin force-pushed the mh/travis branch 2 times, most recently from 2bdebbe to 0d9e01d Compare August 29, 2018 13:10
@olexandr-konovalov
Copy link
Member

gcc at least 5.0 would be very useful. The list of hacks to disable packages might now be extended with Digraphs (#2768). Hope with this PR all those hacks will be gone. But test of this PR currently fail to build packages:

checking whether GMP C++ library is available... configure: error: GMP C++ library not found. Make sure it was compiled with --enable-cxx

@olexandr-konovalov
Copy link
Member

@fingolfin did you manage to get at least the gcc-5 of this PR working? I'd really love to have it because otherwise Semigroups can not be compiled on Travis, which severely reduces ability to identify potential problems.

@olexandr-konovalov
Copy link
Member

Oh, again this

Loading digraphs ... 
#W dlopen() error: /home/travis/build/gap-system/gap/pkg/digraphs-0.12.2/bin/x\
86_64-pc-linux-gnu-default64/digraphs.so: undefined symbol: atexit
Error, module '/home/travis/build/gap-system/gap/pkg/digraphs-0.12.2/bin/x86_64-pc-li\
nux-gnu-default64/digraphs.so' not found in
  if not LOAD_DYN( arg[1], false ) then
    Error( "no support for dynamic loading" );
fi; at /home/travis/build/gap-system/gap/lib/files.gd:583 called from 

@fingolfin fingolfin force-pushed the mh/travis branch 3 times, most recently from 4979919 to 8f79ecc Compare October 25, 2018 16:49
@fingolfin fingolfin force-pushed the mh/travis branch 3 times, most recently from 8534ead to 328cf4d Compare November 9, 2018 09:17
@fingolfin fingolfin changed the title WIP: Some travis experiments (DO NOT MERGE) WIP: Switch Travis to use Ubuntu 16.04 "xenial", and other tweaks Nov 9, 2018
@fingolfin fingolfin force-pushed the mh/travis branch 2 times, most recently from 0ba6bac to 7467cbe Compare November 9, 2018 11:20
@fingolfin fingolfin changed the title WIP: Switch Travis to use Ubuntu 16.04 "xenial", and other tweaks Switch Travis to use Ubuntu 16.04 "xenial", and other CI tweaks Nov 9, 2018
@fingolfin
Copy link
Member Author

This seems to be working now, at least with reduced tests. I've now cleaned up the PR, and in particular re-enabled all tests, so let's see if it still passes.

@fingolfin
Copy link
Member Author

To document the digraphs issue in more place: this happened because we added --coverage to CFLAGS, and then kernel extensions with C++ code like digraphs, semigroups and float ended up getting those flags; then GCC/G++/the GNU C++ library or something ends up including the header profiler_trace.h, which in turn inserts an atexit call. But with glibc, atexit is not in libc.so. but rather in a separate library libc_nonshared.a. So the .so has an unresolved symbol, as that symbol is not available in any shared library. Hence the error we were seeing.

.travis.yml Show resolved Hide resolved
ci-prepare.sh already adds it
It causes problems for kernel extensions with C++ code when built using g++,
which ends up inserting `atexit` calls that cause linker errors when trying
to load the kernel extension/
* make etc/ci-gather-coverage.sh more verbose
* output timings for configure and make
* remove hack for NormalizInterface-0.9.8
* re-enable digraphs, semigroups, float
* disable xgap
@@ -58,7 +61,7 @@ matrix:
- libcurl4-openssl-dev:i386 # for curlInterface
- libboost-dev:i386 # for NormalizInterface
- libmpfr-dev:i386 # for float
- libmpfi-dev:i386 # for float
- libmpfi0-dev:i386 # for float
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- libmpfi0-dev:i386 # for float
- libmpfi0-dev:i386 # for float

@fingolfin fingolfin merged commit 8f27269 into gap-system:master Nov 9, 2018
@fingolfin fingolfin deleted the mh/travis branch November 10, 2018 13:40
@fingolfin fingolfin added topic: ci Anything related to GitHub Actions, Codecov, AppVeyor, Coveralls, Travis, ... and removed topic: tests issues or PRs related to tests labels Jan 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do not merge PRs which are not yet ready to be merged (e.g. submitted for discussion, or test results) release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: ci Anything related to GitHub Actions, Codecov, AppVeyor, Coveralls, Travis, ...
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants