Skip to content

{lib}[GCCcore/11.2.0] libwpe v1.13.3#16088

Merged
boegel merged 2 commits intoeasybuilders:developfrom
sassy-crick:20220823110147_new_pr_libwpe1133
Oct 21, 2022
Merged

{lib}[GCCcore/11.2.0] libwpe v1.13.3#16088
boegel merged 2 commits intoeasybuilders:developfrom
sassy-crick:20220823110147_new_pr_libwpe1133

Conversation

@sassy-crick
Copy link
Copy Markdown
Collaborator

(created using eb --new-pr)

@zao
Copy link
Copy Markdown
Contributor

zao commented Sep 21, 2022

Test report by @zao
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
eb-u2204 - Linux Ubuntu 22.04, x86_64, AMD Ryzen 9 3900X 12-Core Processor, Python 3.10.4
See https://gist.github.com/78632c29a415a81a91ef8ceecde039d0 for a full test report.

]

dependencies = [
('glew', '2.2.0', '-egl'),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@sassy-crick Tests aren't happy since we're already using the osmesa variants as a dependency elsewhere...

Maybe @Micket or @bartoldeman can pitch in here w.r.t. the difference between the osmesa and egl variants of glew?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Well, they are different graphics interfaces. osmesa is off-screen-mesa (headless rendering, CPU only, something Mesa invented themselves and has been around for a long time). EGL is standard, used by e.g. Wayland. I've used to to achieve off-screen (and on-screen) rendering with both GPU and CPU, so, i think that's the future we want to head towards, and let OSMesa die.

Unfortunately, glew requires you to pick a backend upfront. If you have it installed on your desktop, it's almost certainly using GLX (on-screen GPU (or CPU) rendering only).
I suppose we could consider renaming libs and binaries "glewinfo_egl" and "libglewegl" or something nonstandard, which seems to be what MuJoCo does actually

# MuJoCo bundles 3 variants of glew using non-standard sonames:
# - libglew with GLX
# - libglewegl with EGL
# - libglewosmesa with OSMESA
# Softare depending on MuJoCo expect these non-standard sonames, so they should not be removed
# - libglew and libglewegl seem to work with Mesa and X11 in this toolchain
# - libglewosmesa has to be replaced as it links to an old libOSMesa

It's all pretty unfortunate, this is one thing where you'd really like all software to be able to select the "backend" at runtime, but no, they have to be specially built for one use only.
In a glorious future, i think EGL could really just replace everything. It's only downside I've seen in my experience is that it typically expects you to specify which GPU you wish to render on (making it impossible to select llvmpipe, since this (valid) option just isn't exposed). I'm also not 100% sure what happens with on-screen GUI applications over VNC with EGL (I haven't tested our Wayland packages at all..)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@Micket Thanks a lot for the detailed info!

So, how do you suggest we proceed here?
Should we add an exception to the test suite to allow for 2 variants of glew being used as a dependency in this easyconfigs generation?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

yes, an exception seems fine here. Even if we could make a bunch of nonstandard libs via libglewegl, libglewosmesa, the symbols will conflict, so while modules could coexist, any libraries using these must all link to the same variant.

The only other solution is if libglew could be rewritten so support all 3 in one build.. but that's a big ask.
So, exception is the only option i think.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Thanks both for the very detailed information. These were things I did not know about it.
With the exception: is there a chance we might shoot ourselves into the foot at one point as two different programs require different versions of glew, i.e. the EGL and OSMESA one?
What I want to avoid is that in a few months we realise: that was maybe not the best way forward.
Personally, I rather have a sound solution in place, even though that might be painful to implement, than having to do constant workarounds.
Maybe something to discuss at the next EasyBuild meeting?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@sassy-crick Let's deal with that when we actually have a case like that...

@boegel boegel added the new label Sep 23, 2022
@boegel boegel added this to the 4.x milestone Sep 23, 2022
@boegel
Copy link
Copy Markdown
Member

boegel commented Oct 20, 2022

@boegelbot please test @ generoso

@boegel
Copy link
Copy Markdown
Member

boegel commented Oct 20, 2022

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3116.skitty.os - Linux RHEL 8.4, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (skylake_avx512), Python 3.6.8
See https://gist.github.com/7a2c9a0268c926ea41059f41218eed38 for a full test report.

@boegelbot
Copy link
Copy Markdown
Collaborator

@boegel: Request for testing this PR well received on login1

PR test command 'EB_PR=16088 EB_ARGS= /opt/software/slurm/bin/sbatch --job-name test_PR_16088 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9334

Test results coming soon (I hope)...

Details

- notification for comment with ID 1285836454 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@easybuilders easybuilders deleted a comment from boegelbot Oct 20, 2022
@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
cns8 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/8793c9252cf5ba5336f664921e9d09fd for a full test report.

@boegel boegel force-pushed the 20220823110147_new_pr_libwpe1133 branch from caf9222 to a51907e Compare October 20, 2022 16:39
@boegel boegel force-pushed the 20220823110147_new_pr_libwpe1133 branch from a51907e to d184b5d Compare October 20, 2022 17:36
@easybuilders easybuilders deleted a comment from boegelbot Oct 20, 2022
@boegel boegel modified the milestones: 4.x, release after 4.6.2 Oct 21, 2022
@boegel
Copy link
Copy Markdown
Member

boegel commented Oct 21, 2022

Going in, thanks @sassy-crick!

@boegel boegel merged commit 900e1c5 into easybuilders:develop Oct 21, 2022
@sassy-crick sassy-crick deleted the 20220823110147_new_pr_libwpe1133 branch October 24, 2022 08:57
@jfgrimm
Copy link
Copy Markdown
Member

jfgrimm commented Dec 22, 2022

Test report by @jfgrimm
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in total)
node064.pri.viking.alces.network - Linux CentOS Linux 7.9.2009, x86_64, Intel(R) Xeon(R) Gold 6138 CPU @ 2.00GHz (skylake_avx512), Python 3.6.8
See https://gist.github.com/8414bcfd36bceb69e8c46967984cd843 for a full test report.

@sassy-crick
Copy link
Copy Markdown
Collaborator Author

That is odd. It looks like the problem is within malloc. Would it help to explicitly add jemalloc ?
It build on Debian Bullseye and Rocky-8 (container) and other test systems.

@jfgrimm
Copy link
Copy Markdown
Member

jfgrimm commented Dec 29, 2022

@sassy-crick fixed in #17001

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants