Github messages for voidlinux
 help / color / mirror / Atom feed
* [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection)
@ 2020-05-13  0:57 fosslinux
  2020-05-13 12:53 ` st3r4g
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: fosslinux @ 2020-05-13  0:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 738 bytes --]

New issue by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/issues/21899

Description:
I found this while trying to build `mesa` using `-N`:

```
=> ERROR: Build-time cyclic dependency gobject-introspection(host), cairo(host), mesa(host), ocl-icd(host), ruby(host), pango(host), gobject-introspection(host) detected.
```

The one-off solution I used was to disable `mesa-opencl`, build mesa, rennable and build mesa again, pulling in all of these dependencies and the cyclic dependency satisified.

However I do not think this is a good long-term solution - we should fix this.

We could make a separate ruby package that disables the `pango` gem, which would remove the cyclic dependency.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
@ 2020-05-13 12:53 ` st3r4g
  2020-05-13 12:57 ` st3r4g
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: st3r4g @ 2020-05-13 12:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 569 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-627963151

Comment:
This is not a real build-time cycle, since `ocl-icd` is just a runtime dependency of a `mesa` subpackage. But sadly at the moment `xbps-src` treats build-time and runtime dependencies in the same way (tries to build everything before), so loops like this happen.
That said, removing `ocl-icd` from `mesa-opencl`'s deps doesn't look too wrong imo, because `mesa-opencl` is an implementation and not a program linking to OpenCL.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
  2020-05-13 12:53 ` st3r4g
@ 2020-05-13 12:57 ` st3r4g
  2020-05-14  0:03 ` fosslinux
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: st3r4g @ 2020-05-13 12:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 617 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-627963151

Comment:
This is not a real build-time cycle, since `ocl-icd` is just a runtime dependency of a `mesa` subpackage (doesn't really need to be built before `mesa`). But sadly at the moment `xbps-src` treats build-time and runtime dependencies in the same way (tries to build everything before), so loops like this happen.
That said, removing `ocl-icd` from `mesa-opencl`'s deps doesn't look too wrong imo, because `mesa-opencl` is an implementation and not a program linking to OpenCL.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
  2020-05-13 12:53 ` st3r4g
  2020-05-13 12:57 ` st3r4g
@ 2020-05-14  0:03 ` fosslinux
  2020-05-14  8:29 ` st3r4g
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fosslinux @ 2020-05-14  0:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 395 bytes --]

New comment by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-628308396

Comment:
AFAIK, it depends at runtime on `libclc`  (or used to) and that is now provided by `ocl-icd`. Pinging @q66 who added the dependency and knows more than me about this. But yes, you are right, it shouldn't create a cycle, as it is a runtime dependency.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (2 preceding siblings ...)
  2020-05-14  0:03 ` fosslinux
@ 2020-05-14  8:29 ` st3r4g
  2020-05-14 10:06 ` fosslinux
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: st3r4g @ 2020-05-14  8:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 489 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-628480008

Comment:
> AFAIK, it depends at runtime on `libclc` (or used to) and that is now provided by `ocl-icd`.

Aren't those two completely different things? `libclc` is a different pkg, and still a dependency:
```
mesa-opencl_package() {
        short_desc="Mesa implementation of OpenCL (r600+ only)"
        depends="libclc-git ocl-icd"
        ...
```

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (3 preceding siblings ...)
  2020-05-14  8:29 ` st3r4g
@ 2020-05-14 10:06 ` fosslinux
  2020-05-14 10:33 ` st3r4g
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fosslinux @ 2020-05-14 10:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 383 bytes --]

New comment by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-628533449

Comment:
Oh, whoops I meant `libOpenCL`. See in commit `eb296ea869813430981404352595013718d3cd0c` it was dropped and `ocl-icd` `provides="libOpenCL-1.2_1"` and `eplaces="libOpenCL>=0"`. But I have no idea whether libOpenCL/ocl-icd is truly needed.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (4 preceding siblings ...)
  2020-05-14 10:06 ` fosslinux
@ 2020-05-14 10:33 ` st3r4g
  2020-05-14 10:38 ` st3r4g
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: st3r4g @ 2020-05-14 10:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 489 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-628546506

Comment:
Oh ok, yes it seems `libOpenCL` was renamed to `ocl-icd`, q66 just updated the deps to the new names.
As an equivalent example, `mesa-vulkan-intel` (the API implementation) is not depending on `vulkan-loader` (the loader). Applications using the API pull in the loader, and the user is expected to install the implementation matching its hardware

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (5 preceding siblings ...)
  2020-05-14 10:33 ` st3r4g
@ 2020-05-14 10:38 ` st3r4g
  2020-05-14 22:30 ` fosslinux
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: st3r4g @ 2020-05-14 10:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 550 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-628546506

Comment:
Oh ok, yes it seems `libOpenCL` was renamed to `ocl-icd`, q66 just updated the deps to the new names.
As an equivalent example, `mesa-vulkan-intel` (the API implementation) is not depending on `vulkan-loader` (the loader). Applications using the API pull in the loader, and the user is expected to install the implementation matching its hardware. Making the impl depend on the loader too is superfluous imo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (6 preceding siblings ...)
  2020-05-14 10:38 ` st3r4g
@ 2020-05-14 22:30 ` fosslinux
  2020-05-15  9:16 ` st3r4g
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fosslinux @ 2020-05-14 22:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 322 bytes --]

New comment by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-628919389

Comment:
I am not very knowledgeable about mesa. If I understand correctly, `mesa-opencl` would not work without `ocl-icd` at all? Similarly with `mesa-vulkan-jntel` and `vulkan-loader`?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (7 preceding siblings ...)
  2020-05-14 22:30 ` fosslinux
@ 2020-05-15  9:16 ` st3r4g
  2020-05-16  4:44 ` fosslinux
  2020-05-23  8:43 ` [ISSUE] [CLOSED] " Hoshpak
  10 siblings, 0 replies; 12+ messages in thread
From: st3r4g @ 2020-05-15  9:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-629127980

Comment:
This is not really about mesa specifically.
A user has no reason to install `mesa-opencl` (or any other implementation of an API) alone by itself, unless he wants to do OpenCL development (in this case he should know he needs the loader too). Let's say instead someone wants to use an OpenCL-powered application: he will install that application, which links to the loader, therefore automatically getting the loader as a dependency. The simplest possible example of such an app is `clinfo`. Then you run `clinfo`, which says there are no actual OpenCL implementations in your system. They can't be automatically provided, because we don't know the hardware configuration (or needs of a certain impl) of the user. It is at this point that the user must make a choice: let's say he has an AMD card, so he goes for `mesa-opencl`. Or maybe the soon-to-be-packaged ROCm. Or both. `ocl-icd` is already there, pulled in by the actual application the user is trying to run.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (8 preceding siblings ...)
  2020-05-15  9:16 ` st3r4g
@ 2020-05-16  4:44 ` fosslinux
  2020-05-23  8:43 ` [ISSUE] [CLOSED] " Hoshpak
  10 siblings, 0 replies; 12+ messages in thread
From: fosslinux @ 2020-05-16  4:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 179 bytes --]

New comment by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/issues/21899#issuecomment-629587811

Comment:
I see, thanks for the explanation.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [ISSUE] [CLOSED] Cyclic dependency (notably, mesa, gobject-introspection)
  2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
                   ` (9 preceding siblings ...)
  2020-05-16  4:44 ` fosslinux
@ 2020-05-23  8:43 ` Hoshpak
  10 siblings, 0 replies; 12+ messages in thread
From: Hoshpak @ 2020-05-23  8:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 741 bytes --]

Closed issue by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/issues/21899

Description:
I found this while trying to build `mesa` using `-N`:

```
=> ERROR: Build-time cyclic dependency gobject-introspection(host), cairo(host), mesa(host), ocl-icd(host), ruby(host), pango(host), gobject-introspection(host) detected.
```

The one-off solution I used was to disable `mesa-opencl`, build mesa, rennable and build mesa again, pulling in all of these dependencies and the cyclic dependency satisified.

However I do not think this is a good long-term solution - we should fix this.

We could make a separate ruby package that disables the `pango` gem, which would remove the cyclic dependency.


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-05-23  8:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-13  0:57 [ISSUE] Cyclic dependency (notably, mesa, gobject-introspection) fosslinux
2020-05-13 12:53 ` st3r4g
2020-05-13 12:57 ` st3r4g
2020-05-14  0:03 ` fosslinux
2020-05-14  8:29 ` st3r4g
2020-05-14 10:06 ` fosslinux
2020-05-14 10:33 ` st3r4g
2020-05-14 10:38 ` st3r4g
2020-05-14 22:30 ` fosslinux
2020-05-15  9:16 ` st3r4g
2020-05-16  4:44 ` fosslinux
2020-05-23  8:43 ` [ISSUE] [CLOSED] " Hoshpak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).