Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xmake无法检测到libqt5multimedia5包 #5315

Open
jingkaimori opened this issue Jul 7, 2024 · 5 comments
Open

xmake无法检测到libqt5multimedia5包 #5315

jingkaimori opened this issue Jul 7, 2024 · 5 comments
Labels

Comments

@jingkaimori
Copy link
Contributor

Xmake 版本

v2.9.3+20240624

操作系统版本和架构

Ubuntu 22.04LTS

描述问题

本机已通过apt安装 libqt5multimedia5 包,配置项目时报错说无法安装该包。

期待的结果

可以检测到包,从而跳过安装。

工程配置

            add_requires({
                "apt::qtbase5-dev", "apt::qtdeclarative5-dev", "apt::libqt5webkit5-dev",
                "apt::qttools5-dev-tools", "apt::qtmultimedia5-dev",
                "apt::libqt5multimedia5", "apt::libqt5multimedia5-plugins"
            }, {alias = "qt5widgets"})

附加信息和错误日志

note: try installing libqt5multimedia5 with administrator permission (pass -y or --confirm=y/n/d to skip confirm)?
please input: y (y/n)
y
/usr/bin/sudo env PATH=/home/jingkaimori/.xmake/packages/g/git/latest/725e51fe81b74141ade9efbd3ccaf900/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin XMAKE_STATS= COLORTERM=truecolor /usr/bin/apt install -y libqt5multimedia5
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
libqt5multimedia5 已经是最新版 (5.15.3-1)。
下列软件包是自动安装的并且现在不需要了:
  dh-elpa-helper libjsoncpp25 librhash0 libwpe-1.0-1 libwpebackend-fdo-1.0-1
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 3 个软件包未被升级。
finding libqt5multimedia5 from apt ..
checking for apt::libqt5multimedia5 ... no

error: .../modules/private/action/require/impl/actions/install.lua:430: fetch apt::libqt5multimedia5-latest failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:973]: in function 'raiselevel'
    [@programdir/core/sandbox/modules/utils.lua:143]: in function 'assert'
    [.../modules/private/action/require/impl/actions/install.lua:430]:

  => install apt::libqt5multimedia5 latest .. failed

.../modules/private/action/require/impl/actions/install.lua:430: fetch apt::libqt5multimedia5-latest failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:973]: in function 'raiselevel'
    [@programdir/core/sandbox/modules/utils.lua:143]: in function 'assert'
    [.../modules/private/action/require/impl/actions/install.lua:430]:
if you want to get more verbose errors, please see:
  -> /mnt/source/midieditor/build/.packages/a/apt_libqt5multimedia5/latest/cache/installdir.failed/logs/install.txt
error: @programdir/core/main.lua:329: @programdir/modules/async/runjobs.lua:325: .../modules/private/action/require/impl/actions/install.lua:506: install failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:973]:
    [.../modules/private/action/require/impl/actions/install.lua:506]: in function 'catch'
    [@programdir/core/sandbox/modules/try.lua:123]: in function 'try'
    [.../modules/private/action/require/impl/actions/install.lua:370]:
    [...modules/private/action/require/impl/install_packages.lua:491]: in function 'jobfunc'
    [@programdir/modules/async/runjobs.lua:241]:

stack traceback:
	[C]: in function 'error'
	@programdir/core/base/os.lua:973: in function 'base/os.raiselevel'
	(...tail calls...)
	@programdir/core/main.lua:329: in upvalue 'cotask'
	@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>


@jingkaimori jingkaimori added the bug label Jul 7, 2024
@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


Title: xmake cannot detect libqt5multimedia5 package

@waruqi
Copy link
Member

waruqi commented Jul 9, 2024

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


Go here and see why it is not found https://github.com/xmake-io/xmake/blob/dev/xmake/modules/package/manager/apt/find_package.lua

@waruqi
Copy link
Member

waruqi commented Jul 22, 2024

这个包,没有头文件,也没有 .so 后缀的动态库,只有 .so.5 。。也没有 pkgconfig files

所以找不到,至少得有个 libxxx.so 才能找到库

$ dpkg --listfiles libqt5multimedia5
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5.15.3
/usr/share
/usr/share/doc
/usr/share/doc/libqt5multimedia5
/usr/share/doc/libqt5multimedia5/changelog.Debian.gz
/usr/share/doc/libqt5multimedia5/copyright
/usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5
/usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5.15

if line:endswith(".a") or line:endswith(".so") then

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


This package has no header file and no dynamic library with .so suffix, only .so.5. . There are no pkgconfig files either

So it cannot be found, at least there must be libxxx.so to find the library

$ dpkg --listfiles libqt5multimedia5
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5.15.3
/usr/share
/usr/share/doc
/usr/share/doc/libqt5multimedia5
/usr/share/doc/libqt5multimedia5/changelog.Debian.gz
/usr/share/doc/libqt5multimedia5/copyright
/usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5
/usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5.15

if line:endswith(".a") or line:endswith(".so") then

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants