Linux dependency issues

Is there a protocol to follow or nethod or solution for "dependency issue or dependency conflict " when try to install any program or updates something on linux system. ? I have been facing this issue quite a lot during the few years of linux using.
One wrong move, Will land into such a disaster, even basic cmd like pacman fail to work… such as libicuuc.so.74 not found error.

Not too long ago, quite a few people had issues involving libicuuc.so.74
There are a lot of threads and posts about it - look at them.

And/or post the command along with its output if you can’t interpret it yourself.

Please do not open multiple threads on the same issue.

1 Like

dependency errors are :

  • aur package not updated (before update uninstall aur pkg, after, re-install aur pkg)
  • old package removed from manjaro repos (remove orphans and old kernels removed)

EDIT: not remove all aur, read error ! the bad package is in error :wink:

Can u elaborate a bit more of the 2 statements? dont quite understand. U meant any aur packages need to be unstall before execute pacman -Syu? then reinstall back? i guess i hav many aur packages… many… lost count, also dont know which are aur…Any soln? thx

old kernel also need to be removed? i hav several older kernel, never remove them b4. i thought old kernel are good for fall back in case got issue… although i hav not know how and experiencing in fallback situation…
pardon me for typo or capital letter… small screen is already made me typing very difficult already.

not in repos :wink:
ok if is in mhwd-kernel -l


for your error in https://forum.manjaro.org/t/error-libicuuc-so-74-cannot-open-shared-object-flle/164599, it’s another problem (subject): never make a partial update ! it’s the protocol.
a partial update will break things, and in your case, bad luck, you broke pacman.

sorry, not sure what u meant

I purposely post this for the purpose of gathering general info on a guideline or protocol on dependency issue solution. not to mingle with the other specific issue.

Basically you have to do three things with conflicts

1 is the conflicting file still in manjaro repos, Is it in the AUR
2 Uninstall the conflicting file.
3 Perform the update and reinstall the file removed above. (only if it is still needed)

1 Like

The example of your other thread, given by @papajoke , indicates that dependencies were not the issue; the actual issue was that Manjaro had been left in an unsupported state likely self-inflicted; having installed multiple conflicting packages from the AUR; clearly out of habit; or, in other words, you broke it.

You opened the door for these observations by using your other post as an example of dependency issues/conflicts, whereas it was likely your poor management skills that landed you in that situation - the dependency issues were a direct consequence of being in an unsupported state, and that state in turn was brought about by ongoing neglect.

If you are still unclear about what is meant by ‘unsupported state’ please search the forum; you will find multiple references to the term.

I hope this helps explain those comments, in context.

Cheers.

2 Likes

There are actually no dependency issues on a rolling release distro, IF the system is properly maintained and not a lot of external packages are used (ok, mistakes in the packaging happen sometimes, but rarely). In the above example with libicu all the topics you can find indicate bad maintenance.
On the other hand, rolling distros are not beginner/idiot proof and require maintenance. The inability or the lack of interest to understand or maintain linux among the majority of ex-windows users led to the development of the snaps, flatpaks etc, which of course bring many new problems.

2 Likes

so, i was right with understanding of the other comment, any pkg that were installed fr git or aur need to be take noted, uninstalled before do a pacman -Syu… then reinstalled… which render it impossible to use. becos pacman -Syu need to be run very now and then… some aur is so big, takes time to compile…
there is no way to overcome this issue?? i dont want to use flatpak and snap… use .app a bit, still dont really know how to organize it… since the .app file can be place anyway… even directly in download folder… what a mess

I would like to ask a bit abt git clone… the git clone and compile method is also same like aur right? need to dwld source code and compile… and after every system update, those need to be reinstalled.

The confusion is that there are so many many many way in linux that one can install softwares… official depo, aur, git or source code download and compile ( compile can be in golang, can be gcc and etc …headache), .app, snap, flatpak…

You understood that wrong.

pacman -Syu is used to update the system
or pamac or it’s GUI

If you use AUR packages, these will (very often) cease to work after an update - because they depend on system packages that will have changed with the update.

Consequently, they have to be rebuilt.

If you use the GUI to update, make sure you do it without having the AUR enabled at first.

What is left is what is from AUR - yes, it takes time to compile, but there is simply no way around it.

2 Likes

AppImageLauncher will help with that; it integrates the app into the system menu. You can specify a default folder for your appimage files in the configuration. For example, I use ~/.appimages to store any that I use.

sudo pacman -S appimagelauncher

Cheers.

1 Like

my understanding of ur msg is,
using pamac gui to update , i can hav option to not update aur software ( that will hav to include git clone codes) , solely system update apps fr official repo … then when found out some app that are mot fr official repo that failed to work, only the i re install and recompile ( bcos these shld be aur and gitcloned app).

pacman -Syu and pamac cmdline only update official repo, bcos they dont hav aur upgrade feature build in as what pamac hav.

Yes, that is the recomennded way

Still not completely right, but you are getting closer. :grinning:
This approach will work.

1 Like

weird. cant linux being made such way that there can hav multiple version of dependency installed, that let the individual app to decide which version of dependency it want to hang around with??

I hav once struggled to install an app,: it output that the app need such and such dependency which is conflicting withe the dependency that is on my system. but i cant replace the "dependent package "on my system, bcos onr of the exist installed app is whinning if i remove this file that it depend,.it will “jump down the bridge and die” … so at the end i cant install the app which I was intended to install…

That can be done.
Although your image of what it looks like to:

might be slightly misguided.

Arch and Manjaro definitely do not work that way. :man_shrugging:

As I said:

That is the traditional old nonrolling distro approach. It actually gets more complicated with time
that is why the rolling was invented. But it requires more attention to detail, because breaks more easily.