Pamac update fails - file already exists

Hello All,

I just tried to update my system (as a result of pamac install virtualbox) which resulted in thousands of warnings of the type

Warning: x: /a/b/c already exists in filesystem
It has been backed up to /a/b/c.old

ultimately not upgrading/installing anything. If I now attempt to upgrade (pamac upgrade / sudo pacman -Syu)) I just get one warning

Warning : boost: /usr/include/boost/serialization/collection_size_type copy.hpp already exists in filesystem
It has been backed up to /usr/include/boost/serialization/collection_size_type copy.hpp.old

with the addition

Error: Failed to commit transaction:
conflicting files:

  • boost: /usr/include/boost/serialization/collection_size_type copy.hpp already exists in filesystem,
    if this file is not needed, remove it and retry

Is it safe to just delete this file and try again as suggested by This post from the forum (the file is not owned by any package according to pacman -Qo) or is this just the symptom of a bigger problem?

I’m asking in particular because just a few days ago I already had some pamac related problems with python libraries (programs with numpy did not compile), which were eventually solved by reinstalling the involved packages (scipy, numpy as well as some c++ library cblas) a few times, which worried me at the time.

It is difficult to say if removing the file is safe - even though the native package manager will place a file with the same name - there is no guarantee the file will provide the same content as the existing file.

And you are correct in the assumption it is symptom of a bigger problem - in a manner of speaking.

The problem is caused by your habits - it could be any of following (not complete list)

  • compiling applications with default prefix /usr/ then install them using make install.
  • installing python packages using sudo pip
  • installing node packages using sudo npm
  • manually placing files - e.g. unpacking an archived (deb/rpm/tar.gz)

These actions will place files in locations normally controlled by the native package manager (pacman) and when such files are encounted - as part of syncing a package from the repo - pacman will throw error messages like you read about in the mentioned topic.

Keeping your system clean compiling using make you should use prefix like /usr/local or $HOME/.local as this will leave your system to pacman - and you can have all the fun you need without mangling system packages. E.g.

$  PREFIX=/usr/local make

It also makes potential troubleshooting much easier in the long run.

Thank you for your reply.

I might add that it is basically a fresh install of manjaro-kde (last week) and I exclusively use pamac to manage software, in particular I did not install anything myself. The two exceptions to this are one flatpak package (spotify - however flatpak is also managed by pamac as far as I know?) and an antivirus software (sophos-av) to /opt via its installer.

I will just go ahead and use the --overwrite "*" flag and observe if this leads to any problems.

EDIT: At least in the short term nothing broke including the two external programs which seem to work fine.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.