|Summary:||math/eigen3: does it really need a GL dependency?|
|Product:||Ports & Packages||Reporter:||Igor Pavlov <igor.arabesc.pavlov>|
|Component:||Individual Port(s)||Assignee:||freebsd-kde (Team) <kde>|
|Severity:||Affects Only Me||CC:||adridg, igor.arabesc.pavlov, iwtcex, portmgr, thierry|
Description Igor Pavlov 2020-12-18 12:53:12 UTC
In the ports r557839 commit the explicit GL dependency has been introduced to the math/eigen3. Is it really required there? It's now impossible to build math/eigen3 port on a headless host without X11.
Comment 1 Thierry Thomas 2020-12-18 18:25:54 UTC
Hello, GL is part of the option FULL. It is set by default, but can be deactivated: just run `make config' in the port directory.
Comment 2 Igor Pavlov 2020-12-18 19:21:30 UTC
Hi, Yep, it works, but it's rather unobvious what the FULL option means and why a lightweight math library consumes mesa-libs. Thanks.
Comment 3 Igor Pavlov 2020-12-18 19:27:15 UTC
Shouldn't the FULL option be implemented as another package with dependencies on eigen3, mesa-libs and so on?
Comment 4 Alex S 2020-12-19 04:17:02 UTC
(In reply to Thierry Thomas from comment #1) There is no reason for a bunch of _header_ files to depend on libGL.so (a shared library). That port's Makefile should either depend on the relevant _header_ files or this "feature" should be dropped altogether.
Comment 5 Alex S 2020-12-19 04:33:43 UTC
(In reply to Alex S from comment #4) Oh, wait. Those are dependencies for the unit tests, which the port doesn't _not_ build. What's the point of this exactly?
Comment 6 Thierry Thomas 2020-12-19 11:36:05 UTC
(In reply to Igor Pavlov from comment #3) Yes, it is possible to have a slave port if needed, either eigen3-lite or eigen3-full.
Comment 7 Alex S 2020-12-29 16:46:06 UTC
(In reply to Alex S from comment #5) > Those are dependencies for the unit tests, which the port doesn't _not_ build. Ahem.
Comment 8 Adriaan de Groot 2021-01-01 22:27:12 UTC
Looking at the code (cloned from gitlab), OpenGL is used in two places: - unsupported/test - demos/opengl The first one is "unsupported" which just means it is not part of the core-community release of Eigen; it's a user contribution. The package isn't even used unless specifically the option EIGEN_TEST_OPENGL is **also** set (defaults OFF). When it is used, um .. as far as I can tell there is one extra test that is built. There is no other change. The second one is a Qt4-based demo; there is no Qt4. Neither of these are reasons to make math/eigen3 depend on OpenGL; one could argue that you want to test everything, but the current setup is not doing that. If finding OpenGL in a dirty build environment is somehow a problem, that should be used as a reason to **possibly** make it a dependency, but a more likely thing to do is to suppress finding it: CMAKE_DISABLE_FIND_PACKAGE is the right thing to do there. **Consumers** of math/eigen3 that can use OpenGL should enable OpenGL in their own ports.
Comment 9 commit-hook 2021-02-20 20:38:51 UTC
A commit references this bug: Author: adridg Date: Sat Feb 20 20:38:25 UTC 2021 New revision: 566187 URL: https://svnweb.freebsd.org/changeset/ports/566187 Log: Update math/eigen3 to latest upstream release Release notes are at https://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.9 One of our patches was for issue 2011, which is resolved upstream, so that can go. The other patch is not needed anymore either. While here, drop the gl (USE=gl) dependency. This turned out to be needed for tests that aren't built anyway. I mini-exp-ran this by test-compiling all the things that showed fallout in the previous Eigen update. Referenced PR is about gl, not about updating Eigen. PR: 251939 Changes: head/math/eigen3/Makefile head/math/eigen3/distinfo head/math/eigen3/files/