Error: failed to commit transaction (conflicting files): singular owns conflicting files

TL DR: A bunch of files owned by singular won’t allow me to install macaulay2 through yay. I don’t know if removing singular will affect my current python or other programs’ configurations.

Hi everyone,

While trying to install macaulay2 from the AUR by using

yay macaulay2

I get the following errors

Packages (1) singular-factory-4.2.0-1

Total Installed Size:  6.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                              [###########################################] 100%
(1/1) checking package integrity                                            [###########################################] 100%
(1/1) loading package files                                                 [###########################################] 100%
(1/1) checking for file conflicts                                           [###########################################] 100%
error: failed to commit transaction (conflicting files)
singular-factory: /usr/lib/libfactory-4.2.0.so exists in filesystem (owned by singular)
singular-factory: /usr/lib/libfactory.so exists in filesystem (owned by singular)
singular-factory: /usr/lib/pkgconfig/factory.pc exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/10201 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/1024 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/10609 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/11449 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/11881 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/121 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/12167 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/125 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/12769 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/128 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/1331 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/1369 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/14641 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/15625 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/16 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/16129 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/16384 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/16807 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/1681 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/169 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/17161 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/1849 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/18769 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/19321 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/19683 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/2048 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/2187 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/2197 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/2209 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/22201 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/22801 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/2401 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/243 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/24389 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/24649 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/25 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/256 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/26569 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/27 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/27889 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/2809 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/28561 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/289 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/29791 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/29929 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/3125 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/32 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/32041 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/32761 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/32768 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/343 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/3481 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/361 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/36481 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/3721 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/37249 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/38809 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/39601 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/4 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/4096 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/44521 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/4489 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/49 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/4913 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/49729 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/5041 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/50653 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/512 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/51529 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/52441 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/529 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/5329 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/54289 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/57121 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/58081 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/59049 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/6241 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/625 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/63001 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/64 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/6561 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/6859 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/6889 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/729 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/7921 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/8 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/81 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/8192 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/841 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/9 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/9409 exists in filesystem (owned by singular)
singular-factory: /usr/share/factory/gftables/961 exists in filesystem (owned by singular)
Errors occurred, no packages were upgraded.

Now, I’ve read the other threats dealing with this kind of issues in the forum and I believe it boils down to me having used sudo with pip at some point (see here)

The link posted in there suggests to first identify the package owning the files, which in this case is singular. My problem is that I don’t know if removing singular will mess with my current python configuration and make things worse. More concretely:

  1. Can I safely remove singular with something like

sudo pacman -R singular

or do I need to fix my whole python configuration instead?

  1. If the answer is the latter, how can I fix my python configuration after using sudo with pip?

Thank you in advance.

singular-factory conflicts with singular, see the AUR page comments. The PKGBUILD is missing a conflicts() array.

Does this mean that:

  1. This is not my fault and

  2. There’s not much I can do about it unless singular-factory is coded to manage this conflict?

Thank you.

  1. Yes
  2. Yes. Er, perhaps you can fiddle. I’m too tired to think anymore tonight, it seems. See below :point_down:
    EDIT: Confirmed. See this comment.
1 Like

Yes

Not really, AUR’s PKGBUILD is editable before build (yay will ask by default if you want to edit it, unless you change its default behavior). If macaulay2 depends on singular-factory and singular alone conflicts with it but provide the same set of files, you can simply edit the singular-factory dependency into just singular.

2 Likes

Thanks for your reply! I needed some time to read and understand the suggestion. It seems that I can make this work, but I need to better understand how to install a package manually first.

What I tried last night was the following: I followed the instructions in the AUR manual, but I changed the dependency factory-singular into singular in the PKGBUILD. Installed frobby manually as well and then it took like 3 hours for the package to build. Everything went through without any trouble.

However, I built the whole thing in my Home directory and when I type type M2 in the command line it returns M2 not found.

Edit: After reading some more I’m going to uninstall my current instalation and then rebuild the package in /usr/local/. I will report back once it finishes building.

Solution: Follow instructions in the AUR manual to first install frobby and macaulay2 after that. Once you have macaulay2’s PKGBUILD, edit it to change the dependency singular-factory (factory-singular?) to singular. Follow the instructions in the manual and you’re golden.

I will report back if I detect any issues with the installation. Thanks everyone for your help!

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