 Mom, cancel all my meetings. Looks like Arch Linux broke once again. Look at this, okay? I'm pressing my binding to open my email client and it's just automatically quitting. This is terrible, things are broken. I cannot wait to go to the Ubuntu forums and talk about how stupid and hipster Arch Linux users are. Okay, here's what's happening. I run NeoMut, which is my mail client and I get this error, okay? I just updated my computer. It looks like something broke, okay? Error while loading shared libraries, lib, lua, blah, blah, blah, cannot open shared object file, okay? What is going on? In this video, we're going to learn how to downgrade packages, but also we're gonna realize when it's not really appropriate to downgrade packages and there's something else going on, okay? I had to wait a long time to do this video because Arch doesn't actually break that often. Technically, I'm using Artix as we all know because we don't use Soyston B anymore on this channel. Now it's a meme, but anyway, so let's go ahead and fix this problem. So we see that NeoMut is looking for lib, lua, 5.6, 5.3, can't read. Now if we run, if we look at what version of lua we are actually running, we will see that we have 5.4. We actually have 5.2 installed for some reason, but we have lua 5.4. So what has happened is that we have updated our system from, we probably had 5.3 before, now we have 5.4, but NeoMut is still looking for 5.3, okay? Now, the usual way that you're told, and this works, I'm gonna teach you how to do this, but the usual thing you're told to do is, oh, well, we need to downgrade. The packages have not, NeoMut has not updated with the other packages, so we have to fix something. We'll just downgrade the other one until possible, until there's a fix in NeoMut. Okay, so what that means is, here's the deal. So if you look in a var, I always forget which one it is, var, da-da-da, which looks all right, catch, and then pacman, yeah, pacman pkg. If you look in this directory, this actually lists out all of the programs that you have installed, I mean not that you currently have installed, but historically that you've had installed, provided you haven't cleaned out your cache. So let's say there's YouTube DL, we have the most recent version, and we have previous versions as well. So in this directory, we can actually look for previous versions of Lua, okay? So we see Lua 5.4, that's the one that we have installed currently, but we also see Lua 5.3, actually several versions of it. So what we can do, we can take Lua 5.3, okay? And what we can do is we can run sudo pacman u, capital U on this file, and what that will do is it will downgrade our package from Lua 5.4, which we have currently installed, down to this previous instance of 5.3. So I'm gonna run that, and now if I run NeoMut, what you're actually gonna see is that my mails come up, okay, perfect. So now I can actually see my mails, now everything is working as anticipated, okay? Now, but the issue here is, if I run some kind of update command again, okay, with sudo of course, it is actually just gonna undo that downgrade, okay? So usually what you wanna do if you wanna downgrade to be persistent is you go into etsy pacman conf, and then here you have this little option in ignore pkg, you can add in, oops, you can add in different packages that you just do not wanna update it. I actually already have transmission CLI not updated, that was for something else, I forget, like some package I used that's not compatible with it. So I've added Lua to this list, so what that means is now if I try and update, okay, it's actually gonna say, oh, we can update Lua, but we're gonna ignore it because you've told us not to. So basically you can do that, you can downgrade your package, make sure it does not update, and then you can just go on living, doing your normal thing, and maybe once they put up a new update, you can un-blacklist it and actually get the new version or something like that. But in this case, I'm gonna tell you, although this works as a fix, this is actually not the best solution, okay? In our particular case, and that is NeoMut, I actually have installed, I actually have NeoMut Git, and this is actually not part of the main arch repositories. This is not really, this error was not actually a breakage in Arch or Artyx. It's breakage with an AUR package because what happened is a lot of AUR packages like NeoMut Git, it actually is compiled when you download it, okay? So it's not a binary package. So what that means is NeoMut, when I installed this, well basically the real way to fix this problem is not, well let me actually, did I take that off? So let's actually update to our proper Lua package, okay? The real way to fix this is not actually to downgrade Lua, it's actually to recompile NeoMut, okay? Because what is happening now, okay? As I said, if we have this updated to, Lua updated to 5.4, you're getting this error. That is because NeoMut, when we compiled it, it was told, okay, look for Lua 5.3. So all you have to do to fix that, really is to recompile NeoMut. So that is what we're gonna do. And this is gonna take a second, but I'm gonna do it. Yeah, sure. And I'm gonna say yes, yes, yes, yes. Maybe it won't take a second. Well, we'll see, I might have to pause the video because I think, well we'll just see. Actually, I think I made a little error there. You wanna say clean build here, or I think in this case, I ran it before and it didn't work, but you wanna make sure that is clean built, proceed with installation, so that means you're gonna do the recompiling and stuff like that. So this will take a second, and once it's done, well yeah, I'll turn the video back on. All right, that's done. I don't actually think you need to clean build every package, but I think you do with this one. So now NeoMut, okay, so that works. Now everything is updated. I should say as well, in my specific case, I think for this program NeoMut, I wanna say there are a couple, yeah, so there's NeoMut in the community repositories, but I had NeoMut get from the AUR installed. This problem would not have happened if I was using the community NeoMut. I don't exactly, I forget exactly why I'm using the AUR build, usually I'm not, but so another valid response to this could have just been oh, I'm just gonna install standard NeoMut and leave it at that. Of course you have to remove NeoMut get. So anyway, that's a good, so that's what's going on. If you have any kind of package issues, you can usually downgrade, but a lot of the times, well probably most of the time, if you have some kind of apparent package error, it might be that some other package that's not actually managed by Pac-Man is having some kind of issue, and that's usually an AUR package or something you've installed manually. Either way, so that's I guess about it, so unfortunately this should deprive you of the ability to go complain about it on new Buntu forms, but that's how you deal with packages on Arch Linux. See you guys next time.