[Bug 287952] devel/util-linux: can't install; conflicts with libuuid, and depends on it too

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 01 Jul 2025 22:27:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287952

            Bug ID: 287952
           Summary: devel/util-linux: can't install; conflicts with
                    libuuid, and depends on it too
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: yuri@freebsd.org
          Reporter: bob@vesterman.com
          Assignee: yuri@freebsd.org
             Flags: maintainer-feedback?(yuri@freebsd.org)

It seems like devel/util-linux both depends upon and conflicts with
misc/libuuid, and as a result cannot be installed (at least not in a way that I
know of).

I have had devel/util-linux installed for a while now. Previously, it depended
upon misc/e2fsprogs-libuuid, but that port was deleted yesterday and replaced
with misc/libuuid. I have a nightly script to rebuild (but not install - I do
that manually) any updated ports (using ports-mgmt/synth), and last night it
built both devel/util-linux and misc/libuuid (both successfully).

Today, when I tried to pkg upgrade, I got the following error:

-----------
# pkg upgrade                                                                  
 Updating Synth repository catalogue...                                        
                                         Synth repository is up to date.
All repositories are up to date.
Checking for upgrades (47 candidates): 100%
Processing candidates (47 candidates): 100%
Checking integrity... done (3 conflicting)                                     
                                          - libuuid-2.41.1 conflicts with
e2fsprogs-libuuid-1.47.2 on /usr/local/bin/uuidgen
  - libuuid-2.41.1 conflicts with util-linux-2.39.4_3 on
/usr/local/share/man/man5/terminal-colors.d.5.gz
  - libuuid-2.41.1 conflicts with util-linux-2.39.4_2 on
/usr/local/share/man/man5/terminal-colors.d.5.gz
Cannot solve problem using SAT solver, trying another plan
Checking integrity... done (0 conflicting)
Your packages are up to date.
#
-----------

I investigated and discovered the e2fsprogs-libuuid => libuuid thing. Since the
error message includes notice of a conflict between those two, I figured that
instead of just upgrading, I would first uninstall my existing util-linux and
e2fsblahblah, and then install the new one.

Uninstall went fine:

-----------
# pkg remove e2fsprogs-libuuid
Checking integrity... done (0 conflicting)                                     
                                        Deinstallation has been requested for
the following 2 packages (of 0 packages in the universe):                      
                                                                               
                                          Installed packages to be REMOVED:    
                                                                               
          e2fsprogs-libuuid: 1.47.2                                            
                                                  util-linux: 2.39.4_2

Number of packages to be removed: 2

The operation will free 3 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/2] Deinstalling util-linux-2.39.4_2...
[1/2] Deleting files for util-linux-2.39.4_2: 100%
[2/2] Deinstalling e2fsprogs-libuuid-1.47.2...
[2/2] Deleting files for e2fsprogs-libuuid-1.47.2: 100%
#
-----------

But installing, not so great:

-----------
# pkg install devel/util-linux                                                 
 Updating Synth repository catalogue...                                        
                                         Synth repository is up to date.       
                                                                               
 All repositories are up to date.                                              
                                         Checking integrity... done (1
conflicting)                                                                   
            - util-linux-2.39.4_3 conflicts with libuuid-2.41.1 on
/usr/local/share/man/man5/terminal-colors.d.5.gz               Cannot solve
problem using SAT solver, trying another plan                                  
                           Checking integrity... done (0 conflicting)          
                                                                   The
following 1 package(s) will be affected (of 0 checked):                        
                                                                               
                                                                            New
packages to be INSTALLED:                                                      
                                            libuuid: 2.41.1

Number of packages to be installed: 1

Proceed with this action? [y/N]: y
[1/1] Installing libuuid-2.41.1...
[1/1] Extracting libuuid-2.41.1: 100%
#
-----------

Note that libuuid was installed (because it is required by util-linux), but pkg
skipped util-linux (because it conflicts with util-linux).

I figured that now that libuuid had been installed, I might as well try again
to install util-linux, but of course essentially the same thing happened as the
first time:

-----------
# pkg install devel/util-linux
Updating Synth repository catalogue...
Synth repository is up to date.
All repositories are up to date.
Checking integrity... done (1 conflicting)
  - util-linux-2.39.4_3 conflicts with libuuid-2.41.1 on
/usr/local/share/man/man5/terminal-colors.d.5.gz
Cannot solve problem using SAT solver, trying another plan
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
#
-----------

Is there perhaps a message that should be (but is not) in /usr/ports/UPDATING
about how to migrate from the old util-linux to the new one? Or is it expected
that no special migration steps need to be done (and therefore also expected
that what I tried should have worked)?

Thanks in advance.

-- 
You are receiving this mail because:
You are the assignee for the bug.