Description of problem: I was about to compile and build my own local version of the master branch and before I cloned the git repo I ran this as root: dnf build-dep vlc -y That went fine without any errors. However, that didn't seem to install all the necessary dependencies to build VLC as I got this running ./configure: checking for QT... no configure: error: Package 'Qt5Quick', required by 'virtual:world', not found Package 'Qt5QuickWidgets', required by 'virtual:world', not found Package 'Qt5QuickControls2', required by 'virtual:world', not found. If you want to build VLC without GUI, pass --disable-qt. As I do plan to build a GUI for VLC I don't want to use --disable-qt with ./configure I ran this as root: urpmi libqt5quick libqt5quickwidgets5 libqt5quickcontrols2_5 and during the installation I got this message: A desired package cannot be installed: libqt5core-devel-5.12.6-2.mga7.i586 (due to insufficient systemd-devel-241-8.mga7.i586) Version-Release number of selected component (if applicable): 5.12.6 How reproducible: Everytime Steps to Reproduce: 1. Open a terminal. 2. Run this as root: dnf build-dep vlc 3. All dependancies installed just fine, but libqt5quick libqt5quickwidgets5 libqt5quickcontrols2_5 weren't included in the installation. 3. As normal user, run git clone --recursive git://git.videolan.org/vlc.git -b master 4. Do cd vlc/ && aclocal && ./bootstrap && ./configure 5. Here's where the configure script fails to find Qt5Quick, Qt5QuickWidgets and Qt5QuickControls2 which is required by virtual:world.
urpmq --list-media shows: Core Release Core Release Debug Core Updates Core Updates Debug Nonfree Release Nonfree Release Debug Nonfree Updates Nonfree Updates Debug Tainted Release Tainted Release Debug Tainted Updates Tainted Updates Debug Core 32bit Release Core 32bit Updates Nonfree 32bit Release Nonfree 32bit Updates Tainted 32bit Release Tainted 32bit Updates
[I could not find any mention of 'build-dep' in the DNF man page]. Is this a 32-bit system (& problem)? Among all the details, I see 2 problems: 1. The 3 apparently missing dependencies for VLC. I doubt this is a DNF affair. $ urpmq --requires-recursive vlc lib64qt5core5 but not the 3 in question. 2. > A desired package cannot be installed: > libqt5core-devel-5.12.6-2.mga7.i586 > (due to insufficient systemd-devel-241-8.mga7.i586) Exploring this last on my 64-bit box: lib64qt5core-devel-5.12.6-2.mga7 which is required by a huge number of things, including the 3: lib64qt5quickcontrols2-devel lib64qt5quick-devel lib64qt5quickwidgets-devel Should you have tried installing the -devel packages? It is surprising that it should not already be present. Happy on this box with systemd-devel-241-8.5.mga7 $ urpmq --whatrequires systemd-devel lib64qt5core-devel $ urpmq --requires lib64qt5core-devel devel(libsystemd(64bit)) Awaiting your response before assigning.
CC: (none) => lewyssmithSource RPM: dnf => (none)
(In reply to Lewis Smith from comment #2) > [I could not find any mention of 'build-dep' in the DNF man page]. > Is this a 32-bit system (& problem)? No, x86_64. > Should you have tried installing the -devel packages? I did install them, but I still can't build from the master branch. Something is broken I guess. > Awaiting your response before assigning.
You should install the 64-bit devel packages on a 64-bit system. devel packages only contain arch-independent files (e.g. header files), so can be used for building both 32-bit and 64-bit versions (you need to install the appropriate arch-specific lib files). 'urpmq --requires-recursive' only shows the files needed to run a package, not the ones needed to build it. To show the build requirements, you can use rpm -q --requires <package>.src.rpm I don't know a way to do this without downloading the source rpm first. You can also use urpmi --buildrequires <package>.src.rpm to easily install all the necessary packages.
CC: (none) => mageia
(In reply to Martin Whitaker from comment #4) > You should install the 64-bit devel packages on a 64-bit system. devel > packages only contain arch-independent files (e.g. header files), so can be > used for building both 32-bit and 64-bit versions (you need to install the > appropriate arch-specific lib files). > > 'urpmq --requires-recursive' only shows the files needed to run a package, > not the ones needed to build it. To show the build requirements, you can use > > rpm -q --requires <package>.src.rpm > > I don't know a way to do this without downloading the source rpm first. You > can also use > > urpmi --buildrequires <package>.src.rpm > > to easily install all the necessary packages. Yeah, but the problem still remains, if dnf has a command to install build deps, why isn't it also installing these 3 missing packages regardless if they're i586 or x86_64?
(In reply to Kristoffer Grundström from comment #5) > Yeah, but the problem still remains, if dnf has a command to install build > deps, why isn't it also installing these 3 missing packages regardless if > they're i586 or x86_64? % rpm -q --requires vlc-3.0.8-1.mga7.src.rpm | grep -i qt pkgconfig(Qt5Core) >= 5.1.0 pkgconfig(Qt5Gui) pkgconfig(Qt5Svg) pkgconfig(Qt5Widgets) pkgconfig(Qt5X11Extras) No mention of Qt5Quick* there, so seems they aren't required for the mga7 package build. If you can't rebuild vlc from the Mageia source rpm without installing additional packages, there's a bug. If you can, there isn't.
(In reply to Lewis Smith from comment #2) > [I could not find any mention of 'build-dep' in the DNF man page]. Because it comes as a DNF Plugin (in pkg dnf-utils): https://rpm-software-management.github.io/dnf-plugins-core/builddep.html "DNF builddep Plugin Install whatever is needed to build the given .src.rpm or .spec file" "Synopsis dnf builddep <file>..." "Arguments <file> The path to .src.rpm or .spec file, to read the needed build requirements from" Is this pertinent? It looks contradictory: to build or read the file. Also, the parameter name is variable: build-dep | builddep. (In reply to Martin Whitaker from comment #4) As usual, thanks for your intervention. This is an unknown world to me. > 'urpmq --requires-recursive' only shows the files needed to run a package, > not the ones needed to build it. To show the build requirements, you can use > rpm -q --requires <package>.src.rpm -R, --requires List capabilities on which this package depends. OK, I shall believe 'capabilities' is what we are talking about. > urpmi --buildrequires <package>.src.rpm > to easily install all the necessary packages. --buildrequires Select all the "BuildRequires" of the wanted source packages. is clearer. Pity this does not exist also for urpmq to look first. (In reply to Kristoffer Grundström from comment #3) > > Is this a 32-bit system (& problem)? > No, x86_64. which makes those references to .i586 pkgs suspect. Why do you have all those 32-bit repos enabled? > > Should you have tried installing the -devel packages? > I did install them, but I still can't build from the master branch. > Something is broken I guess. Clearly. But I am unsure where. DNS? VLC? Assigning/CC'ing for both. DNF: Neal; VLC: Thierry & DavidG.
Assignee: bugsquad => ngompa13Source RPM: (none) => dnf-4.2.6-1.mga7.src.rpm,vlc-3.0.8-1.mga7.src.rpm
CC: (none) => geiger.david68210, thierry.vignaud
Created attachment 11533 [details] Log file from rebuilding the src.rpm for VLC 3.0.8
CC: (none) => hamnisdude
(In reply to Kristoffer Grundström from comment #8) > Created attachment 11533 [details] > Log file from rebuilding the src.rpm for VLC 3.0.8 I don't know about you guys, but I'd say it's a bug.
You are building from a cauldron SRPM on a mga7 system? There's no guarantee that'll work without some adjustments.
>> Is this a 32-bit system (& problem)? > No, x86_64. A late thought. Much of comment 0 relates to *32-bit* libraries & packages. This is not appropriate for Kristoffer's 64-bit system. Can you try disabling all 32-bit repos, and see what that gives? Did you ever try installing lib64qt5quick lib64qt5quickwidgets5 lib64qt5quickcontrols2_5 [-devel] ?
(In reply to Martin Whitaker from comment #10) > You are building from a cauldron SRPM on a mga7 system? There's no guarantee > that'll work without some adjustments. ...because many of the RPM macros have been changed in cauldron. So, using iurt to test a build from vlc-3.0.8-8.mga8.tainted.src.rpm in a mga7 build environment, I get the same failure you report. But building from vlc-3.0.8-1.mga7.tainted.src.rpm succeeds. Checking the iurt logs, I find these are the only Qt -devel packages that were installed: core/updates/lib64qt5widgets-devel-5.12.6-2.mga7.x86_64.rpm core/updates/lib64qt5dbus-devel-5.12.6-2.mga7.x86_64.rpm core/updates/qtbase5-common-devel-5.12.6-2.mga7.x86_64.rpm core/updates/lib64qt5eglfsdeviceintegration-devel-5.12.6-2.mga7.x86_64.rpm core/updates/lib64qt5core-devel-5.12.6-2.mga7.x86_64.rpm core/updates/lib64qt5xcbqpa-devel-5.12.6-2.mga7.x86_64.rpm core/updates/lib64qt5svg-devel-5.12.6-1.mga7.x86_64.rpm core/updates/lib64qt5x11extras-devel-5.12.6-1.mga7.x86_64.rpm core/updates/lib64qt5gui-devel-5.12.6-2.mga7.x86_64.rpm so the ones you mention in comment #0 are not needed to build the Mageia package, and hence neither dnf nor urpmi will automatically install them. You will need to install them manually.
Resolution: (none) => INVALIDStatus: NEW => RESOLVED
See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=26706
See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=27393