FS#72262 - [sysdig] cannot resolve "libgrpc++_unsecure.so=1.39-64", a dependency of "sysdig"

Attached to Project: Community Packages
Opened by Munzir Taha (munzirtaha) - Tuesday, 28 September 2021, 06:21 GMT
Last edited by Massimiliano Torromeo (mtorromeo) - Friday, 08 October 2021, 22:39 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Massimiliano Torromeo (mtorromeo)
Sven-Hendrik Haase (Svenstaro)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 5
Private No

Details

Description:
> sudo pacman -S sysdig
[sudo] password for munzir:
resolving dependencies...
warning: cannot resolve "libgrpc++_unsecure.so=1.39-64", a dependency of "sysdig"
:: The following package cannot be upgraded due to unresolvable dependencies:
sysdig

:: Do you want to skip the above package for this upgrade? [y/N] y
looking for conflicting packages...
there is nothing to do

> pacman -Si sysdig
Repository : community
Name : sysdig
Version : 0.27.1-7
This task depends upon

Closed by  Massimiliano Torromeo (mtorromeo)
Friday, 08 October 2021, 22:39 GMT
Reason for closing:  Fixed
Additional comments about closing:  sysdig-0.27.1-8
Comment by Massimiliano Torromeo (mtorromeo) - Wednesday, 29 September 2021, 13:21 GMT
sysdig won't build anymore with the latest grpc.

To my understanding, this is due to ABI incompatibilities between grpc+abseilcpp which are both built with c++17 and sysdig which uses c++0x.

This has worked up until now, but it doesn't seem to be the case anymore.
grpc won't work unless both grpc and abseilcpp are built with c++17 but building sysdig with the same version fails with a different error.

Honestly, I have not been using sysdig in years and I just kept maintaining it out of obligation, but I might be forced to drop it now. I'll see if upstream can help fix this.
Comment by Michel Koss (MichelKoss1) - Wednesday, 29 September 2021, 13:44 GMT
I wonder why it's even possible to push package upgrade to repo which breaks dependency of another package leaving users with not-upgradeable system. Those conflicts should be settled one way or another before grpc was updated.
Comment by Massimiliano Torromeo (mtorromeo) - Wednesday, 29 September 2021, 13:50 GMT
That's my fault, sorry.

I would probably have dropped the package though, which would have had the same net result of having to manually remove it in order to be able to upgrade.

Of course that would have been *after* considering if I could fix it somehow, which I have already tried at this point...
Comment by Sven-Hendrik Haase (Svenstaro) - Thursday, 30 September 2021, 00:20 GMT
I think static linking grpc would be the reasonable thing to do here in the sysdig package.
Comment by bartus (bartus) - Thursday, 30 September 2021, 10:45 GMT
Or perhaps push `grpc139` aside updated `grpc` package and update `sysdig` dependency array to point to the legacy package?

It seems pacman can handle multiple packages having same library in `provides` array but with different versions...
Comment by Michel Koss (MichelKoss1) - Thursday, 30 September 2021, 11:40 GMT
Comment by Massimiliano Torromeo (mtorromeo) - Thursday, 30 September 2021, 18:21 GMT
I tried building it with the bundled grpc, but it keeps failing for all kinds of different reasons.
It wants to also use a bunch of other bundled libraries even if you turn them all off explicitly, and even if you give up and tell it to use everything bundled it still fails!
I lost so much time on this crap, I just give up.

@Svenstaro: I see you assigned yourself to this issue, you want to give it a shot?
Comment by Sven-Hendrik Haase (Svenstaro) - Thursday, 30 September 2021, 18:32 GMT
Nope, I don't really have the time. I just wanted to receive updates. :P
Comment by Sven-Hendrik Haase (Svenstaro) - Thursday, 30 September 2021, 18:34 GMT
If you wanna drop sysdig, that's fine with me. The better alternative might be just having a second shared grpc package with the old version. Is there already an upstream issue tracking this?
Comment by Massimiliano Torromeo (mtorromeo) - Thursday, 30 September 2021, 18:58 GMT Comment by Munzir Taha (munzirtaha) - Friday, 01 October 2021, 09:41 GMT
@mtorromeo: Thanks for your care and follow-up. I hope this get fixed and the package is not dropped unless there is a better alternative. Since you mentioned you "have not been using sysdig in years", have you replaced it with something better?
Comment by Massimiliano Torromeo (mtorromeo) - Friday, 01 October 2021, 09:59 GMT
I would also prefer it to not be dropped, but I think a maintainer who is also a user of the tool would be far preferable.

> have you replaced it with something better

No, not really, to me sysdig was handy to address hard to diagnose issues but I haven't been in the situation where I really needed such a powerful tool for a long time and I became unfamiliar with it as a consequence. I still find it pretty neat.
Comment by bartus (bartus) - Saturday, 02 October 2021, 12:57 GMT
I've made a quick bodged patch for pining `grc:1.39` for sysdig and derive `grpc139{,-libs}` from the current `grpc` package.

Can't tell if not stripped too far, I have no other use for `grcp` besides `sysdig` dep on my machine.

derive `grpc139{,-libs}` from `grpc`: http://ix.io/3AAZ

pin `grcp139` for sysdig: http://ix.io/3AAX
Comment by Massimiliano Torromeo (mtorromeo) - Friday, 08 October 2021, 22:38 GMT
BUild fixed with patch provided by @hhoffstaette

Loading...