[OE-core] Not selecting <old version of package> as installing it would break existing dependencies

Alejandro del Castillo alejandro.delcastillo at ni.com
Fri Mar 27 21:21:34 UTC 2015


openembedded-core-bounces at lists.openembedded.org wrote on 03/24/2015 
12:16:05 PM:

> From: Mike Looijmans <mike.looijmans at topic.nl>
> To: openembedded-core at lists.openembedded.org, 
> Date: 03/24/2015 12:16 PM
> Subject: [OE-core] Not selecting <old version of package> as 
> installing it would break existing dependencies
> Sent by: openembedded-core-bounces at lists.openembedded.org
> 
> After upgrading a library to a newer version, for example, something 
> called libdvbsi++ from 0.3.6 to 0.3.7, running opkg upgrade outputs the 
> following cryptic error message:
> 
> Not selecting libdvbsi++1 0.3.6 as installing it would break existing 
> dependencies.

When opkg runs, it creates a list of all the available packages on the 
configured repos + all the installed packages. During an upgrade, it goes 
through the process of finding the best upgrade match for each installed 
package, searching on the master list. The process goes through a series 
of checks for each candidate, like making sure the archs are compatible, 
and making sure installing a candidate won't break existing installed 
packages. In your case, opkg determines there are 2 candidates, 
libdvbsi++0.3.6 and libdvbsi++0.3.7. While evaluating libdvbsi++0.3.6, the 
pkg_breaks_reverse_dep check fails, triggering the message shown above 
(and removing the candidate).
 
> Adding "-V2" to opkg upgrade expands that with the following message:
> 
> opkg_prepare_upgrade_pkg: Package libdvbsi++1 (0.3.7-r2.0) installed in 
> root is up to date.
> 
> So apparently it knows about the later version, so why complain about 
> the old one?

The function that returns the best candidate match correctly returns 
libdvbsi++1 0.3.7. It then compares it against what's already installed. 
The DEBUG message above shows that the best candidate found is already 
installed on the system.

 
> There is only one package that (r)depends on that lib (enigma2). Nothing 

> else needs it.
> 
> This often happens with other packages as well. Is this a bug in opkg, 
> or is it trying to tell us we're doing something wrong?

It is not a bug, the message is harmless as it is only pointing to the 
reason why one of the possible upgrade candidates was discarded. 

Hope this helps!

Alejandro del Castillo
 
> -- 
> Mike Looijmans
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list