Discussion:
[Buildroot] [PATCH 0/4] Fix a few unmet dependencies (branch yem/unmet-deps)
Yann E. MORIN
2016-09-11 12:38:52 UTC
Permalink
Hello All!

This series fixes a few unmet direct dependencies, like so:

warning: (BR2_INIT_SYSTEMD) selects BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
which has unmet direct dependencies (BR2_ROOTFS_SKELETON_DEFAULT)

However, there is one such unmet direct dependency I was not able to
understand (with this series already applied):

$ make KCONFIG_SEED=0x9F309288 randconfig
warning: (BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER)
selects BR2_PACKAGE_GST_PLUGINS_BASE which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER)
warning: (BR2_PACKAGE_FREERDP_GSTREAMER && BR2_PACKAGE_QT_WEBKIT &&
BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER) selects
BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER && BR2_PACKAGE_GST_PLUGINS_BASE)

As far as I can see, the dependencies of gstreamer and gst-plugins-base
*are* properly propagated to the offending packages. I think I'm gonna
loose my sanity on that one... :-/ If any one feels adventurous...

Regards,
Yann E. MORIN.


The following changes since commit f4918b3a7424bedb0eddf56c713298a78c1160d2

package/x11r7/xserver_xorg-server: glamor depends on libgl (2016-09-08 23:11:05 +0200)


are available in the git repository at:

git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to ff633ea671d650a4be16ff4468579043a5c6e523

system: fix unmet dependencies (2016-09-11 14:33:46 +0200)


----------------------------------------------------------------
Yann E. MORIN (4):
linux/ext: fix Xenomai unmet dependencies
package/docker-engine: fix unmet dependencies
package/weston: fix unmet dependencies
system: fix unmet dependencies

linux/Config.ext.in | 18 ++++++++++--------
package/docker-engine/Config.in | 1 +
package/weston/Config.in | 9 +++++----
system/Config.in | 2 +-
4 files changed, 17 insertions(+), 13 deletions(-)
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
Yann E. MORIN
2016-09-11 12:38:52 UTC
Permalink
Properly propagate the Xenomai dependencies to the kernelexternsion, to
fix the following unmet dependencies:

warning: (BR2_LINUX_KERNEL_EXT_XENOMAI) selects BR2_PACKAGE_XENOMAI
which has unmet direct dependencies (BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
&& BR2_TOOLCHAIN_HAS_THREADS && !BR2_TOOLCHAIN_USES_MUSL)

While at it, move the comment lower, after the path option, so that the
path option is properly indented in the menuconfig.

Add markers to separate each extension.

Signed-off-by: "Yann E. MORIN" <***@free.fr>
---
linux/Config.ext.in | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/linux/Config.ext.in b/linux/Config.ext.in
index 755c23b..da1ebd2 100644
--- a/linux/Config.ext.in
+++ b/linux/Config.ext.in
@@ -1,11 +1,12 @@
menu "Linux Kernel Extensions"

+#-------------------------------------------------------------------------------
# Xenomai
config BR2_LINUX_KERNEL_EXT_XENOMAI
bool "Adeos/Xenomai Real-time patch"
+ depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on BR2_i386 || BR2_x86_64 || BR2_arm || \
- BR2_bfin || BR2_powerpc || BR2_sh4
+ depends on !BR2_TOOLCHAIN_USES_MUSL
select BR2_PACKAGE_XENOMAI
help
Xenomai is split in two parts: a kernel part and a userspace
@@ -24,19 +25,19 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI
Xenomai is know to support Blackfin, SH4, x86, ARM, NIOS2
and PowerPC architectures.

-comment "xenomai needs a toolchain w/ threads"
- depends on BR2_i386 || BR2_x86_64 || BR2_arm || \
- BR2_bfin || BR2_powerpc || BR2_sh4
- depends on !BR2_TOOLCHAIN_HAS_THREADS
-
config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
- depends on BR2_LINUX_KERNEL_EXT_XENOMAI
string "Path for Adeos patch file"
+ depends on BR2_LINUX_KERNEL_EXT_XENOMAI
help
Optionally, explicitly specify the Adeos patch to use.
Download it at http://download.gna.org/adeos/patches
and verify that your kernel version in buildroot matches.

+comment "xenomai needs a uClibc or glibc toolchain w/ threads"
+ depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
+
+#-------------------------------------------------------------------------------
# RTAI
config BR2_LINUX_KERNEL_EXT_RTAI
bool "RTAI Real-time patch"
@@ -44,6 +45,7 @@ config BR2_LINUX_KERNEL_EXT_RTAI
help
RTAI Kernel part.

+#-------------------------------------------------------------------------------
# fbtft
config BR2_LINUX_KERNEL_EXT_FBTFT
bool "FB TFT drivers"
--
2.7.4
Yann E. MORIN
2016-09-11 12:38:53 UTC
Permalink
Properly propagate dependencies from docker-containerd to fix the
following unmet dependencies:

warning: (BR2_PACKAGE_DOCKER_ENGINE_DAEMON) selects
BR2_PACKAGE_DOCKER_CONTAINERD which has unmet direct dependencies
(BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS &&
BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS && BR2_TOOLCHAIN_HAS_THREADS &&
BR2_USE_MMU && BR2_USE_WCHAR)

Signed-off-by: "Yann E. MORIN" <***@free.fr>
---
package/docker-engine/Config.in | 1 +
1 file changed, 1 insertion(+)

diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in
index a22786a..b9b9aac 100644
--- a/package/docker-engine/Config.in
+++ b/package/docker-engine/Config.in
@@ -13,6 +13,7 @@ if BR2_PACKAGE_DOCKER_ENGINE

config BR2_PACKAGE_DOCKER_ENGINE_DAEMON
bool "docker daemon"
+ depends on BR2_USE_MMU # docker-containerd
depends on BR2_USE_WCHAR # docker-containerd
select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency
select BR2_PACKAGE_SQLITE # runtime dependency
--
2.7.4
Yann E. MORIN
2016-09-11 12:38:54 UTC
Permalink
Properly propagate dependencies from freerdp to fix the following unmet
dependencies:

warning: (BR2_PACKAGE_WESTON_RDP) selects BR2_PACKAGE_FREERDP which has
unmet direct dependencies (BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR &&
!BR2_STATIC_LIBS && BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_MMU &&
BR2_TOOLCHAIN_HAS_SYNC_4)

Reorder deps to have architectures deps first.

Remove "broken" dependency from comment; add missing ones.

Signed-off-by: "Yann E. MORIN" <***@free.fr>
---
package/weston/Config.in | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/package/weston/Config.in b/package/weston/Config.in
index c1eb7da..6baa24b 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -53,9 +53,10 @@ config BR2_PACKAGE_WESTON_FBDEV
# FreeRDP needs threads and !static, already the case for weston
config BR2_PACKAGE_WESTON_RDP
bool "RDP compositor"
- depends on BR2_USE_WCHAR # freerdp
depends on BR2_USE_MMU # freerdp, libglib2
depends on BR2_TOOLCHAIN_HAS_SYNC_4
+ depends on BR2_USE_WCHAR # freerdp
+ depends on BR2_INSTALL_LIBSTDCPP # freerdp
select BR2_PACKAGE_FREERDP
select BR2_PACKAGE_WESTON_HAS_COMPOSITOR
help
@@ -71,10 +72,10 @@ config BR2_PACKAGE_WESTON_RDP
so you may want to change them in a post-build script or a rootfs
overlay.

-comment "RDP compositor needs a toolchain w/ wchar"
- depends on BROKEN # needs FreeRDP master
+comment "RDP compositor needs a toolchain w/ wchar, C++"
+ depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
- depends on !BR2_USE_WCHAR
+ depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP

# rpi-userland is an EGL/GLES provider, so we can't select it
config BR2_PACKAGE_WESTON_RPI
--
2.7.4
Yann E. MORIN
2016-09-11 12:38:55 UTC
Permalink
Don't force remounting / read/write when using a customskeleton and
systemd as init system, to fix the following unmet dependencies:

warning: (BR2_INIT_SYSTEMD) selects BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
which has unmet direct dependencies (BR2_ROOTFS_SKELETON_DEFAULT)

Signed-off-by: "Yann E. MORIN" <***@free.fr>
---
system/Config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/Config.in b/system/Config.in
index 353421a..77c665b 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -127,7 +127,7 @@ config BR2_INIT_SYSTEMD
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
select BR2_ROOTFS_MERGED_USR
select BR2_PACKAGE_SYSTEMD
- select BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
+ select BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW if BR2_ROOTFS_SKELETON_DEFAULT

comment "systemd needs a glibc toolchain, headers >= 3.10"
depends on !(BR2_TOOLCHAIN_USES_GLIBC \
--
2.7.4
Thomas Petazzoni
2016-09-11 13:49:21 UTC
Permalink
Hello,
Post by Yann E. MORIN
However, there is one such unmet direct dependency I was not able to
$ make KCONFIG_SEED=0x9F309288 randconfig
warning: (BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER)
selects BR2_PACKAGE_GST_PLUGINS_BASE which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER)
warning: (BR2_PACKAGE_FREERDP_GSTREAMER && BR2_PACKAGE_QT_WEBKIT &&
BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER) selects
BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER && BR2_PACKAGE_GST_PLUGINS_BASE)
As far as I can see, the dependencies of gstreamer and gst-plugins-base
*are* properly propagated to the offending packages. I think I'm gonna
loose my sanity on that one... :-/ If any one feels adventurous...
Do you have some sample .config that exhibits those problems? I had a
quick look, and it indeed seems weird. opencv is select both gstreamer
and gst-plugins-base, so I don't see why the dependency of
gst-plugins-base on gstreamer is a problem.
Post by Yann E. MORIN
linux/ext: fix Xenomai unmet dependencies
package/docker-engine: fix unmet dependencies
package/weston: fix unmet dependencies
system: fix unmet dependencies
All applied, thanks!

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
Yann E. MORIN
2016-09-11 13:54:12 UTC
Permalink
Thomas, All,
Post by Thomas Petazzoni
Post by Yann E. MORIN
However, there is one such unmet direct dependency I was not able to
$ make KCONFIG_SEED=0x9F309288 randconfig
warning: (BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER)
selects BR2_PACKAGE_GST_PLUGINS_BASE which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER)
warning: (BR2_PACKAGE_FREERDP_GSTREAMER && BR2_PACKAGE_QT_WEBKIT &&
BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER) selects
BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER && BR2_PACKAGE_GST_PLUGINS_BASE)
As far as I can see, the dependencies of gstreamer and gst-plugins-base
*are* properly propagated to the offending packages. I think I'm gonna
loose my sanity on that one... :-/ If any one feels adventurous...
Do you have some sample .config that exhibits those problems?
As explained above, just run:

make KCONFIG_SEED=0x9F309288 randconfig

But it may no longer work, since the set of options has changed now. You
can reproduce it with:

$ git checkout f4918b3a
$ make KCONFIG_SEED=0x9F309288 randconfig

(f4918b3a is master before you applied the last few patches changing the
set of options).
Post by Thomas Petazzoni
I had a
quick look, and it indeed seems weird. opencv is select both gstreamer
and gst-plugins-base, so I don't see why the dependency of
gst-plugins-base on gstreamer is a problem.
Neither do I.

And if you run "make olddefconfig" there is no error anymore... :-/

Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
Arnout Vandecappelle
2016-09-11 20:52:44 UTC
Permalink
Post by Yann E. MORIN
Thomas, All,
Post by Thomas Petazzoni
Post by Yann E. MORIN
However, there is one such unmet direct dependency I was not able to
$ make KCONFIG_SEED=0x9F309288 randconfig
warning: (BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER)
selects BR2_PACKAGE_GST_PLUGINS_BASE which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER)
warning: (BR2_PACKAGE_FREERDP_GSTREAMER && BR2_PACKAGE_QT_WEBKIT &&
BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER) selects
BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP which has unmet direct dependencies
(BR2_PACKAGE_GSTREAMER && BR2_PACKAGE_GST_PLUGINS_BASE)
As far as I can see, the dependencies of gstreamer and gst-plugins-base
*are* properly propagated to the offending packages. I think I'm gonna
loose my sanity on that one... :-/ If any one feels adventurous...
Do you have some sample .config that exhibits those problems?
make KCONFIG_SEED=0x9F309288 randconfig
But it may no longer work, since the set of options has changed now. You
$ git checkout f4918b3a
$ make KCONFIG_SEED=0x9F309288 randconfig
(f4918b3a is master before you applied the last few patches changing the
set of options).
Post by Thomas Petazzoni
I had a
quick look, and it indeed seems weird. opencv is select both gstreamer
and gst-plugins-base, so I don't see why the dependency of
gst-plugins-base on gstreamer is a problem.
Neither do I.
And if you run "make olddefconfig" there is no error anymore... :-/
I guess it must be a weird side-effect of the randconfig. The
BR2_PACKAGE_OPENCV_WITH_GSTREAMER && BR2_PACKAGE_OPENCV3_WITH_GSTREAMER
bit is very wrong (opencv3 depends on !opencv).

Regards,
Arnout
Post by Yann E. MORIN
Regards,
Yann E. MORIN.
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Loading...