/var/tmp/portage/games-emulation/dolphin-5.0_p20210506/work/dolphin-5.0_p20210506/Source/Core/Common/MD5.cpp: In function ‘std::string MD5::MD5Sum(const string&, std::function<bool(int)>)’: /var/tmp/portage/games-emulation/dolphin-5.0_p20210506/work/dolphin-5.0_p20210506/Source/Core/Common/MD5.cpp:29:3: error: ‘mbedtls_md5_starts_ret’ was not declared in this scope; did you mean ‘mbedtls_md5_starts’? 29 | mbedtls_md5_starts_ret(&ctx); | ^~~~~~~~~~~~~~~~~~~~~~ | mbedtls_md5_starts /var/tmp/portage/games-emulation/dolphin-5.0_p20210506/work/dolphin-5.0_p20210506/Source/Core/Common/MD5.cpp:37:5: error: ‘mbedtls_md5_update_ret’ was not declared in this scope; did you mean ‘mbedtls_md5_update’? ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop-j3_debug-20210725-175241 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-11.1.0 * /usr/lib/llvm/12 12.0.1 Python 3.9.6 Available Ruby profiles: [1] ruby26 (with Rubygems) [2] ruby30 (with Rubygems) * Available Rust versions: [1] rust-bin-1.53.0 * The following VMs are available for generation-2: *) AdoptOpenJDK 8.292_p10 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.10.4 HEAD of ::gentoo commit 5cfa384719b084ce24550cd993da9325c2c52b74 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Wed Jul 28 20:36:47 2021 +0000 2021-07-28 20:36:46 UTC emerge -qpvO games-emulation/dolphin [ebuild R ] games-emulation/dolphin-5.0_p20210506 USE="alsa bluetooth evdev -discord-presence -doc -ffmpeg -log -lto -profile -pulseaudio -qt5 -systemd -upnp -vulkan"
Created attachment 727635 [details] emerge-info.txt
Created attachment 727638 [details] emerge-history.txt
Created attachment 727641 [details] environment
Created attachment 727644 [details] etc.portage.tar.bz2
Created attachment 727647 [details] games-emulation:dolphin-5.0_p20210506:20210728-212326.log
Created attachment 727650 [details] logs.tar.bz2
Created attachment 727653 [details] temp.tar.bz2
It's more likely a "2021-07-28T23:22:21 >>> net-libs/mbedtls-3.0.0".
Does mbedtls have a tracker to handle porting to mbedtls-3?
I'm also very confused by API change: mbedtls-2.26.0: /** * \brief MD5 context setup * * \param ctx context to be initialized * * \return 0 if successful */ int mbedtls_md5_starts_ret( mbedtls_md5_context *ctx ); /** * \brief MD5 context setup * * \deprecated Superseded by mbedtls_md5_starts_ret() in 2.7.0 * * \param ctx context to be initialized */ MBEDTLS_DEPRECATED void mbedtls_md5_starts( mbedtls_md5_context *ctx ); mbedtls-3: /** * \brief MD5 context setup * * \param ctx context to be initialized * * \return 0 if successful */ int mbedtls_md5_starts( mbedtls_md5_context *ctx ); (from new mbedtls/compat-2.x.h) #define mbedtls_md5_starts_ret mbedtls_md5_starts It looks like instead of moving away deprecated symbol the non-deprecated one was completely removed.
Any idea if this is fixed upstream or reported there at least yet?
May possibly be given the md5 code was first moved, and then replaced by sha1 -- if it still fails on latest it'll be on something else. Albeit their bundled mbedtls is still 2.28.0.
Unsurprisingly, "something else" is: /tmp/portage/games-emulation/dolphin-5.0_p20220520-r1/work/dolphin-0f2540a0d1133950467845f20b1e003181147781/Source/Core/Core/DolphinAnalytics.cpp: In member function ‘std::string DolphinAnalytics::MakeUniqueId(std::string_view) const’: /tmp/portage/games-emulation/dolphin-5.0_p20220520-r1/work/dolphin-0f2540a0d1133950467845f20b1e003181147781/Source/Core/Core/DolphinAnalytics.cpp:105:3: error: ‘mbedtls_sha1_ret’ was not declared in this scope; did you mean ‘mbedtls_sha1_free’? 105 | mbedtls_sha1_ret(reinterpret_cast<const u8*>(input.c_str()), input.size(), digest.data()); | ^~~~~~~~~~~~~~~~ | mbedtls_sha1_free
Actually, there are more and upstream's still at 2.x.
Even if properly fix mbedtls-3 compilation, there still runtime issue due removing TLS 1.1 in mbedtls-3 branch, and dolphin depends on it. So only choice we got is stick on net-libs/mbedtls:0 slot (I'm moving mbedtls-3 into different slot). See https://github.com/dolphin-emu/dolphin/pull/12246
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d11c430cd07512639d7dfdaa1a5b1f207090e4e3 commit d11c430cd07512639d7dfdaa1a5b1f207090e4e3 Author: Azamat H. Hackimov <azamat.hackimov@gmail.com> AuthorDate: 2025-01-06 00:31:45 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2025-01-06 00:52:36 +0000 games-emulation/dolphin: use slotted mbedtls:0 Dolphin requires MbedTLS from 2.28.x branch. Closes: https://bugs.gentoo.org/804966 Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/39994 Signed-off-by: Sam James <sam@gentoo.org> .../dolphin/{dolphin-2407.ebuild => dolphin-2407-r1.ebuild} | 4 ++-- ...olphin-5.0_p20220520-r3.ebuild => dolphin-5.0_p20220520-r4.ebuild} | 4 ++-- games-emulation/dolphin/dolphin-9999.ebuild | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-)