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): linphone_3.6.1_32.fc30 How reproducible: Always Steps to Reproduce: 1. run linphone 2. 3. Actual results: linphone: symbol lookup error: /lib64/libmediastreamer_voip.so.3: undefined symbol: stunParseHostName Expected results: Start of application Additional info:
What version of ortp installed?
ortp-0.24.2-1.fc30.x86_64
This version is in updates-testing. Downgrade to stable version ortp-0.23.0-9.fc30.x86_64
Created attachment 1578390 [details] list of installed packages
It works with ortp-0.23.0-9.fc30.x86_64
Maybe I'd better unpush the testing version.
The issue is major API changes. The rollout plan could be to bundle ortp initially.
Affects Fedora 31 too.
*** Bug 1756940 has been marked as a duplicate of this bug. ***
I think we need to use "epochs" to downgrade ortp in f31 at this point.
Is it possible to build latest ortp with bundled bctoolbox?
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?
Yes, all of them should be separate packages and review requests are needed.
Apparently, we can rebuild linpone-3.6.1 with Requires: ortp < 0.24.0 and also build ortp-0.23.0 for f30,f31.
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.
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.
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.
Hmm. One way is to add an ortp-compat subpackage.
*** Bug 1768610 has been marked as a duplicate of this bug. ***
After upgrade to F31 I am also seeing this same issue.
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?
If no compilation problems with 0.23.0 then I agree. After that my linphone commits that fixed FTBFS can be reverted https://src.fedoraproject.org/rpms/linphone/c/e2ccee3aa7012b6cfc94e6650c6313ca9d016b6d?branch=master https://src.fedoraproject.org/rpms/linphone/c/c1b9d24768fcb4b27689e6db8edfe00e4cb57778?branch=master
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.
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.
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).
Could you update to version 4.2 from "https://gitlab.linphone.org/BC/public/linphone-desktop/tree/release/4.2"?
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?
(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.
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.
FEDORA-2019-5e010c43c1 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-5e010c43c1
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.
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
*** Bug 1771529 has been marked as a duplicate of this bug. ***
*** Bug 1756660 has been marked as a duplicate of this bug. ***
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.
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.