Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 766027 - >=media-video/qmplay2-20.05.02[vulkan] error: call of overloaded 'basic_string(vk::ArrayWrapper1D<char, 256>&)' is ambiguous
Summary: >=media-video/qmplay2-20.05.02[vulkan] error: call of overloaded 'basic_strin...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Dmitriy Baranov
URL: https://github.com/zaps166/QMPlay2/is...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-18 19:03 UTC by PhobosK
Modified: 2021-08-22 17:42 UTC (History)
4 users (show)

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


Attachments
build.log and emerge --info.txt (build.log-emerge-info.txt,24.42 KB, text/plain)
2021-01-18 19:33 UTC, Ionen Wolkens
Details

Note You need to log in before you can comment on or make changes to this bug.
Description PhobosK 2021-01-18 19:03:37 UTC
The =media-video/qmplay2-9999[vulkan] fails to build with this error:


FAILED: src/qmvk/CMakeFiles/QmVk.dir/PhysicalDevice.cpp.o 
/usr/bin/x86_64-pc-linux-gnu-g++ -DNOMINMAX -DQT_USE_FAST_OPERATOR_PLUS -DUSE_OPENGL -DUSE_VULKAN -DUSE_YOUTUBEDL -DVK_NO_PROTOTYPES -DVULKAN_HPP_TYPESAFE_CONVERSION -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Isrc/qmvk/QmVk_autogen/include  -Wall -Wno-deprecated-declarations -march=native -O2 -pipe -fPIC -std=gnu++14 -MD -MT src/qmvk/CMakeFiles/QmVk.dir/PhysicalDevice.cpp.o -MF src/qmvk/CMakeFiles/QmVk.dir/PhysicalDevice.cpp.o.d -o src/qmvk/CMakeFiles/QmVk.dir/PhysicalDevice.cpp.o -c /dev/shm/portage/media-video/qmplay2-9999/work/qmplay2-9999/src/qmvk/PhysicalDevice.cpp
/dev/shm/portage/media-video/qmplay2-9999/work/qmplay2-9999/src/qmvk/PhysicalDevice.cpp: In member function ‘void QmVk::PhysicalDevice::init()’:
/dev/shm/portage/media-video/qmplay2-9999/work/qmplay2-9999/src/qmvk/PhysicalDevice.cpp:41:89: error: call of overloaded ‘basic_string(vk::ArrayWrapper1D<char, 256>&)’ is ambiguous
   41 |         m_extensionProperties.insert(static_cast<string>(extensionProperty.extensionName));
      |                                                                                         ^
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/string:55,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/stdexcept:39,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/array:39,
                 from /usr/include/vulkan/vulkan.hpp:30,
                 from /dev/shm/portage/media-video/qmplay2-9999/work/qmplay2-9999/src/qmvk/PhysicalDevice.hpp:23,
                 from /dev/shm/portage/media-video/qmplay2-9999/work/qmplay2-9999/src/qmvk/PhysicalDevice.cpp:19:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/basic_string.h:552:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  552 |       basic_string(basic_string&& __str) noexcept
      |       ^~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/basic_string.h:525:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  525 |       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
      |       ^~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/basic_string.h:448:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
  448 |       basic_string(const basic_string& __str)
      |       ^~~~~~~~~~~~
ninja: build stopped: subcommand failed.



It doesn't depend on the GCC version used - fails with all the x86_64-pc-linux-gnu-8.4.0, x86_64-pc-linux-gnu-9.3.0 and with x86_64-pc-linux-gnu-10.2.0 too...

Vulkan version is: dev-util/vulkan-headers-1.2.162; media-libs/vulkan-loader-1.2.162-r1


There is a bug report filed upstream for this issue at: https://github.com/zaps166/QMPlay2/issues/390 and according to the developer of the application the problem is distro specific because of an enabled "-DQMVK_FIND_VULKAN=true".
According to him, this should never be used ("QMVK_FIND_VULKAN is disabled by default and should never be used for QMPlay2.") and really - when removing the:

if use vulkan; then
    mycmakeargs+=( -DQMVK_FIND_VULKAN=true )
fi

from the ebuild, the compilation is OK, finishes with no problems and QmPlay2 works perfectly well with vulkan.

Please reconsider the usage of this switch in the ebuild or at least fix it :)

Thanks



Reproducible: Always
Comment 1 Ionen Wolkens gentoo-dev 2021-01-18 19:33:22 UTC
Created attachment 683599 [details]
build.log and emerge --info.txt

Can reproduce with every versions with the flag on ~amd64, including own full log for completeness.
Comment 2 Larry the Git Cow gentoo-dev 2021-08-22 17:42:07 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ca50f1a7fda02e16931c44094daf556f24b8a90

commit 9ca50f1a7fda02e16931c44094daf556f24b8a90
Author:     Arthur Zamarin <arthurzam@gentoo.org>
AuthorDate: 2021-08-22 17:35:16 +0000
Commit:     Arthur Zamarin <arthurzam@gentoo.org>
CommitDate: 2021-08-22 17:39:21 +0000

    media-video/qmplay2: add 21.06.07
    
    Closes: https://bugs.gentoo.org/771918
    Closes: https://bugs.gentoo.org/766027
    Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>

 media-video/qmplay2/Manifest                |   1 +
 media-video/qmplay2/qmplay2-21.06.07.ebuild | 134 ++++++++++++++++++++++++++++
 2 files changed, 135 insertions(+)