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



## rwv37 (Tuesday at 1:40 AM)

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.


----------



## cracauer@ (Tuesday at 7:12 PM)

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.


----------



## rwv37 (Tuesday at 9:34 PM)

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:


```
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`:


```
# 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:


```
# 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?


----------



## SirDice (Thursday at 3:15 PM)

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.


----------



## rwv37 (Thursday at 3:35 PM)

Yes, I have.

The author of `synth` is investigating.


----------

