Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 579064 - =media-libs/mesa-11.2.0[llvm] should not depend on >=dev-lang/llvm-3.6.0
Summary: =media-libs/mesa-11.2.0[llvm] should not depend on >=dev-lang/llvm-3.6.0
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-05 01:26 UTC by Jan Vesely
Modified: 2017-01-29 07:16 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-libs/mesa-11.2.0: Fixup LLVM dependencies (0001-media-libs-mesa-11.2.0-Fixup-LLVM-dependencies.patch,1.52 KB, patch)
2016-04-12 20:54 UTC, Jan Vesely
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Vesely 2016-04-05 01:26:41 UTC
mesa unnecessarily pulls in >=llvm-3.6:
 (sys-devel/llvm-3.7.1-r1:0/3.7.1::gentoo, ebuild scheduled for merge) pulled in by
    >=sys-devel/llvm-3.6.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] required by (media-libs/mesa-11.2.0:0/0::gentoo, ebuild scheduled for merge)


Reproducible: Always



Expected Results:  
mesa builds fine with lolder llvm

 $ sudo emerge -vat1 mesa
These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild   R   ~] media-libs/mesa-11.2.0::gentoo  USE="classic d3d9 dri3 egl gallium gbm gles1 gles2 llvm nptl opencl osmesa udev vdpau wayland xvmc -bindist -debug -openmax -pax_kernel -pic (-selinux) -vaapi -xa" ABI_X86="32 (64) (-x32)" VIDEO_CARDS="i965 nouveau (-freedreno) -i915 -ilo -intel -r100 -r200 -r300 -r600 -radeon -radeonsi -vmware" 0 KiB


Mesa's correct LLVM dependencies are:
galliumllvm (gallivm, llvmpipe): >=llvm-3.3
OpenCL: >=llvm-3.5
radeon(r600g+OpenCL or r600g+llvm backend, radeonsi): >=llvm-3.6

I have tested that mesa builds and llvmpiip runs fine with llvm-3.5:
$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep pipe
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits)
$ LIBGL_ALWAYS_SOFTWARE=1 glxgears
8443 frames in 5.0 seconds = 1688.528 FPS
Comment 1 Adrian Bassett 2016-04-05 11:04:48 UTC
But see also:

https://bugs.gentoo.org/show_bug.cgi?id=578776 - media-libs/mesa-11.1.2-r1[llvm] fails to (re-)build against llvm-3.7.1-r1
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2016-04-10 21:15:08 UTC
We could relax the llvm dependencies in some cases but I don't see much value in this.

Same was the case with libdrm (different drivers require different minimum libdrm versions) but we decided against it in the end.
Comment 3 Jan Vesely 2016-04-12 03:01:41 UTC
(In reply to Chí-Thanh Christopher Nguyễn from comment #2)
> We could relax the llvm dependencies in some cases but I don't see much
> value in this.

The value is that you can use stable llvm with keyworded mesa, so other packages that require llvm don't get screwed up. llvm has arguably more usecases than libdrm.
Also it's weird to force llvm-3.7 when building intel+llvmpipe that happily work with llvm-3.3.
Comment 4 Jan Vesely 2016-04-12 20:54:28 UTC
Created attachment 430258 [details, diff]
media-libs/mesa-11.2.0: Fixup LLVM dependencies
Comment 5 Matt Turner gentoo-dev 2017-01-29 07:16:00 UTC
current situation:

radv:     llvm-3.9.0
radeonsi: llvm-3.6.0
llvmpipe: llvm-3.3.0

current stable sys-devel/llvm-3.7.1-r3.

The radv/radeonsi llvm versions are handled. I don't see any point in allowing anything older than current stable.

As things move, this could be a problem in the future, but it's not now.