Chavdar Ivanov <ci4ic4%gmail.com@localhost> writes: > => Creating binary package /usr/pkgsrc/lang/llvm/work/.packages/llvm-10.0.1.tgz > ===> Building binary package for llvm-10.0.1 > => Creating binary package /usr/pkgsrc/packages/All/llvm-10.0.1.tgz > ===> Installing binary package of llvm-10.0.1 > pkg_add: A different version of llvm-10.0.1 is already installed: llvm-10.0.0nb1 > pkg_add: 1 package addition failed > *** Error code 1 > .... > > Why is not llvm updated in this context? it is selected for build, the > build completes and then it does not replace it. You didn't include enough context. Was llvm in MISMATCH_TODO? What package was being replaced? It seems that some package depended on llvm, and replacing that package forced a build of llvm, which was an 'install', not a 'replace-if-already-present-else-install' target (which we don't have!). pkg_rr tries to find the build depends, but I suspect that A BUILD_DEPENDS on B B BUILD_DEPENDS on C gets the "A B" dependency in the list to be tsorted, and probably does not get the "B C". However, if B depends on llvm and llvm has a version chagne B should have been revbumped and be on the MISMATCH list. > I do 'pkgclean' and 'pkg_admin rebuild-tree' before every attempt to > 'pkg_rolling-replace -uv'. Can you find out from the output (that I hope you saved) whether llvm was on the MISMATCH list? Because there are lots of problems, most of them in individual packages, i tend to run pkg_rr with -k, and then clean workdirs and do it again. That tends to paper over the kind of problem you are having.
Attachment:
signature.asc
Description: PGP signature