Solved Can't install devel/viewvc-devel@py39

I've been having a weird issue with devel/viewvc-devel@py39 recently. It seems to build fine (using synth); synth claims that everything (including this) built OK, gives no errors (as far as I can see) in its log files, and in fact does create a py39-viewvc-devel-1.3.0.20230104.pkg file in /var/synth/live_packages/All. But when I then do a synth rebuild-repository, it tells me that this package (along with three packages that it depends on, subversion, py39-subversion, and mod_dav_svn) "failed dependency check". After that, the package (and those other three) are no longer present in /var/synth/live_packages/All.

This behavior is the same as what typically happens (correctly) when there's an *old* version of the package in that directory: synth says that the old version "failed dependency check", and deletes it.

I have a guess as to what may be wrong, but I am not a porter and I don't have enough knowledge to say for sure that this is the issue:

This commit to viewvc-devel, made last week, apparently broke something (not necessarily the issue I'm facing), as the next day, the same developer submitted this commit with the log message "Fix my broken patch". My suspicion is aimed at that second commit (the "Fix my broken patch" one) for perhaps causing the issue I'm facing. I suspect this because that commit changed neither the DISTVERSION nor the PORTREVISION.

Again, I am an ignorant non-porter, but the impression I get from my brief reading about them is that this seems like something that could cause a ports management system (like synth) to not realize that the package it just built is the package it should have built.

I assume that if my guess for the reason is correct, fixing it would be done by making a new commit with a new PORTREVISION? Is this the proper place to request such a thing? If not, where is? And in any case, whether I'm right or not, does anyone have any idea what's going wrong here, or how to fix it?

Thanks in advance.
 
I believe you are correct on all points in how this breaks you and blocks updates from then on.

However, the second commit did not change any code, so it is unlikely that it would fix your problem even if you could gets your claws on it.
 
Now I no longer believe that the viewvc package is the issue. While poking around, I found that synth has a particular log file where it writes details of why packages "fail dependency checks". In there, I see that it is subversion that is causing the failure; the other three, including viewvc, are failing their dependency checks transitively, because they depend upon subversion. As for why subversion is failing its dependency check, here's what the synth log is saying:

Code:
devel/subversion package has less dependencies than the port requires (8)
Query: devel/apr1:apr-1.7.0.1.6.1_2
textproc/expat2:expat-2.5.0
security/gnupg:gnupg-2.3.8
archivers/liblz4:liblz4-1.9.4,1
www/serf:serf-1.3.9_6
databases/sqlite3:sqlite3-3.40.1,1
textproc/utf8proc:utf8proc-2.8.0

subversion-1.14.2_2.pkg failed dependency check.

I have all of those packages, with all of those exact versions, installed on my machine. Moreover, they are all also present in /var/synth/live_packages/All. However, I notice that there are seven of them, whereas synth is apparently saying it has eight required dependencies.

So, I went to the FreshPorts page for Subversion, which tells me that there are in fact eight dependencies (one "runtime" and seven "library"). The one that is missing from the synth log is devel/gettext-runtime (for libintl.so). But again, I have the latest devel/gettext-runtime package installed on my machine, and seemingly more importantly, it is also being built by synth:

Code:
# pkg version -v | grep gettext
gettext-runtime-0.21.1             =   up-to-date with index
# find . | grep gettext
./gettext-runtime-0.21.1.pkg
./gettext-tools-0.21.1.pkg

Plus, I don't think this matters towards what's going wrong, but I do have the required library on my machine, and it was installed by the appropriate package:

Code:
# locate libintl.so
/usr/local/lib/libintl.so
/usr/local/lib/libintl.so.8
/usr/local/lib/libintl.so.8.3.0
# pkg which /usr/local/lib/libintl.so
/usr/local/lib/libintl.so was installed by package gettext-runtime-0.21.1

So I still don't know what's going on, but it seems like maybe synth is not seeing (or is ignoring) the gettext-runtime package that it has built?
 
Have you tried simply deleting that subversion package? Then let it build it again. I sometimes get some weird dependency issues with Poudriere too (because I've been mucking around with disabling/enabling options). It's usually solved by removing the offending package and letting it rebuild it.
 
A new version (2.13) of Synth has been released that fixes this issue. In case anyone is interested in the gory exciting details, there's an absurdly long thread here on the Synth github site.
 
Back
Top