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
Linux base build fails recent ubuntu (glib, etc) #85
Comments
Adding to this ticket for now;
|
just a note that glib appears to follow the old linux odd-devel/even-stable convention, so instead of 2.47.6 we should use 2.48.x if you want to do just the minimum update. No idea about what uses glib. |
Since the latest Long Term Support version of Ubuntu (version 18.04) has now been released, those of us who use Ubuntu as a development environment are starting to be affected by this issue. Affected developers include myself, @jmp1985 and @dagewa. I've created a short-term fix, which is documented here, but it would be nice to update the dependencies in Naturally, this will require testing on all supported systems, to check that it doesn't break anything. As the oldest system we collectively still aim to support, Centos 5 is most likely to be affected. Perhaps this merits some discussion at a future build meeting? Of course, though it would be highly desirable to fix this soon, we have the short-term workaround in place. So this can certainly wait until after the next Phenix release, when the associated cctbx_project development freeze is lifted, so there can be no danger of unforeseen knock-on effects. |
Short summary (see here for details):
|
I've been looking into using conda for replacing our dependencies to address these compatibility issues. There is some preliminary work in the conda_build repository (https://github.com/cctbx/conda_build). Dependencies from conda should be more portable. I don't have an Ubuntu 18.04 virtual machine, but I have built Phenix (and DIALS) on Ubuntu 16.04 with the following steps (DIALS-specific),
Once everything is built, it does not look like you need to be in a conda environment to run anything. You can just source Tests will pass in dials and dials_regression. There are a few tests that fail for Phenix and it looks like Again, this is preliminary work done a few months ago, but using conda for dependencies should help make building things more portable across different linux distributions. |
Yes, externally maintained dependencies makes things much easier because somebody else maintains it! Much easier to rely on existing package managers than roll your own. Also allows e.g. separation of run-time and build-time dependencies (which is why the conda channel doesn't need Although the bootstrap versions explicitly work on 16.04, I notice that conda's Since we're still using bootstrap-base for our releases still, I take it there is no objection to making these updates? I am, however, unsure about the process of physically updating the tarballs on CCI - presumably it's just on a SVN our credentials should access? |
No, we are not using As such, any updates to the current dependencies require full testing across multiple linux distributions and versions (CentOS 5, 6, maybe 7, Ubuntu 14.04, 16.04, now 18.04, and maybe 12.04, and 32-bit CentOS 5 for legacy systems, but this may be ending soon), multiple macOS versions (10.9 - 10.13 with different versions of Xcode, more realistically build on 10.11 - 10.13, but run on 10.9 - 10.13), and Windows versions (32-bit and 64-bit for some dependencies, 32-bit support may also end soon). |
- Add gtk2 for more consistent behavior across linux distributions - Update openssl to 1.0.2q
Just had another developer run into this exact issue. |
I'm bootstrapping on a fresh Ubuntu 17.10 VM,
gcc 7.2.0
. The base installation fails onglib
with:This seems to have been recognised in Februrary 2016: https://bugzilla.gnome.org/show_bug.cgi?id=761550 and fixed shortly afterwards in
2.47.6
(we bootstrap November 2015's 2.46.2).Does anyone know what this dependency is fulfilling, and if there are any barriers to upgrading it?
The text was updated successfully, but these errors were encountered: