Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 772275 - net-im/dino-9999: Cannot find libsignal-protocol-vala.so
Summary: net-im/dino-9999: Cannot find libsignal-protocol-vala.so
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Andriy Utkin (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-23 22:25 UTC by hololeap
Modified: 2021-03-08 21:26 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hololeap 2021-02-23 22:25:32 UTC
I am getting the following error when trying to run /usr/bin/dino:

`** (dino:288593): WARNING **: 15:09:35.179: main.vala:25: Fatal error: libsignal-protocol-vala.so: cannot open shared object file: No such file or directory`

Reproducible: Always

Steps to Reproduce:
This is currently (within the last 24 hrs) happening with -9999, even going back to commits from one or two months ago. I should note that this ebuild has been working for me for quite some time, and I have updated it with smart-live-rebuild within the last couple weeks.

It is _not_ happening with dino-0.2.0



I am using libsignal-protocol-c-2.3.3

Building the source as per the instructions at https://github.com/dino/dino yields a binary which _does not_ have this issue. The exact commands used were:

```
git clone https://github.com/dino/dino
cd dino
VALAC=/usr/bin/valac-0.48 ./configure
make
build/dino
```

I should also point out that I cannot locate what exactly is looking for this library file. It does not appear when `readelf -d /usr/bin/dino` is run, and the string "libsignal-protocol-vala" is not found anywhere in the source code for dino or for libsignal-protocol-c
Comment 1 Andriy Utkin (RETIRED) gentoo-dev 2021-02-26 17:16:51 UTC
Thank you for reporting. I will look into that in the next few days.
Comment 2 hololeap 2021-02-26 18:05:05 UTC
I just found that this file gets generated during the compile phase:

work/dino-9999_build/plugins/signal-protocol/libsignal-protocol-vala.a

These files also get created during compile phase and copied into the image during install phase:

work/dino-9999_build/plugins/http-files.so
work/dino-9999_build/plugins/omemo.so
work/dino-9999_build/plugins/openpgp.so

It seems like these plugins are currently being handled differently than the signal-protocol plugin.
Comment 3 hololeap 2021-02-26 18:08:11 UTC
I should also mention that I have all USE flags enabled for this package (+gpg +http +notification-sound +omemo). This is the command run during the configure phase:

cmake -C /var/tmp/portage/net-im/dino-9999/work/dino-9999_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DDISABLED_PLUGINS= -DVALA_EXECUTABLE=/usr/bin/valac-0.48 -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/net-im/dino-9999/work/dino-9999_build/gentoo_toolchain.cmake  /var/tmp/portage/net-im/dino-9999/work/dino-9999
Comment 4 hololeap 2021-02-26 18:18:11 UTC
It appears that no libsignal-protocol-vala.so gets built when following the instructions at https://github.com/dino/dino , but for some reason that generated executable doesn't seem to care.
Comment 5 Andriy Utkin (RETIRED) gentoo-dev 2021-03-02 12:10:56 UTC
I see work/dino-9999_build/ has libsignal-protocol-vala.so, and similarly-looking libgpgme-vala.so and libcrypto-vala.so. They just don't get installed.

And if you `lddtree work/dino-9999_build/plugins/omemo.so | grep libsignal-protocol-vala`, you'll see

    libsignal-protocol-vala.so => /var/tmp/portage/net-im/dino-9999/work/dino-9999_build/libsignal-protocol-vala.so

The "build instructions" in the readme don't cover installation step - they just suggest running from the build dir. So there are no specific instructions.

Once you do the following, dino starts:

    cp libsignal-protocol-vala.so libgpgme-vala.so libcrypto-vala.so /usr/lib64/

But of course this is not a solution. I think some cmake logic should be there to take care of this.

I am going to take this issue to upstream.
Comment 6 Andriy Utkin (RETIRED) gentoo-dev 2021-03-02 12:22:06 UTC
https://github.com/dino/dino/issues/1011
Comment 7 Andriy Utkin (RETIRED) gentoo-dev 2021-03-08 21:26:48 UTC
Fixed by upstream.
Thanks everyone!