Bug 1718221 - linphone: symbol lookup error: /lib64/libmediastreamer_voip.so.3: undefined symbol: stunParseHostName
Summary: linphone: symbol lookup error: /lib64/libmediastreamer_voip.so.3: undefined s...
Alias: None
Product: Fedora
Classification: Fedora
Component: linphone
Version: 31
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: nucleo
QA Contact: Fedora Extras Quality Assurance
: 1756660 1756940 1768610 1771529 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2019-06-07 10:01 UTC by Michal Kovarik
Modified: 2019-12-18 01:53 UTC (History)
20 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-12-18 01:53:32 UTC
Type: Bug

Attachments (Terms of Use)
list of installed packages (87.43 KB, text/plain)
2019-06-07 16:25 UTC, Michal Kovarik
no flags Details

Description Michal Kovarik 2019-06-07 10:01:52 UTC
Description of problem:
Unable to start linphone:
linphone: symbol lookup error: /lib64/libmediastreamer_voip.so.3: undefined symbol: stunParseHostName

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. run linphone

Actual results:
linphone: symbol lookup error: /lib64/libmediastreamer_voip.so.3: undefined symbol: stunParseHostName

Expected results:
Start of application

Additional info:

Comment 1 nucleo 2019-06-07 16:12:37 UTC
What version of ortp installed?

Comment 2 Michal Kovarik 2019-06-07 16:16:19 UTC

Comment 3 nucleo 2019-06-07 16:24:47 UTC
This version is in updates-testing.
Downgrade to stable version ortp-0.23.0-9.fc30.x86_64

Comment 4 Michal Kovarik 2019-06-07 16:25:34 UTC
Created attachment 1578390 [details]
list of installed packages

Comment 5 Michal Kovarik 2019-06-07 16:26:54 UTC
It works with ortp-0.23.0-9.fc30.x86_64

Comment 6 Stuart D Gathman 2019-06-07 16:27:51 UTC
Maybe I'd better unpush the testing version.

Comment 7 Stuart D Gathman 2019-06-07 16:31:44 UTC
The issue is major API changes.  The rollout plan could be to bundle ortp initially.

Comment 8 Roger 2019-10-30 09:35:22 UTC
Affects Fedora 31 too.

Comment 9 Stuart D Gathman 2019-10-30 16:55:11 UTC
*** Bug 1756940 has been marked as a duplicate of this bug. ***

Comment 10 Stuart D Gathman 2019-10-30 16:56:24 UTC
I think we need to use "epochs" to downgrade ortp in f31 at this point.

Comment 11 nucleo 2019-10-30 17:02:56 UTC
Is it possible to build latest ortp with bundled bctoolbox?

Comment 12 Stuart D Gathman 2019-10-31 21:07:01 UTC
I've got bcunit and bctoolbox built locally.  Building linphone-3.12.0 failing at attempting to build mediastreamer2-2.11.2.  Maybe mediastreamer2 should be a separate package?

Comment 13 nucleo 2019-10-31 21:16:27 UTC
Yes, all of them should be separate packages and review requests are needed.

Comment 14 Stuart D Gathman 2019-11-04 23:14:07 UTC
Apparently, we can rebuild linpone-3.6.1 with Requires: ortp < 0.24.0 and also build ortp-0.23.0 for f30,f31.

Comment 15 Stuart D Gathman 2019-11-04 23:24:44 UTC
Also, linphone was last built May 10, and ortp-0.24.2 was built May 31.  So maybe just rebuilding linphone would actually work with 0.24.2.  I'll try that first.

Comment 16 Stuart D Gathman 2019-11-04 23:35:31 UTC
otrp-0.24.2 was successfully unpushed on f30.  So anyone that got it simply needs to downgrade ortp.  We just need to work on f31.  I've changed the version to f31.

Comment 17 Stuart D Gathman 2019-11-05 01:24:28 UTC
linphone-3.6.1 cannot build with ortp-0.24.2 either, it is not compile compatible either.  So I need to figure out how to get an 0.23.0 release added to f31.

Comment 18 Stuart D Gathman 2019-11-05 03:41:39 UTC
Hmm.  One way is to add an ortp-compat subpackage.

Comment 19 Stuart D Gathman 2019-11-05 03:42:12 UTC
*** Bug 1768610 has been marked as a duplicate of this bug. ***

Comment 20 Mike Harvey 2019-11-05 22:40:14 UTC
After upgrade to F31 I am also seeing this same issue.

Comment 21 Stuart D Gathman 2019-11-15 00:36:45 UTC
Ok, ortp already has Epoch:1.  So it won't be any less ugly to just sect Epoch:2 and downgrade to 0.23.0 on f31+.  Then we can at least have something working while we plug away at new upstream realase.  Agreed?

Comment 22 nucleo 2019-11-15 07:42:52 UTC
If no compilation problems with 0.23.0 then I agree.

After that my linphone commits that fixed FTBFS can be reverted

Comment 23 Stuart D Gathman 2019-11-16 18:36:47 UTC
Belledonne Communications has removed the tag for 0.23.0.  Their tags jump from 0.22.0 to 0.24.0.  Fedora still has the tarball for 0.23.0 in the lookaside cache, but I'm not sure if relying on that is kosher for Fedora.  I'm now investigating bundling 0.23.0 with linphone-3.6.1.

Comment 24 Stuart D Gathman 2019-11-16 18:39:02 UTC
Also, I'm curious how the project could build, and still get the undefined symbol.  Also, the undefined symbol is in libmediastreamer_voip.so.3, not ortp.  The only thing that implicates ortp is that downgrading ortp to 0.23.0 fixes the problem.  Maybe we're missing something important.

Comment 25 Stuart D Gathman 2019-11-27 14:10:58 UTC
Well, I don't feel so bad now.  ortp-0.23.0 cannot build on f31, because libsrtp has removed the export of a private get_random function.  So linphone was doomed on 3.6.1 anyway without my meddling.  

That problem can be fixed by supplying a patch with a simple get_random function.  This needs to be cryptographically strong randomness, so I will read from /dev/urandom - and not try to be portable.  This assumes that /dev/urandom is not broken on Fedora (other than the issue of making sure it isn't read too early before the saved random seed is applied - which shouldn't be an issue with linphone).

Comment 26 Roger 2019-11-27 15:34:45 UTC
Could you update to version 4.2 from "https://gitlab.linphone.org/BC/public/linphone-desktop/tree/release/4.2"?

Comment 27 Yajo 2019-12-11 10:11:51 UTC
I cannot downgrade ortp (F31):

➤ env LANG=en_US sudo dnf downgrade ortp
Last metadata expiration check: 1:33:42 ago on Wed 11 Dec 2019 08:36:42 AM WET.
Package ortp of lowest version already installed, cannot downgrade it.
Error: No packages marked for downgrade.

I also cannot install Linphone from flatpak: https://gitlab.linphone.org/BC/public/linphone-desktop/issues/10

😭 But I need to call! What can I do? Do we have any workaround?

Comment 28 Stuart D Gathman 2019-12-11 15:43:05 UTC
(In reply to Yajo from comment #27)
> I cannot downgrade ortp (F31):

I cannot even build the old ortp on F31.  And ortp is not actually the problem.  I am working on building the newest linphone, but it is slow.  There are a number of dependencies.  I've got bctoolbox, bcunit, belle-sip, built locally.  I am currently working on mediastreamer2.  Some need to start a package review process.  Calling all interested packagers....

Personally, I am making calls on an F30 system - but the clock is running out.  :-(

There are some other IP4 only SIP apps in Fedora.  The biggest feature of linphone is that it supports IP6, which is why it was my flagship SIP client.  IPv6 is needed for practical peer-to-peer SIP.  But linphone stopped working with IPv6 VPNs back in Feb 2019 - again due to an underlying dependency.  Which is why Belledonna switched to belle-sip - because the eXosip library they were using jumped the shark.

Comment 29 Stuart D Gathman 2019-12-11 16:08:01 UTC
Ok!  I patched ortp-0.23.0 to read dev/urandom, incremented to Epoch:2, and submitted a build to koji.  I am about to test on an f31 system to see if that lets old linphone run until we get new one built.

Comment 30 Fedora Update System 2019-12-11 18:46:03 UTC
FEDORA-2019-5e010c43c1 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-5e010c43c1

Comment 31 Stuart D Gathman 2019-12-11 18:48:01 UTC
With that downgrade and patch, linphone-3.6.1 works again for me on f31.  Now we can carry on with trying to build the modern version.

Comment 32 Fedora Update System 2019-12-12 02:45:33 UTC
ortp-0.23.0-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-5e010c43c1

Comment 33 Stuart D Gathman 2019-12-12 20:06:46 UTC
*** Bug 1771529 has been marked as a duplicate of this bug. ***

Comment 34 Stuart D Gathman 2019-12-12 20:13:37 UTC
*** Bug 1756660 has been marked as a duplicate of this bug. ***

Comment 35 Stuart D Gathman 2019-12-12 22:38:15 UTC
BTW, I reviewed the code for 0.24.2 - and it uses srand seeded with high precision time of day for random source.  ?!?!?!  This is fixed in 0.27.0.  So 0.24.x was just broken all around.

Comment 36 Fedora Update System 2019-12-18 01:53:32 UTC
ortp-0.23.0-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.