[HEADS UP] LLVM r286062 breaks Mesa
If you use llvm-svn with Mesa, particularly for the AMD open source driver, DO NOT upgrade LLVM to version >=r286062. Upgrading will not only break the existing driver, but will also prevent you from building Mesa altogether (in both cases there will be error messages related to missing LLVMAddFunctionAttr).
If you have already upgraded to a version >=r286062, here are some possible solutions:
1. Don't restart X: everything should mostly keep running, since the older shared lib has already been loaded in memory. A fix for Mesa should emerge in the meantime, probably in a day or two at most.
2. Return to an older LLVM version: if you don't regularly clear /var/cache/pacman/pkg, you should be able to find there package versions earlier than r286062.
3. Switch to llvm/mesa from the official repositories. This may be somewhat tricky, depending on what exact packages you had installed. Try replacing as much as possible of the installed llvm-svn/mesa-git packages with their llvm/mesa counterparts. Remove the -svn/-git packages that don't have an equivalent 'provides' in the official repos. Of course, this might break some functionality for you.
I'll also consider keeping older versions of the llvm-svn* packages in the binary repo as a backup.
Ref: https://github.com/llvm-mirror/llvm/commit/4a6fc8bacf11d8066da72cf8481467167877ed16
Search Criteria
Package Details: mesa-git 24.2.0_devel.188655.894f7f43874.d41d8cd-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/mesa-git.git (read-only, click to copy) |
---|---|
Package Base: | mesa-git |
Description: | an open-source implementation of the OpenGL specification, git version |
Upstream URL: | https://www.mesa3d.org |
Keywords: | mesa wayland X11 |
Licenses: | custom |
Conflicts: | libva-mesa-driver, mesa, mesa-libgl, mesa-vdpau, opencl-clover-mesa, opencl-rusticl-mesa, vulkan-intel, vulkan-mesa-layers, vulkan-nouveau, vulkan-radeon, vulkan-swrast, vulkan-virtio |
Provides: | libva-mesa-driver, mesa, mesa-libgl, mesa-vdpau, opencl-clover-mesa, opencl-driver, opencl-rusticl-mesa, opengl-driver, vulkan-driver, vulkan-intel, vulkan-mesa-layers, vulkan-nouveau, vulkan-radeon, vulkan-swrast, vulkan-virtio |
Submitter: | Krejzi |
Maintainer: | rjahanbakhshi (Lone_Wolf) |
Last Packager: | rjahanbakhshi |
Votes: | 179 |
Popularity: | 1.92 |
First Submitted: | 2014-06-19 21:33 (UTC) |
Last Updated: | 2024-05-02 05:24 (UTC) |
Dependencies (51)
- expat (expat-gitAUR)
- gcc-libs (gccrs-libs-gitAUR, gcc11-libsAUR, gcc-libs-gitAUR, gcc-libs-snapshotAUR)
- glibc (glibc-gitAUR, glibc-linux4AUR, glibc-eacAUR, glibc-eac-binAUR)
- libdrm (libdrm-gitAUR)
- libelf (elfutils-gitAUR)
- libglvnd (libglvnd-gitAUR)
- libomxil-bellagio
- libunwind (libunwind-carbonAUR, libunwind-gitAUR)
- libx11 (libx11-gitAUR)
- libxcb (libxcb-gitAUR)
- libxdamage
- libxext (libxext-gitAUR)
- libxfixes
- libxshmfence
- libxxf86vm
- llvm-libs (llvm-libs-rocm-gitAUR, llvm-libs-gitAUR)
- lm_sensors (lm_sensors-gitAUR)
- python (python37AUR, python311AUR, python310AUR)
- systemd-libs (systemd-libs-gitAUR, systemd-libs-selinuxAUR, systemd-chromiumos-libsAUR, systemd-libs-fmlAUR)
- vulkan-icd-loader (vulkan-icd-loader-gitAUR)
- Show 31 more dependencies...
Required by (1242)
- 0ad-data-git (requires mesa) (make)
- 0ad-git (requires mesa) (make)
- abuse (requires mesa) (make)
- actionfps-client (requires mesa)
- actionfps-client (requires mesa) (make)
- actionfps-common (requires mesa) (make)
- actionfps-server (requires mesa) (make)
- adom-noteye (requires mesa)
- aegisub-git (requires mesa) (make)
- aegisub-japan7-git (requires mesa) (make)
- aegisub-ttools-meson-git (requires mesa) (make)
- aegisub-wangqr-git (requires mesa) (make)
- agisoft-metashape (requires opencl-clover-mesa) (optional)
- agisoft-metashape (requires opencl-rusticl-mesa) (optional)
- agisoft-metashape-pro (requires opencl-clover-mesa) (optional)
- agisoft-metashape-pro (requires opencl-rusticl-mesa) (optional)
- aio-remote-neo (requires mesa)
- airshipper (requires vulkan-driver) (optional)
- alchemy-next-viewer-bin (requires mesa)
- alchemy-next-viewer-bin (requires mesa-libgl) (optional)
- Show 1222 more...
Sources (6)
Latest Comments
« First ‹ Previous 1 .. 68 69 70 71 72 73 74 75 76 77 78 .. 126 Next › Last »
kerberizer commented on 2016-11-07 14:47 (UTC)
SolarAquarion commented on 2016-11-01 01:33 (UTC)
:: blur-effect: installing mesa-libgl-git (13.1.0_devel.86161.1b88760-1) breaks dependency 'libegl'
:: blur-effect: installing mesa-libgl-git (13.1.0_devel.86161.1b88760-1) breaks dependency 'libgles'
@lone_wolf
Lone_Wolf commented on 2016-10-23 15:00 (UTC)
@all : upstream changed naming of some files, this caused a build error.
PKGBUILD now moves the correct files again.
@gentoofu :
commenting that line out would have solved the build error,but also break intel vulkan support.
LizziAS commented on 2016-10-23 00:34 (UTC)
Starting package_mesa-vulkan-intel-git()...
'/tmp/yaourt-tmp-lizzias/aur-mesa-git/src/fakeinstall/usr/lib/libvulkan_intel.so' -> '/tmp/yaourt-tmp-lizzias/aur-mesa-git/pkg/mesa-vulkan-intel-git/usr/lib/libvulkan_intel.so'
'/tmp/yaourt-tmp-lizzias/aur-mesa-git/src/fakeinstall/usr/include/vulkan/vulkan_intel.h' -> '/tmp/yaourt-tmp-lizzias/aur-mesa-git/pkg/mesa-vulkan-intel-git/usr/include/vulkan/vulkan_intel.h'
mv: cannot stat '/tmp/yaourt-tmp-lizzias/aur-mesa-git/src/fakeinstall/usr/share/vulkan/icd.d/intel_icd.json': No such file or directory
==> ERROR: A failure occurred in package_mesa-vulkan-intel-git().
Aborting...
==> ERROR: Makepkg was unable to build mesa-git.
==> Restart building mesa-git ? [y/N]
gentoofu commented on 2016-10-22 00:13 (UTC)
For mesa-vulkan-intel-git-13.1.0_devel.85935.8ff4182-1,
commenting the following line in PKGBUILD should resolve the issue:
mv -v ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/intel_icd.json ${pkgdir}/usr/share/vulkan/icd.d
omni commented on 2016-10-13 15:04 (UTC)
thank you for your time and the link, mesa-git is working again.
Installing lib32-lm_sensors solved it.
Lone_Wolf commented on 2016-10-12 20:51 (UTC)
There are several differences between AUR mesa-git and Lordheavy's [mesa-git] repo, see https://bbs.archlinux.org/viewtopic.php?id=212819
the most common reason for glxinfo / glxinfo32 failing :
mesa was build against a llvm version that is no no longer installed.
One way this can occur is if mesa-git/llvm-svn are updated but their lib32 counterparts aren't (reverse is also true).
omni commented on 2016-10-12 17:36 (UTC)
rolled back to non git. i think the devs will fix this soon, retry it in a couple of days...
smirky commented on 2016-10-12 17:29 (UTC)
Never mind, I actually rebuilt it myself, without doing modifications, installed all the packages and now it works just fine. Honestly, I don't see why my build works and the [mesa-git] doesn't, but at least I got it working. I guess [mesa-git] has nothing to do with this package?
smirky commented on 2016-10-12 15:51 (UTC)
OK, so I have this:
0 « smirky » ~ » glxinfo32
name of display: :0
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: GLXBadContext
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 55
Current serial number in output stream: 54
What now? I proved that one of that the glxinfo tools cannot work with mesa-git (lib32?)
1 « smirky » ~ » pacman -Q|grep mesa
lib32-mesa-demos 8.3.0-2
lib32-mesa-git 85559.cfbf956-1
lib32-mesa-libgl-git 85559.cfbf956-1
mesa-demos 8.3.0-2
mesa-git 85559.cfbf956-1
mesa-libgl-git 85559.cfbf956-1
opencl-mesa-git 85559.cfbf956-1
I'm using the "amdgpu" driver.
Pinned Comments
Lone_Wolf commented on 2024-04-03 16:59 (UTC)
To those with the directx errors : archlinux directx-headers pacakgae is 2 releases behind upstream. Try building against aur directx-headers-git .
I don't remember what d3d12 does, but offical mesa also supports it.
@ZephyrCheez : thanks, that option lead to meson subprojects and mesa sourcetree does appear to include the data needed to use them. Adding nouveau vulkan looks doable now, no idea when there will be time to implement it.
Lone_Wolf commented on 2024-02-20 00:09 (UTC) (edited on 2024-02-20 00:11 (UTC) by Lone_Wolf)
@Beiruty, those have the same cause as the other recent build failures : changes in intel drivers.
The build issues caused by changes in intel drivers are now solved for MESA_WHICH_LLVM 1, 3 and 4 (llvm-minimal-git , llvm from lordheavy unofficial repo and offical repo llvm )
MESA_WHICH_LLVM 2 (aur llvm-git) build is still broken, but I MAY have a solution for that without having to create new packages.
The good news is that once all 4 variants built again, only minor changes should be needed to add opencl clover & opencl rusticl support.
(A lot of the work required to built the intel drivers is also useful for clover & rusticl)
Lone_Wolf commented on 2020-04-23 12:26 (UTC) (edited on 2023-03-30 07:04 (UTC) by Lone_Wolf)
Mesa and llvm are closely tied together. Everytime the llvm mesa is built against changes/updates , mesa needs to be rebuilt.
I expect anyone building mesa-git against one of the llvm trunk variants to be able to do that themselves, but atleast some of the people that built against repo llvm don't understand how to deal with such a rebuild.
The rest of this post is meant for those people.
Option A - best one
see https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot for the official way or https://aur.archlinux.org/packages/clean-chroot-manager for an alternative method.
Option B - 2nd best
Lone_Wolf commented on 2019-07-09 13:43 (UTC) (edited on 2023-04-18 10:41 (UTC) by Lone_Wolf)
WARNING : aur helpers don't support this method at all. They check .SRCINFO and that doesn't include this variable so it will use the default which is hardcoded to build against repo llvm.
Why would I want to use llvm development versions ?
Lone_Wolf commented on 2018-01-30 14:06 (UTC) (edited on 2023-02-12 11:56 (UTC) by Lone_Wolf)
run pacman Syu update non-repo packages for llvm if you use them
build mesa-git, log out , update mesa-git and restart X .
run
glxinfo -B
to verify basic OpenGL functionalitybuild lib32-mesa-git
run
glxinfo32 -B
to verify basic OpenGL functionality for multilib programs