[pacman-dev] Questions about stderr/stdout behaviour on failures

Oskar Roesler o.roesler at oscloud.info
Fri May 28 12:35:48 UTC 2021


Hello,

when file conflicts in packages occur,
why does the actual conflict get written to stdout and only an 
non-informative error message to stderr?
Example: 

Stderr only:
warning: dependency cycle detected:
warning: libglvnd will be installed before its mesa dependency
error: failed to commit transaction (conflicting files)
==> ERROR: 'pacman' failed to install missing dependencies.
warning: dependency cycle detected:
warning: harfbuzz will be installed before its freetype2 dependency
warning: dependency cycle detected:
warning: libglvnd will be installed before its mesa dependency
error: failed to commit transaction (conflicting files)
==> ERROR: 'pacman' failed to install missing dependencies.

Both outputs combined:
:: Proceed with installation? [Y/n]                                         
                                                                            
                                                  
checking keyring...                                                         
                                                                            
                                                  
checking package integrity...                                               
                                                                            
                                                  
loading package files...                                                    
                                                                            
                                                  
checking for file conflicts...                                              
                                                                            
                                                  
error: failed to commit transaction (conflicting files)                     
                                                                            
                                                  
/opt/ros/melodic/lib/python3.9/site-packages/libgtest.so exists in both 
'ros-melodic-moveit-core' and 'ros-melodic-tf'                              
                                                      
/opt/ros/melodic/lib/python3.9/site-packages/libgtest.so.1.10.0 exists in 
both 'ros-melodic-moveit-core' and 'ros-melodic-tf'                         
                                                    
Errors occurred, no packages were upgraded.                                 
                                                                            
                                                  
==> ERROR: 'pacman' failed to install missing dependencies.                 
                                                                            
                                                  
==> Missing dependencies:                                                   
                                                                            
                                                  
  -> ros-build-tools                                                        
                                                                            
                                                  
  -> ros-melodic-message-filters                                            
                                                                            
                                                  
  -> ros-melodic-moveit-core                                                
                                                                            
                                                  
  -> ros-melodic-moveit-msgs  


As e.g. the dependency cycle errors get fully written to stderr, is this a 
bug or itended?
Imho this one line more is important to stderr, otherwise the whole stderr 
log helps me as much as the returncode.

Regards,

Oskar


More information about the pacman-dev mailing list