- Index
- » Newbie Corner
- » [SOLVED] error: target not found: from multilib applications
Pages: 1
#1 2017-04-29 15:54:30
- rafael.lima
- Member
- Registered: 2017-04-29
- Posts: 3
[SOLVED] error: target not found: from multilib applications
I’m trying to install smlnj package but I’m getting this error message:
resolving dependencies…
warning: cannot resolve «lib32-glibc», a dependency of «smlnj»
:: The following package cannot be upgraded due to unresolvable dependencies:
smlnj:: Do you want to skip the above package for this upgrade? [y/N]
error: failed to prepare transaction (could not satisfy dependencies)
:: smlnj: requires lib32-glibc
Then I tried to install lib32-glibc:
error: target not found: lib32-glibc
Searching in the forums I figured that I needed to enable multilib. After enabling in it pacman.conf I’ve upgraded pacman with pacman -Syyu but I still receiving the same error message.
sudo pacman -Syyu
:: Synchronizing package databases…
core 124.8 KiB 93.1K/s 00:01 [####################################################] 100%
extra 1703.4 KiB 926K/s 00:02 [####################################################] 100%
community 3.8 MiB 146K/s 00:27 [####################################################] 100%
archlinuxfr 14.9 KiB 49.8K/s 00:00 [####################################################] 100%
:: Starting full system upgrade…
there is nothing to do
sudo pacman -S lib32-glibc
error: target not found: lib32-glibc
Waiting for your suggestions. Thanks!
Last edited by rafael.lima (2017-05-02 23:56:34)
#2 2017-04-29 15:57:07
- V1del
- Forum Moderator
- Registered: 2012-10-16
- Posts: 18,295
Re: [SOLVED] error: target not found: from multilib applications
Doesn’t look like you have enabled multilib, have you uncommented both lines? Post your pacman.conf. And do yourself a favor and get rid of archlinuxfr it contains outdated and broken packages.
#3 2017-04-29 16:03:22
- Lone_Wolf
- Member
- From: Netherlands, Europe
- Registered: 2005-10-04
- Posts: 10,652
Re: [SOLVED] error: target not found: from multilib applications
sudo pacman -Syyu
:: Synchronizing package databases...
core 124.8 KiB 93.1K/s 00:01 [####################################################] 100%
extra 1703.4 KiB 926K/s 00:02 [####################################################] 100%
community 3.8 MiB 146K/s 00:27 [####################################################] 100%
archlinuxfr 14.9 KiB 49.8K/s 00:00 [####################################################] 100%
:: Starting full system upgrade...
there is nothing to do
Use code-tags , not quote-tags for such texts .
something went wrong with editing your /etc/pacman.conf , please post it.
P.S.
please remove the archlinuxfr repo, atleast until you have found a very good reason to use it.
If you used it to get yaourt, i suggest removing yaourt until you are able to build yaourt yourself.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
#4 2017-04-29 16:14:10
- rafael.lima
- Member
- Registered: 2017-04-29
- Posts: 3
Re: [SOLVED] error: target not found: from multilib applications
Thanks for the reply! That’s my pacman.conf
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
#[testing]
#Include = /etc/pacman.d/mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
#[multilib-testing]
Include = /etc/pacman.d/mirrorlist
#[multilib]
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
[archlinuxfr]
SigLevel= Never
Server = [url]http://repo.archlinux.fr/$arch[/url]
I didn’t know that using yaourt that way is not a good idea. Will remove that from the config files.
Any suggestions on how to build yaourt?
Thanks!
modedit: changed quote tags to code tags /Xyne
Last edited by Xyne (2017-04-29 19:04:04)
#5 2017-04-29 16:19:51
- LaurentvdB
- Member
- Registered: 2017-04-24
- Posts: 32
Re: [SOLVED] error: target not found: from multilib applications
These lines are not good:
#[multilib-testing]
Include = /etc/pacman.d/mirrorlist
#[multilib]
Include = /etc/pacman.d/mirrorlist
You also have to uncomment the [multilib-testing] and [multilib] line, i.e.
[multilib-testing]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
NB: it is documented in the file itself:
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
Why do you (want to) enable multilib-testing? Only if you want to test packages it is a good idea to enable testing.
The archlinuxfr repo can also be disable in this file by commenting (or deleting) the last 3 lines.
#6 2017-04-29 16:20:40
- V1del
- Forum Moderator
- Registered: 2012-10-16
- Posts: 18,295
Re: [SOLVED] error: target not found: from multilib applications
Use code tags not quote tags to post command output / text files
You have to uncomment the [multilib] part as well so that it reads
[multilib]
Include = /etc/pacman.d/mirrorlist
As for pointers on getting to build yaour by hand, and in general on using the AUR, read: https://wiki.archlinux.org/index.php/Ar … Repository
Edit: Do NOT uncomment multilib-testing as well, if you aren’t using testing you should not be using multilib-testing either
Last edited by V1del (2017-04-29 16:23:55)
#7 2017-05-02 23:57:37
- rafael.lima
- Member
- Registered: 2017-04-29
- Posts: 3
Re: [SOLVED] error: target not found: from multilib applications
It is working now. Thanks @V1del, Lone_Wolf, and @LaurentvdB !
Several times I updated pacman -Syy
, pacman -Syu
and some other commands.
I have multilib source uncommented in pacman.conf
.
My last thoughts were about pacman-key
, I was trying to change keyserver in /etc/pacman.d/gnupg/gnu.conf
, run pacman-key --refresh-keys
and pacman-key --populate archlinux
but it didn’t help me. Was googling a lot, but I guess I need to ask here.
pacman -S xorg
works, but pacman -S yaourt
and several others not
UPD: pacman.conf
# # /etc/pacman.conf # # See the pacman.conf(5) manpage for option and repository directives # # GENERAL OPTIONS # [options] # The following paths are commented out with their default values listed. # If you wish to use different paths, uncomment and update the paths. #RootDir = / #DBPath = /var/lib/pacman/ #CacheDir = /var/cache/pacman/pkg/ #LogFile = /var/log/pacman.log #GPGDir = /etc/pacman.d/gnupg/ #HookDir = /etc/pacman.d/hooks/ HoldPkg = pacman glibc #XferCommand = /usr/bin/curl -C - -f %u > %o #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled #UseDelta = 0.7 Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup #IgnorePkg = #IgnoreGroup = #NoUpgrade = #NoExtract = # Misc options #UseSyslog #Color #TotalDownload CheckSpace #VerbosePkgLists # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. SigLevel = Never LocalFileSigLevel = Optional #RemoteFileSigLevel = Required # NOTE: You must run `pacman-key --init` before first using pacman; the local # keyring can then be populated with the keys of all official Arch Linux # packagers with `pacman-key --populate archlinux`. # # REPOSITORIES # - can be defined here or included from another file # - pacman will search repositories in the order defined here # - local/custom mirrors can be added here or in separate files # - repositories listed first will take precedence when packages # have identical names, regardless of version number # - URLs will have $repo replaced by the name of the current repo # - URLs will have $arch replaced by the name of the architecture # # Repository entries are of the format: # [repo-name] # Server = ServerName # Include = IncludePath # # The header [repo-name] is crucial - it must be present and # uncommented to enable the repo. # # The testing repositories are disabled by default. To enable, uncomment the # repo name header and Include lines. You can add preferred servers immediately # after the header, and they will be used before the default mirrors. #[testing] #Include = /etc/pacman.d/mirrorlist [core] Include = /etc/pacman.d/mirrorlist [extra] Include = /etc/pacman.d/mirrorlist #[community-testing] #Include = /etc/pacman.d/mirrorlist [community] Include = /etc/pacman.d/mirrorlist # If you want to run 32 bit applications on your x86_64 system, # enable the multilib repositories as required here. #[multilib-testing] #Include = /etc/pacman.d/mirrorlist [multilib] Include = /etc/pacman.d/mirrorlist # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] #SigLevel = Optional TrustAll #Server = file:///home/custompkgs
Trying to install
sudo pacman -S light error: target not found: light sudo pacman -S alsamixer error: target not found: alsamixer
The other day I tried to install a package from AUR using Yay helper program. The package I tried to install has many Python dependencies. Unfortunately, I couldn’t install it and Yay kept throwing the following error. I thought the problem would be solved if I remove the conflicting packages. But, I don’t want to break the system. Here is the output error message when I tried to install a program from AUR:
error: failed to commit transaction (conflicting files) python-tabulate: /usr/bin/tabulate exists in filesystem python-tabulate: /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc exists in filesystem python-tabulate: /usr/lib/python3.6/site-packages/tabulate.py exists in filesystem Errors occurred, no packages were upgraded. :: Building torrench package(s)... ==> Making package: torrench 1.0.56-1 (Mon Oct 23 15:46:37 IST 2017) ==> Checking runtime dependencies... ==> Installing missing dependencies... error: target not found: python-tabulate ==> ERROR: 'pacman' failed to install missing dependencies.
As you can see in the above output, the following three packages were the ones that causing the problem.
- /usr/bin/tabulate
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Solve «ERROR: ‘pacman’ failed to install missing dependencies» In Arch Linux
To me, deleting the problematic packages fixed the problem. However, it is always recommend to check the problematic files are not owned by some other packages. Because If it is owned by some other program, deleting them is bad idea. So, you need to find those conflicting files are not owned by any other packages. The pacman command can easily find out if a file is owned by other packages in your Arch Linux system.
In my case, I checked whether the above mentioned files are owned some other packages as shown below.
$ sudo pacman -Qo /usr/bin/tabulate
Sample output:
error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
Sample output:
error: No package owns /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/tabulate.py
Sample output:
error: No package owns /usr/lib/python3.6/site-packages/tabulate.py
As you can see, all of the above commands showed me that those files are not owned by any packages. So, I simply deleted them one by one.
$ sudo rm /usr/bin/tabulate
$ sudo rm /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo rm /usr/lib/python3.6/site-packages/tabulate.py
Done! Now, I can be able to install all packages with Python dependencies. For safety a precaution, backup those conflicting files before deleting them. You can restore them just in case if there are any problems after deleting them.
sk
Senthilkumar Palani (aka SK) is the Founder and Editor in chief of OSTechNix. He is a Linux/Unix enthusiast and FOSS supporter. He lives in Tamilnadu, India.
Want to install packages on Arch Linux but do not know how? A lot of people face this problem when they first migrate from Debian-based distributions to Arch. However, you can easily manage packages on your Arch-based system using package managers.
Pacman is the default package manager that comes pre-installed in every Arch distribution. But still, there’s a need for other package managers as Pacman doesn’t support packages from the Arch User Repository.
Package Managers in Arch Linux
Although Arch Linux comes with Pacman as the default package manager, you can install other package managers such as Yay. Unlike Pacman, these package managers allow you to add new packages from the official Arch repository and the AUR (Arch User Repository).
While other package managers have been used over the years, examples such as Yaourt and Aurman are no longer maintained. Consequently, Pacman and Yay are safer and more reliable package managers to rely on in Arch Linux.
AUR is a community-organized repository that provides users with a platform to share packages developed by them. If you are a developer, you can add packages to the AUR, and other users can install them on their system with ease.
1. Pacman
As mentioned above, every Arch system comes with Pacman as its default package manager. The most notable feature of Pacman is that it regularly syncs your system’s packages with the master server, and in turn, keeps your system up to date.
2. Yay
As the developers of Yaourt and Aurman won’t be releasing any updates after the discontinuation, Arch users have started using Yay to add packages from the AUR. The main aim of Yay was to minimize user input and to provide a Pacman-like interface.
You won’t be able to install Yay using Pacman, as it does not support adding packages from the Arch User Repository directly. Therefore, you will have to install the Yay package manager manually using its Git repository. Here’s how to install it on your system.
Step 1: You will require git to clone the yay repository.
pacman -S --needed git base-devel
Step 2: Clone the repository to your local storage.
git clone https://aur.archlinux.org/yay-git.git
Step 3: Change the permissions of the folder.
chmod 777 /yay-git
Step 4: Navigate to the directory where you cloned the repository.
cd yay-git
Step 5: Use the makepkg command to build the package. Make sure that you do not run the following command as the root user, otherwise, it will raise an error.
makepkg -si
Updating and Upgrading Packages
If you have just installed Arch Linux, then before you can add or remove packages, you will have to sync your system with the master servers by updating your local package list.
Then, you can easily upgrade all of your packages to the latest version by downloading the files from official servers.
Using Pacman
To update your package list using Pacman, use the -Sy flag with the command.
sudo pacman -Sy
After synchronizing your system’s package list with the master servers, you need to upgrade the packages. Use the -Syu flag to do the same. This command can take some time depending on the list of the packages and your network connectivity.
sudo pacman -Syu
You can save the effort of typing both of these commands by combining them using the -Syyu flag. Pacman will start downloading the latest packages automatically after updating the package list.
sudo pacman -Syyu
Using Yay
The Yay package manager allows you to update and upgrade your packages efficiently using your terminal. To do this, just use the -Syu flag with the yay command.
sudo yay -Syu
Adding Packages
Adding packages is easy once you know which commands to execute. All you have to do is type the package manager commands in the terminal.
Flathub and Snap Store are two great GUI applications that you can use to install software and applications on your Linux machine.
Install Packages With Pacman
Pacman uses the TAR file extension to package applications. It works efficiently with the Arch Linux system architecture. To add a package, you have to use the -S flag with the default command as follows.
sudo pacman -S packagename
For example,
sudo pacman -S cmatrix
To install multiple packages at once, type in the name of all the packages divided by the space character.
sudo pacman -S cmatrix vlc python
You can also get information about packages after installing them. The output provides details about the name, version, architecture, and license of the package. To do this, replace the -S flag with -Qi in the default pacman command.
pacman -Qi cmatrix
Install Packages With Yay
The syntax of the Yay install command is pretty similar to that of Pacman. To install a package using the Yay package manager, just use the -S flag with the default command.
yay -S packagename
Removing Packages in Arch
Arch Linux gives you the control to remove packages once you don’t need them, and that’s one of the many reasons why you should install Arch Linux. You can remove almost any package from your system if you have the authorization, of course. Let’s see how you can delete a package on Arch Linux.
Remove Packages With Pacman
Removing a package is easy as well. All you have to do is use -R instead of the -S flag in the default pacman command.
sudo pacman -R cmatrix
If the package is not present in your system, you will receive an error output that will state «error: target not found: packagename».
Remove Packages With Yay
To remove packages using Yay, add the -R flag to the default yay command. You can also use the -Rns flag to remove all unnecessary dependencies from your system.
yay -R cmatrix
yay -Rns cmatrix
If you want to remove the packages that your system doesn’t need, use the -Yc flag with the command.
yay -Yc
Managing Packages on Arch Linux
There are multiple ways to add and remove packages on an Arch-based Linux distribution. You can use package managers such as Pacman, Yaourt, and Yay. While some package managers allow the download of packages from the Arch User Repository, others like Pacman do not support the AUR.
If you are not a fan of package managers, you can always download the packages you want manually. Several websites are available on the internet that provide TAR, RPM, and DEB packages to Linux users.