this post was submitted on 21 Feb 2024
71 points (92.8% liked)
Linux
48328 readers
730 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've always suspected that Manjaro detractors might be mostly Linux beginners who do stupid stuff then give up at the first sign of trouble.
You're not exactly doing your best to change my mind.
The AUR is intended to be used with the official Arch repos; Manjaro repos are often weeks or sometimes even up to a month behind. Even the Manjaro devs put a warning for this reason.
So what if they're behind. AUR packages have dependency requirements too. They won't install if dependencies are not met. Unless you force it — but that wouldn't be their fault.
So how can an AUR package break something if it's not installed?
It's called a -bin AUR package being complied against the latest dependencies, but when run it finds an old version that makes the program in question have undefined behavior.
Not even single AUR package has
>=
requirements defined properly in the PKGBUILD, it's just the nature of the AUR.There's all kinds of bugs that can & do occur when a package expects one thing, but finds another. It's really just that simple.
Not only that, the Manjaro base packages often aren't even built with the same flags as the Arch base packages; which is probably what happened here.
I've even had to create special patching mechanisms myself do to flag incompatibilities in base packages.
If an installed AUR package breaks due to distro binary package shift, you rebuild it and that's it.
If it's an AUR package that downloads a binary, those binaries are typically made to work on a wide variety of environments.
"What if the package has incorrect dependencies" — seriously, that's your argument?
Well it would have been a crappy package anyway, no? It will break sooner or later, on Arch or Manjaro or any distro. You rebuild it and move on.
Not going to work if the flags of the base packages are incompatible. You'd have to recompile the base package too.
For example, I literally had to create a special patching mechanism because the qt package base has an incompatible flag making a qt-6 calamaris build spit out a fucked up package that wouldn't launch.
And that's the best case scenario, it can go a lot worse then a failed build or failed launch.
No. Not incorrect depends, incorrect or undefined versioning of those depends. Version requirements is not properly enforced in the AUR unlike the official/Manjaro repos.
Also you're way more likely to get breakage using older packages because most things are forward compatible, not backwards.
I've written and adopted quite a large number of AUR packages at this point and read a shit load more. They're often a lot more crappy than you realize; they're community written, and I'm dead serious when I say there's a lot of people who don't fully read the guidelines or read them once 10y ago.
Anyone can whip up a PKGBUILD a in matter of minutes and get it onto the AUR. The only thing that matters is that the package compiles and works on Arch, any other distro that's not using the official repos is an unsupported case, full stop.
Nobody who's writing AUR packages wants to put in extra work to support the special edge cases of Manjaro. That's just how it is.
But nobody checks that the package "compiles and works on Arch". It's not a prerequisite for putting things on AUR. The fact is that any AUR package, on any distro including Arch, may be just plain broken at any given time.
Even if the maintainer has successfuly built and ran the package it may be due to a particular circumstance specific to their system. There's no guarantee that they did it on a reference Arch system. There's no guarantee they did it on Arch. There's no guarantee they did it at all. Even if they did, any similarity to your current system may be purely coincidental.
Running a non-Arch distro may increase the odds of something going wrong. But maybe it decreases them. Short of testing all 87k AUR packages how can you tell? You've run into trouble with one package. I haven't run into trouble with 75 packages. If my experience is not statistically significant than how's yours, at one less order of magnitude?
Don't you think it's disingenuous to present this as if it were a constant, pressing issue with Manjaro?
I've actually never run into any issues on Arch. ◉‿◉
Like I said, I read the PKGBUILDS.
Everything single one I've ever installed, which is several hundred.
No amount of reading PKGBUILDs is going to save you from that one package that's incompatible with Manjaro package base flags and configuration. It's just not something immediately apparent.
Infact, the only AUR related thing I've ever had problems with is pamac. Why? Well, clearly it's not meant for Arch; no amount of recompiling pamac made it work any better.
Also, you kinda need an Arch derivative at the least to sign up to the AUR because of the ever changing verification they have. There's literally a command that you have to run that spits out the correct answer only if you're using Arch or a derivative.
What's funny is Manjaro is the only derivate that often fails the check because of the packages being behind.
First of all generalizing about this is totally wrong, depending on what software/libraries a program depends on for build makes a huge difference. If it is good old C that is backwards compatible (hence the size of glibc) it will work all the time. Show me one debian or arch official package that is written in C and says for glibc >=2.35
On other software proposing a library to be >=ver-xxx means the packager speculates that future editions will NOT break the build.
@Rustmilian @lemmyvore
No shit Sherlock.
>=
means forward compatible, not backwards. Manjaro has older packages, not newer, e.g.lessthan=
notgreaterthan=
. If the package says glibc (greaterthan)>=2.35 and Manjaro has glibc<=2.32 it's 1. not going to install because the versioning requirements are properly defined in that case and 2. if it wasn't properly defined you'd either get a failed or junk build which is my entire point.>=
is put there for cases where older versions than what is defined DO break the build.For example Glibc needs linux-api-headers>=4.10 , what do you think happens if Manjaro only has linux-api-headers<=4.9?
That's right, it doesn't install because Manjaro's outdated package doesn't meet minimum requirements.
Now think what happens if Glibc needs linux-api-headers>=4.10 but it isn't properly defined as such in the PKGBUILD/.PKGINFO as what happens with a crap ton of AUR packages, but again Manjaro only has linux-api-headers<=4.9?
It installs it despite Manjaro not meeting minimum requirements which in turn causes undefined bad behavior; this is why proper dep versioning is strictly enforced in the official/Manjaro repos; this is where the AUR is different, proper dep versioning is an after thought & it's assumed you'll always have the latest Arch packages.
If the AUR package is being compiled against a lesser version then it's minimum requirements you'd either get a failed build, or a broken junk build that'll install and potentially cause damage.
You're thinking it's about the forward compatibility, when actually it's the opposite, it's about the backwards compatibility.
Does that make sense now?
Have you made a single AUR pkg, or are you just criticizing thousands for their work without any evidence from your armchair?
@Rustmilian
calamaris and a bunch more.
At one point I was maintaining a large number of KDE git packages before I passed them off to others too.
here are the ones I'm currently maintaining, some of which I've written from scratch; including the previously mentioned calamaris package which if you look is very nonstandard and even makes great use of
>=
.I'm not even criticizing anyone, I'm just telling you straight and as bluntly as possible how the AUR works.
There's no guideline that say you have to provide proper dependency versioning. That's just not something that's enforced in the AUR.
I've said it before and I'll say it again :
Not the original commentor, but I wanted to share my experience.
I've been daily driving Linux for over a decade now, about 6 months of that was with Manjaro. I have never had a worse experience with a distro than I did with Manjaro, period. I tried it off a recommendation, and figured my initial issues were just flukes, but I couldn't keep coming back to a broken system, so I switched distros. I've used Ubuntu, Debian, Linux Mint, Manjaro, Void Linux, Gentoo, Kali Linux, EndeavorOS, base Arch, Alpine, and my current favorite is Fedora Workstation (though I'll switch to Kinoite/Fedora Atomic KDE when Fedora 40 releases). I have never had a distro break itself like I experienced with Manjaro, and it was consistently breaking. My experience is not unique; many users have the same issues, and that is constantly echoed in this community. I had 8 years of Linux experience under my belt entering Manjaro, so experience has nothing to do with it. Plus, the issues I experienced were never the result of my actions; Manjaro broke itself. Configs I have never touched in my life were broken.
My suggestion to anyone who wants a better user experience with Arch and doesn't want to set it up themselves is EndeavorOS. That's a distro that's capable of keeping its shit together. If you want to stick your head in the sand and deny the problems everyone else has with Manjaro, I can't change your mind, and it isn't worth my time to try. Just wanted to come in and clarify that it has nothing to do with experience. That's just Manjaro, and it isn't just an Arch thing, either. I spent about 2 years with Arch-based distros and never had the issues I did with Manjaro. It's been 3 or 4 years since I last tried it, but everything I've heard has indicated that no improvement has been made in the entire system being broken occasionally department.
How is it "sticking my head in the sand" if I'm daily driving Manjaro and I'm seeing none of the problems you claim to exist?
In fact I am hard pressed to understand how you could break it. The claim it "breaks itself" is nonsense. I have completely non-tech savvy users using Manjaro without any issues.
How did yours break?
If it's a legit, common issue that can hit unsuspecting users I will STFU. But so far whenever I ask this I just get vague hand-waving. I think you understand why I'm having a hard time accepting urban myths versus my own concrete experience.
I'm going to clarify that I never used AUR while on Manjaro, as that's an important distinction that is often a cause for issues. The most notable issues I remember having were that my grub config changed after an update, and my boot entries were removed. I had to boot manually through the grub command line, then manually fix the grub config. The second was a combination of issues that likely stemmed from a single cause, but I didn't care enough to fix it because it was just the last straw. My system went from working perfectly fine one day, to being a laggy disaster the next. Programs took excessively long to open, battery drain rapidly increased, and performance was horrible. Seemed like a really bad memory leak, and rebooting didn't fix it, so I just installed base Arch which I had already prepared a flash drive for anyway. The timing couldn't have been better honestly, it was like a going away present. Other than that, I remember having driver issues multiple times, occasional crashes that (usually) went away after a reboot or update, but not much specific past that. It's been a few years, so I only remember a handful of experiences. I've never had a distro crash more often than Manjaro.
There are probably going to be bandwagoners who join in to hate on Manjaro, and most of them definitely won't have anything constructive to say, but that happens with everything. Then you have people like me who used it years ago and can only remember a handful of experiences, and some who can't remember anything useful at all, just remembering being frustrated.
Edit: not worth my time. Blocked them.
Ohoh! Let me try!!
I've always suspected that Manjaro users might be mostly Linux beginners who installed the distro because a YouTube influencer said to do so because they wanted to play Steam.
Seriously, I used Ubuntu, Mint, Fedora, Arch, CrunchBang, and Manjaro as daily runners (just to name a few.) Manjaro was a headache that broke so often, the devs had threads about breakage on the official forums for stable fucking upgrades. If you want to talk about Linux beginners, start by talking about their dev team. Fedora Core 2 was a more stable experience.
Do I have it out for Manjaro? You bet my ass I do. It's a horrible distro that takes a great distro and adds shit you don't need. It freezes Arch updates that you need and should use. Its GPU driver utility is a garbage collection of scripts that don't work half the time.
I got sick of having to troubleshoot breakage and complete fresh installs every time the devs screwed up. It's not stable nor is it bleeding edge.
Want bleeding edge? Use Arch. Manjaro is too many steps behind. Want stability? Use Ubuntu or Fedora. Rock solid experience even if you want to change DEs or DMs. Want to take a gamble on every update? Manjaro and Mint are ready to ruin your day! At least the Mint devs know they are just Ubuntu with codecs and a shitty DE.
Manjaro, I get it. But Mint is excellent if you want a stable Ubuntu experience without Ubuntu Pro ads in the fucking terminal and a slow as shit proprietary package manager, integrated right into your system package manager.
Oh I see, Mint was out to get you too.
Just spitballing here but what if you're incompatible with distros that start with an M?