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

{vis}[GCCcore/4.9.3] X.Org v2016-08-31 #3463

Closed

Conversation

ocaisa
Copy link
Member

@ocaisa ocaisa commented Aug 25, 2016

This is a build of the (almost) complete X.Org stack using jhbuild.
It clones the git repos of all the software packages and so is latest master branches but not necessarily particular software releases. The version number is a date and that is passed in as the date stamp that you want for the repos. In total it builds 240 packages, all bar 2 are directly from X.Org the others are dependencies. The patches should give you an idea about how to hack the buildtool (jhbuild) and the moduleset it uses.

There is one small issue in that the latest MESA requires the Mako python module. When I added that as an EasyConfig dep (built on top of the system python), the configure step would pass but the build would fail saying it could not load the Mako module. If I use my own installation of Python and add the module directly to the installation, it builds fine. The other python module dependencies are six and lxml, I'm not sure if there are problems with adding those as deps as well. As it stands then this PR has system dependencies on these 3 python modules (but probably if I solved how to do one properly they would all be solved).

I also may not have all the builddeps and deps correctly separated correctly (or perhaps complete).

Also, even though this is a pretty short easyconfig, it may require an easyblock, as we will probably want to ensure we are getting the latest versions of the sources. The right way to grab them is by

git clone git://anongit.freedesktop.org/git/xorg/util/modular/ xorg/util/modular/

but doing that (and handling it properly for updates) is not supported by EB for sources yet.

I also have a working version of this PR for GCCcore 5.4.0

This is a competitor for the approach of #3440

@ocaisa ocaisa changed the title {lib}[GCCcore/4.9.3] X.Org v2016-08-23 {vis}[GCCcore/4.9.3] X.Org v2016-08-23 Aug 25, 2016
@ocaisa
Copy link
Member Author

ocaisa commented Aug 25, 2016

Word to the wise, this will take about a half a day to build!

@ocaisa
Copy link
Member Author

ocaisa commented Aug 25, 2016

You can take a look at (most of) the packages included at https://gist.github.com/ocaisa/13cff80455cf608e4606d17fd8ac6cb9

@boegel boegel added this to the v2.9.0 milestone Aug 25, 2016
@boegel
Copy link
Member

boegel commented Aug 25, 2016

@ocaisa do you mind fleshing out the easyconfigs that are just version/toolchain bumps into a separate PR (which should be trivial to test/review/merge), so we can see the forest through the trees here?

@ocaisa
Copy link
Member Author

ocaisa commented Aug 25, 2016

Done in #3469, #3470, #3471, #3473, #3474, #3475, #3476, #3477

@boegel
Copy link
Member

boegel commented Aug 31, 2016

@ocaisa please sync with develop & resolve conflicts, let's try and get this thoroughly tested & the known issues dealt with ASAP?

@ocaisa
Copy link
Member Author

ocaisa commented Sep 1, 2016

@boegel Just testing this myself now before I pass the baton, will report back when I get a successful build

@ocaisa
Copy link
Member Author

ocaisa commented Sep 1, 2016

The more-or-less complete list of X.Org packages included in the build can be found at https://gist.github.com/ocaisa/13cff80455cf608e4606d17fd8ac6cb9
These are the packages cloned from the respective repo, libepoxy for example is not included since that comes from a release tarball (and is a good example of how you include something like that in a moduleset).
I'll update the sanity check to include the mesa sanity check components.

@ocaisa
Copy link
Member Author

ocaisa commented Sep 1, 2016

@boegel This builds successfully for me now, I'll upgrade the sanity checks a bit.

@boegel
Copy link
Member

boegel commented Sep 1, 2016

Test report by @boegel
FAILED
Build succeeded for 4 out of 5 (5 easyconfigs in this PR)
node2494.golett.os - Linux centos linux 7.2.1511, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz, Python 2.7.5
See https://gist.github.com/df18818bf148bcc04a5682452b88a4d5 for a full test report.

@ocaisa
Copy link
Member Author

ocaisa commented Sep 1, 2016

You're not able to clone from the repos on the test machine, is it firewalled? I had to get them to allow it here at JSC.

@ocaisa ocaisa changed the title {vis}[GCCcore/4.9.3] X.Org v2016-08-23 {vis}[GCCcore/4.9.3] X.Org v2016-08-31 Sep 1, 2016
@boegel
Copy link
Member

boegel commented Sep 2, 2016

@ocaisa it's indeed possible this is blocked by our firewall, which highlights another issue with this approach: it will redownload the required sources every time, and this build can not be performed offline, next to the potential firewall issues... Is there any way around that with jhbuild?

@ocaisa
Copy link
Member Author

ocaisa commented Sep 2, 2016

You can tell jhbuild where to put the sources (it's part of the current patch) and you can tell it to work offline with --no-network (-n).

This is not the only easyconfig install that cannot be performed offline, there are quite a few more!

@boegel
Copy link
Member

boegel commented Sep 2, 2016

@ocaisa I'm not saying this is the only build that can't be performed offline, just that we should try and make sure it can work offline when we realise it won't in its current state.

Is there anything missing to make this work with --no-network? Maybe support for %(sourcedir)s?

Although you can already handle this via an easyblock... wink wink

@ocaisa
Copy link
Member Author

ocaisa commented Sep 2, 2016

@boegel Do I have access to the build dependencies at the fetch step, otherwise (if I make an easyblock) I'll need to move the "real" fetch elsewhere

@boegel
Copy link
Member

boegel commented Sep 5, 2016

@boegel boegel modified the milestones: 3.0, v2.9.0 Sep 19, 2016
@boegel boegel modified the milestones: 3.0, 3.1 Nov 14, 2016
@boegel boegel modified the milestones: 3.1.0, 3.x Feb 1, 2017
@migueldiascosta
Copy link
Member

@ocaisa, this PR is being closed for the following reason(s): no activity for > 1 year.
Please don't hesitate to reopen this PR or add a comment if you feel this contribution is still relevant.
For more information on our policy w.r.t. closing PRs, see https://easybuild.readthedocs.io/en/latest/Contributing.html#why-a-pull-request-may-be-closed-by-a-maintainer

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

Successfully merging this pull request may close these issues.

3 participants