# Trouble resolving conflict issue with pkg



## rsattler (Aug 3, 2014)

Recently I have been having terrible trouble with kde so I thought I would switch to gnome. I tried to install the package using the command:
`pkg install gnome2` as instructed in the FreeBSD manual.

When doing so, I get the following output:

```
pkg install gnome2
Updating repository catalogue
pkg: http://pkg.FreeBSD.org/freebsd:10:x86:32/latest/meta.txz: Not Found
pkg: repository FreeBSD has no meta file, using default settings
FreeBSD repository is up-to-date
All repositories are up-to-date
Checking integrity... done (2 conflicting)
pkg: cannot resolve conflict between remote perl5(want install), local perl5.18(want keep), please resolve it manually
pkg: SAT: conflicting request, cannot solve
pkg: cannot solve job using SAT solver
Checking integrity... done (0 conflicting)
The most recent version of packages are already installed
```

What, exactly, is `pkg` trying to tell me? And if I need to uninstall `perl5.18` and replace it with `perl5`, I am not clear on how to downgrade a package using `pkg` or `portmaster`.

I am currently running 

```
FreeBSD aloha 10.0-RELEASE-p7 FreeBSD 10.0-RELEASE-p7 #0: Tue Jul  8 06:34:23 UTC 2014     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
```
Thank you for the support.


----------



## bsdkeith (Aug 3, 2014)

Gnome and BSD do seem to have problems; I advise using XFCE.

Edit: Or try MATE.


----------



## SirDice (Aug 3, 2014)

rsattler said:
			
		

> What, exactly, is `pkg` trying to tell me?


That it wants to install perl5 but can't because perl5.18 is installed.



> And if I need to uninstall `perl5.18` and replace it with `perl5`, I am not clear on how to downgrade a package using `pkg` or `portmaster`.


It used to be: `pkg set -o lang/perl5.18:lang/perl5` or `portmaster -o lang/perl5 perl5.18`

But things changed a lot recently with pkg(8) so I'm not sure if that command still works.


----------



## kpa (Aug 3, 2014)

Ideally the new solver in ports-mgmt/pkg would be able to solve the conflict but unfortunately all of the Perl (lang/perl5.16 etc.) ports are still marked as mutually exclusive, in other words they conflict with every other Perl port in the tree. To really solve the problem all the Perl ports would have be reworked that they don't install the same files in same locations but can co-exist as installed packages without problems.


----------



## rsattler (Aug 3, 2014)

Thank you to everyone who responded. Great community!

I will give these things a go and see if I can't get things going again. I will update  the thread one way or another soon. Thanks again everyone.


----------



## rsattler (Aug 3, 2014)

> > And if I need to uninstall `perl5.18` and replace it with `perl5`, I am not clear on how to downgrade a package using `pkg` or `portmaster`.
> 
> 
> It used to be: `pkg set -o lang/perl5.18:lang/perl5` or `portmaster -o lang/perl5 perl5.18`
> ...



The `pkg set -o lang/perl5.18:lang/perl5` works. The other command results in the following error:

```
root@aloha:/usr/ports # portmaster -o /usr/ports/lang/perl5 perl5.18

===>>> The first argument to -o must be a directory in /usr/ports

===>>> No valid installed port, or port directory given
===>>> Try portmaster --help

===>>> Killing background jobs
Terminated
===>>> Exiting
```
I am running the update again to see if it will compile properly this time. Fingers crossed.


----------



## rsattler (Aug 4, 2014)

It appears that the X11 windowing systems I have attempted to install relies on `perl5` and therefore will not install properly when using `pkg`. `KDE, gnome2,` and `xfce` all fail due to an issue with `perl5`. 

I set the system dependancies with `pkg set -o lang/perl5.18:lang/perl5` prior and attempted to install `Xfce` with `pkg` with the following result:

```
root@aloha:/usr/ports # pkg set -o lang/perl5.18:lang/perl5
Change origin from lang/perl5.18 to lang/perl5 for all dependencies? [y/N]: y
```


```
root@aloha:/usr/ports # pkg install xfce
Updating repository catalogue
pkg: http://pkg.FreeBSD.org/freebsd:10:x86:32/latest/meta.txz: Not Found
pkg: repository FreeBSD has no meta file, using default settings
FreeBSD repository is up-to-date
All repositories are up-to-date
Checking integrity... done (1 conflicting)
pkg: cannot resolve conflict between local perl5.18(want keep), remote perl5(want install), please resolve it manually
pkg: SAT: conflicting request, cannot solve
pkg: cannot solve job using SAT solver
Checking integrity... done (0 conflicting)
The most recent version of packages are already installed
```
At this point, I am wondering if I should attempt a clean install and start all over (which would be a crying shame due to the amount of time and successful uptime I have had with the current system). Or, go back to the vty terminal defaults.


----------



## rsattler (Aug 4, 2014)

Here is what happens when I try to install `MATE`:

```
root@aloha:/usr/ports/x11/xorg # pkg install mate
Updating repository catalogue
pkg: http://pkg.FreeBSD.org/freebsd:10:x86:32/latest/meta.txz: Not Found
pkg: repository FreeBSD has no meta file, using default settings
FreeBSD repository is up-to-date
All repositories are up-to-date
The following 39 packages will be affected (of 1286 checked):

New packages to be INSTALLED:
        mate: 1.6.0
        mate-terminal: 1.6.1
        mate-base: 1.6.0
        mate-applets: 1.6.1_3
        mate-themes: 1.6.2
        mate-icon-theme-faenza: 1.6.0
        mate-system-monitor: 1.6.1_2
        mate-power-manager: 1.6.2_1
        mate-calc: 1.6.0_1
        mate-image-viewer: 1.6.1_1
        mate-document-viewer: 1.6.1_4
        mate-text-editor: 1.6.0_2
        mate-utils: 1.6.0_1
        mate-menu-editor: 1.6.0
        mate-media: 1.6.0_2
        mate-file-archiver: 1.6.0_1
        mate-doc-utils: 1.6.2_2
        docbook-xml: 5.0_2
        mate-session-manager: 1.6.1_1
        mate-panel: 1.6.1_2
        mate-dialogs: 1.6.2
        mate-window-manager: 1.6.2_1
        mate-icon-theme: 1.6.2
        mate-backgrounds: 1.6.0
        mate-file-manager: 1.6.2_3
        mate-polkit: 1.6.0_1
        mate-control-center: 1.6.1_4
        mate-keyring: 1.6.0_2
        mate-notification-daemon: 1.6.1_1
        mate-settings-daemon: 1.6.1_3
        mate-desktop: 1.6.1_1
        libmatekbd: 1.6.1_3
        mate-menus: 1.6.0_2
        libmatewnck: 1.6.1_1
        libmateweather: 1.6.2_2
        gtk-murrine-engine: 0.98.2_4
        libmatekeyring: 1.6.0_1
        mate-character-map: 1.6.0_1
        py27-gtksourceview: 2.10.1_1

The process will require 365 MB more space
84 MB to be downloaded

Proceed with this action [y/N]: y
Fetching mate-1.6.0.txz: 100% of 1 KB
Fetching mate-terminal-1.6.1.txz: 100% of 1 MB
Fetching mate-base-1.6.0.txz: 100% of 1 KB
Fetching mate-applets-1.6.1_3.txz: 100% of 6 MB
Fetching mate-themes-1.6.2.txz: 100% of 3 MB
Fetching mate-icon-theme-faenza-1.6.0.txz: 100% of 20 MB
Fetching mate-system-monitor-1.6.1_2.txz: 100% of 2 MB
Fetching mate-power-manager-1.6.2_1.txz: 100% of 3 MB
Fetching mate-calc-1.6.0_1.txz: 100% of 452 KB
Fetching mate-image-viewer-1.6.1_1.txz: 100% of 2 MB
Fetching mate-document-viewer-1.6.1_4.txz: 100% of 1 MB
Fetching mate-text-editor-1.6.0_2.txz: 100% of 3 MB
Fetching mate-utils-1.6.0_1.txz: 100% of 6 MB
Fetching mate-menu-editor-1.6.0.txz: 100% of 88 KB
Fetching mate-media-1.6.0_2.txz: 100% of 516 KB
Fetching mate-file-archiver-1.6.0_1.txz: 100% of 958 KB
Fetching mate-doc-utils-1.6.2_2.txz: 100% of 279 KB
Fetching docbook-xml-5.0_2.txz: 100% of 542 KB
Fetching mate-session-manager-1.6.1_1.txz: 100% of 291 KB
Fetching mate-panel-1.6.1_2.txz: 100% of 1 MB
Fetching mate-dialogs-1.6.2.txz: 100% of 3 MB
Fetching mate-window-manager-1.6.2_1.txz: 100% of 729 KB
Fetching mate-icon-theme-1.6.2.txz: 100% of 10 MB
Fetching mate-backgrounds-1.6.0.txz: 100% of 10 MB
Fetching mate-file-manager-1.6.2_3.txz: 100% of 3 MB
Fetching mate-polkit-1.6.0_1.txz: 100% of 72 KB
Fetching mate-control-center-1.6.1_4.txz: 100% of 1 MB
Fetching mate-keyring-1.6.0_2.txz: 100% of 902 KB
Fetching mate-notification-daemon-1.6.1_1.txz: 100% of 72 KB
Fetching mate-settings-daemon-1.6.1_3.txz: 100% of 415 KB
Fetching mate-desktop-1.6.1_1.txz: 100% of 290 KB
Fetching libmatekbd-1.6.1_3.txz: 100% of 127 KB
Fetching mate-menus-1.6.0_2.txz: 100% of 166 KB
Fetching libmatewnck-1.6.1_1.txz: 100% of 405 KB
Fetching libmateweather-1.6.2_2.txz: 100% of 2 MB
Fetching gtk-murrine-engine-0.98.2_4.txz: 100% of 75 KB
Fetching libmatekeyring-1.6.0_1.txz: 100% of 85 KB
Fetching mate-character-map-1.6.0_1.txz: 100% of 1 MB
Fetching py27-gtksourceview-2.10.1_1.txz: 100% of 31 KB
Checking integrity... done (5 conflicting)
pkg: cannot resolve conflict between local docbook-xml(want remove), local gnome-doc-utils(want keep), please resolve it manually
pkg: SAT: conflicting request, cannot solve
pkg: cannot solve job using SAT solver
Checking integrity... done (0 conflicting)
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
```

Any other suggestions?


----------



## SirDice (Aug 4, 2014)

You could remove it completely, and just let the system install the correct one. `pkg delete -f perl5.18`. It will complain that there are dependencies but those will probably be resolved once you can complete `pkg upgrade`.


----------



## rihad (Nov 27, 2018)

As part of upgrading FreeBSD 10.3 to 11.2 most packages had to be rebuilt/updated,  I simply did a `pkg upgrade` to speed up the process, as a result databases/postgres95-client was brought in as a dependency of some package, but it conflicted with the already installed databases/postgres10-client. I neglected the conflict and simply rebuilt a few of the packages from ports. which made them depend on the installed client version. Everything works now, but pkg upgrade still lists postgres95-client as a failed candidate. Is there any way to tell pkg to forget about the conflicting package?

$ sudo pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (4 candidates): 100%
Processing candidates (4 candidates): 100%
*Checking integrity... done (2 conflicting)
  - postgresql95-client-9.5.15_1 conflicts with postgresql10-client-10.6_1 on /usr/local/bin/clusterdb
  - postgresql95-client-9.5.15_1 conflicts with postgresql10-client-10.6_1 on /usr/local/bin/clusterdb*
Cannot solve problem using SAT solver, trying another plan
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

Installed packages to be REINSTALLED:
       postgresql10-server-10.6_1 (options changed)
       postgresql10-client-10.6_1 (options changed)

Number of packages to be reinstalled: 2

The process will require 13 MiB more space.

Proceed with this action? [y/N]:


----------



## SirDice (Dec 3, 2018)

Completely different issue.

The default PostgreSQL version is 9.5, packages are built based on that. Package dependencies cannot be changed once the package has been built. So you have three options:


 switch back to PostgreSQL 9.5 and stick to packages.
 set the default to 10 and build _everything_ from ports
 set up your own repository.


----------



## rihad (Dec 3, 2018)

Thanks, there are no problems so to speak, no installed package currently depends on 9.5 or wants to have it installed, because I rebuilt all packages that depended on 9.5 to depend on version 10. But the "aftertaste" of the conflicting dependency still remains from the POV of pkg. Is there any way to clear that?


----------



## SirDice (Dec 3, 2018)

rihad said:


> But the "aftertaste" of the conflicting dependency still remains from the POV of pkg.


The next time you run pkg-upgrade(8) it's going to try to remove 10 and install 9.5 again.



> Is there any way to clear that?


Yes, by building _everything_ from ports or setting up your own repository.


----------

