* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms
@ 2017-07-11 17:26 Peter Seiderer
2017-07-11 21:13 ` Thomas Petazzoni
2017-07-17 10:07 ` Hugues FRUCHET
0 siblings, 2 replies; 12+ messages in thread
From: Peter Seiderer @ 2017-07-11 17:26 UTC (permalink / raw)
To: buildroot
Fixes [1]:
CXXLD v4l2-compliance
.../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork'
collect2: error: ld returned 1 exit status
[1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
The libv4l build for noMMU platforms was enabled with commit 'package/libv4l:
allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses
fork internally, so all utils linking against fail to build. Fix this by disabling
the utils on noMMU platforms (so keep building all libraries).
Alternatives would be:
- disable libv4l on all noMMU platforms (not only the utils), revert a part
of commit [2]
- create a patch to disable only libv4lconvert (and all dependend utils)
on noMMU platforms
[2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b
---
package/libv4l/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in
index e7f78dc70f..61c290f251 100644
--- a/package/libv4l/Config.in
+++ b/package/libv4l/Config.in
@@ -19,6 +19,7 @@ comment "libv4l JPEG support not enabled"
config BR2_PACKAGE_LIBV4L_UTILS
bool "v4l-utils tools"
+ depends on BR2_USE_MMU # fork(), used in libv4lconvert linked by various utils eg. v4l2-compliance
help
v4l-utils is a collection of various video4linux and DVB utilities.
Enable this if you want to build the following tools:
--
2.11.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-11 17:26 [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms Peter Seiderer @ 2017-07-11 21:13 ` Thomas Petazzoni 2017-07-17 10:07 ` Hugues FRUCHET 1 sibling, 0 replies; 12+ messages in thread From: Thomas Petazzoni @ 2017-07-11 21:13 UTC (permalink / raw) To: buildroot Hello, On Tue, 11 Jul 2017 19:26:24 +0200, Peter Seiderer wrote: > Fixes [1]: > > CXXLD v4l2-compliance > .../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' > collect2: error: ld returned 1 exit status > > [1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> > --- > The libv4l build for noMMU platforms was enabled with commit 'package/libv4l: > allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses > fork internally, so all utils linking against fail to build. Fix this by disabling > the utils on noMMU platforms (so keep building all libraries). > > Alternatives would be: > > - disable libv4l on all noMMU platforms (not only the utils), revert a part > of commit [2] > > - create a patch to disable only libv4lconvert (and all dependend utils) > on noMMU platforms > > [2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b Hugues, could you comment on this, since you originally re-enabled libv4l for noMMU architectures ? Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-11 17:26 [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms Peter Seiderer 2017-07-11 21:13 ` Thomas Petazzoni @ 2017-07-17 10:07 ` Hugues FRUCHET 2017-07-17 18:09 ` Peter Seiderer 1 sibling, 1 reply; 12+ messages in thread From: Hugues FRUCHET @ 2017-07-17 10:07 UTC (permalink / raw) To: buildroot Hi Peter, I have tested on STM32 platform running Cortex F family having no MMU, shared libraries are disabled (no dlopen) and no fork supported on our setup. libv4lconvert should not have been built at all, because entire lib/ folder build is conditional to shared library support: * configure.ac AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno]) * Makefile.am [...] +if WITH_LIBV4L +SUBDIRS += lib +endif But checking your log I see that --enable-shared is set, so it seems that you are supporting shared libraries on no-MMU platform but without fork() support, is my understanding correct ? What you can do to fix build is to force disabling of libs inside libv4l package: package/libv4l/libv4l.mk +ifeq ($(BR2_USE_MMU),) +LIBV4L_CONF_OPTS += --disable-libv4l +endif Hoping that helps. Best regards, Hugues. On 07/11/2017 07:26 PM, Peter Seiderer wrote: > Fixes [1]: > > CXXLD v4l2-compliance > .../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' > collect2: error: ld returned 1 exit status > > [1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> > --- > The libv4l build for noMMU platforms was enabled with commit 'package/libv4l: > allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses > fork internally, so all utils linking against fail to build. Fix this by disabling > the utils on noMMU platforms (so keep building all libraries). > > Alternatives would be: > > - disable libv4l on all noMMU platforms (not only the utils), revert a part > of commit [2] > > - create a patch to disable only libv4lconvert (and all dependend utils) > on noMMU platforms > > [2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b > --- > package/libv4l/Config.in | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in > index e7f78dc70f..61c290f251 100644 > --- a/package/libv4l/Config.in > +++ b/package/libv4l/Config.in > @@ -19,6 +19,7 @@ comment "libv4l JPEG support not enabled" > > config BR2_PACKAGE_LIBV4L_UTILS > bool "v4l-utils tools" > + depends on BR2_USE_MMU # fork(), used in libv4lconvert linked by various utils eg. v4l2-compliance > help > v4l-utils is a collection of various video4linux and DVB utilities. > Enable this if you want to build the following tools: > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-17 10:07 ` Hugues FRUCHET @ 2017-07-17 18:09 ` Peter Seiderer 2017-07-18 9:08 ` Hugues FRUCHET 0 siblings, 1 reply; 12+ messages in thread From: Peter Seiderer @ 2017-07-17 18:09 UTC (permalink / raw) To: buildroot Hello Hugues, On Mon, 17 Jul 2017 10:07:07 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > Hi Peter, > > I have tested on STM32 platform running Cortex F family having no MMU, > shared libraries are disabled (no dlopen) and no fork supported on our > setup. > > libv4lconvert should not have been built at all, because entire lib/ > folder build is conditional to shared library support: > * configure.ac > AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a > x$enable_shared != xno]) > * Makefile.am > [...] > +if WITH_LIBV4L > +SUBDIRS += lib > +endif A little bit confused, one of the patches you introduced changed it to: - without WITH_LIBV4L: no libv4l libraries at all - without WITH_DYN_LIBV4L: only static libraries, no dynamic libraries And from configure --help: --disable-libv4l disable libv4l compilation --disable-dyn-libv4l disable dynamic libv4l support > > But checking your log I see that --enable-shared is set, so it seems > that you are supporting shared libraries on no-MMU platform but without > fork() support, is my understanding correct ? > Yes... > What you can do to fix build is to force disabling of libs inside libv4l > package: > > package/libv4l/libv4l.mk > +ifeq ($(BR2_USE_MMU),) > +LIBV4L_CONF_OPTS += --disable-libv4l > +endif Works, but feels wrong: A package named libv4l enabled and building/installing nothing (except when LIBV4L_UTILS is enabled)... Regards, Peter > > Hoping that helps. > > Best regards, > Hugues. > > On 07/11/2017 07:26 PM, Peter Seiderer wrote: > > Fixes [1]: > > > > CXXLD v4l2-compliance > > .../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' > > collect2: error: ld returned 1 exit status > > > > [1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe > > > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> > > --- > > The libv4l build for noMMU platforms was enabled with commit 'package/libv4l: > > allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses > > fork internally, so all utils linking against fail to build. Fix this by disabling > > the utils on noMMU platforms (so keep building all libraries). > > > > Alternatives would be: > > > > - disable libv4l on all noMMU platforms (not only the utils), revert a part > > of commit [2] > > > > - create a patch to disable only libv4lconvert (and all dependend utils) > > on noMMU platforms > > > > [2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b > > --- > > package/libv4l/Config.in | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in > > index e7f78dc70f..61c290f251 100644 > > --- a/package/libv4l/Config.in > > +++ b/package/libv4l/Config.in > > @@ -19,6 +19,7 @@ comment "libv4l JPEG support not enabled" > > > > config BR2_PACKAGE_LIBV4L_UTILS > > bool "v4l-utils tools" > > + depends on BR2_USE_MMU # fork(), used in libv4lconvert linked by various utils eg. v4l2-compliance > > help > > v4l-utils is a collection of various video4linux and DVB utilities. > > Enable this if you want to build the following tools: > > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-17 18:09 ` Peter Seiderer @ 2017-07-18 9:08 ` Hugues FRUCHET 2017-07-22 19:44 ` Thomas Petazzoni 2017-07-22 21:36 ` Peter Seiderer 0 siblings, 2 replies; 12+ messages in thread From: Hugues FRUCHET @ 2017-07-18 9:08 UTC (permalink / raw) To: buildroot Hi Peter, On 07/17/2017 08:09 PM, Peter Seiderer wrote: > Hello Hugues, > > On Mon, 17 Jul 2017 10:07:07 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > >> Hi Peter, >> >> I have tested on STM32 platform running Cortex F family having no MMU, >> shared libraries are disabled (no dlopen) and no fork supported on our >> setup. >> >> libv4lconvert should not have been built at all, because entire lib/ >> folder build is conditional to shared library support: >> * configure.ac >> AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a >> x$enable_shared != xno]) >> * Makefile.am >> [...] >> +if WITH_LIBV4L >> +SUBDIRS += lib >> +endif > > A little bit confused, one of the patches you introduced changed it to: > > - without WITH_LIBV4L: no libv4l libraries at all > - without WITH_DYN_LIBV4L: only static libraries, no dynamic libraries > > And from configure --help: > > --disable-libv4l disable libv4l compilation > --disable-dyn-libv4l disable dynamic libv4l support This package is named "libv4l" in buildroot but repo name is "v4l-utils" which contains: 1) some library plugins on top of V4L kernel interface in order to intercept user calls and hook/convert to the appropriate kernel call. => so called "libv4l" and located in "lib/" folder 2) some utilities located in "utils/" folder, such as the V4L compliancy tool "v4l2-compliance" or the CEC compliancy tool "cec-compliance" which are calling either the libv4l interface (default), the libv4l interface but statically linked inside utilities (--disable-dyn-libv4l) or the V4L kernel interface directly (--disable-libv4l). Hope that helps to better understand the options. > >> >> But checking your log I see that --enable-shared is set, so it seems >> that you are supporting shared libraries on no-MMU platform but without >> fork() support, is my understanding correct ? >> > > Yes... > >> What you can do to fix build is to force disabling of libs inside libv4l >> package: >> >> package/libv4l/libv4l.mk >> +ifeq ($(BR2_USE_MMU),) >> +LIBV4L_CONF_OPTS += --disable-libv4l >> +endif > > Works, but feels wrong: A package named libv4l enabled and building/installing > nothing (except when LIBV4L_UTILS is enabled)... Right. The aim of the no-MMU dependency removal patchset was to enable build of "utils" even on no-MMU platform. This is required to build at least the 2 mandatory compliancy tools: - v4l-compliance: its test report is required by V4L maintainers and is to be attached to the cover letter of any V4L driver pushed upstream. - cec-compliance: the same for CEC drivers. Please note that you cannot use the libv4l plugins mechanism without having fork() support, see libv4lconvert/helper.c, v4lconvert_helper_start(). Means that only V4L utilities can be currently supported on no-MMU platforms. Back to your exact build issue, the best fix on my opinion is to add a dependency on fork() symbol in configure.ac instead of the one proposed in libv4l.mk, find attached a patch proposal. Regards, Hugues. > > Regards, > Peter > >> >> Hoping that helps. >> >> Best regards, >> Hugues. >> >> On 07/11/2017 07:26 PM, Peter Seiderer wrote: >>> Fixes [1]: >>> >>> CXXLD v4l2-compliance >>> .../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' >>> collect2: error: ld returned 1 exit status >>> >>> [1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe >>> >>> Signed-off-by: Peter Seiderer <ps.report@gmx.net> >>> --- >>> The libv4l build for noMMU platforms was enabled with commit 'package/libv4l: >>> allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses >>> fork internally, so all utils linking against fail to build. Fix this by disabling >>> the utils on noMMU platforms (so keep building all libraries). >>> >>> Alternatives would be: >>> >>> - disable libv4l on all noMMU platforms (not only the utils), revert a part >>> of commit [2] >>> >>> - create a patch to disable only libv4lconvert (and all dependend utils) >>> on noMMU platforms >>> >>> [2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b >>> --- >>> package/libv4l/Config.in | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in >>> index e7f78dc70f..61c290f251 100644 >>> --- a/package/libv4l/Config.in >>> +++ b/package/libv4l/Config.in >>> @@ -19,6 +19,7 @@ comment "libv4l JPEG support not enabled" >>> >>> config BR2_PACKAGE_LIBV4L_UTILS >>> bool "v4l-utils tools" >>> + depends on BR2_USE_MMU # fork(), used in libv4lconvert linked by various utils eg. v4l2-compliance >>> help >>> v4l-utils is a collection of various video4linux and DVB utilities. >>> Enable this if you want to build the following tools: >>> >> _______________________________________________ >> buildroot mailing list >> buildroot at busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot > -------------- next part -------------- A non-text attachment was scrubbed... Name: 0010-configure.ac-disable-libv4l-if-no-fork.patch Type: text/x-patch Size: 1490 bytes Desc: 0010-configure.ac-disable-libv4l-if-no-fork.patch URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170718/a60cefe5/attachment.bin> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-18 9:08 ` Hugues FRUCHET @ 2017-07-22 19:44 ` Thomas Petazzoni 2017-07-24 8:14 ` Hugues FRUCHET 2017-07-22 21:36 ` Peter Seiderer 1 sibling, 1 reply; 12+ messages in thread From: Thomas Petazzoni @ 2017-07-22 19:44 UTC (permalink / raw) To: buildroot Hello, On Tue, 18 Jul 2017 09:08:18 +0000, Hugues FRUCHET wrote: > Back to your exact build issue, the best fix on my opinion is to add a > dependency on fork() symbol in configure.ac instead of the one proposed > in libv4l.mk, find attached a patch proposal. Does your patch actually work? A lot of the utils in utils/ do require the libraries, won't they fail to build if the libraries are not built ? Could you make a clean patch submission to resolve this issue ? Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-22 19:44 ` Thomas Petazzoni @ 2017-07-24 8:14 ` Hugues FRUCHET 0 siblings, 0 replies; 12+ messages in thread From: Hugues FRUCHET @ 2017-07-24 8:14 UTC (permalink / raw) To: buildroot Hi Thomas, On 07/22/2017 09:44 PM, Thomas Petazzoni wrote: > Hello, > > On Tue, 18 Jul 2017 09:08:18 +0000, Hugues FRUCHET wrote: > >> Back to your exact build issue, the best fix on my opinion is to add a >> dependency on fork() symbol in configure.ac instead of the one proposed >> in libv4l.mk, find attached a patch proposal. > > Does your patch actually work? A lot of the utils in utils/ do require > the libraries, won't they fail to build if the libraries are not built ? Those which depends on libraries won't be built, but some will remains built, as the compliancy tools. This was the aim of the initial patch. > > Could you make a clean patch submission to resolve this issue ? There was a typo in proposed patch, I've sent to Peter a fixed version. When build is confirmed OK by Peter, I'll push to both V4L2 and buildroot lists. > > Thanks, > > Thomas > BR, Hugues. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-18 9:08 ` Hugues FRUCHET 2017-07-22 19:44 ` Thomas Petazzoni @ 2017-07-22 21:36 ` Peter Seiderer 2017-07-24 8:08 ` Hugues FRUCHET 1 sibling, 1 reply; 12+ messages in thread From: Peter Seiderer @ 2017-07-22 21:36 UTC (permalink / raw) To: buildroot Hello Hugues, On Tue, 18 Jul 2017 09:08:18 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > Hi Peter, > > On 07/17/2017 08:09 PM, Peter Seiderer wrote: > > Hello Hugues, > > > > On Mon, 17 Jul 2017 10:07:07 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > > > >> Hi Peter, > >> > >> I have tested on STM32 platform running Cortex F family having no MMU, > >> shared libraries are disabled (no dlopen) and no fork supported on our > >> setup. > >> > >> libv4lconvert should not have been built at all, because entire lib/ > >> folder build is conditional to shared library support: > >> * configure.ac > >> AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a > >> x$enable_shared != xno]) > >> * Makefile.am > >> [...] > >> +if WITH_LIBV4L > >> +SUBDIRS += lib > >> +endif > > > > A little bit confused, one of the patches you introduced changed it to: > > > > - without WITH_LIBV4L: no libv4l libraries at all > > - without WITH_DYN_LIBV4L: only static libraries, no dynamic libraries > > > > And from configure --help: > > > > --disable-libv4l disable libv4l compilation > > --disable-dyn-libv4l disable dynamic libv4l support > > This package is named "libv4l" in buildroot but repo name is "v4l-utils" > which contains: > 1) some library plugins on top of V4L kernel interface in order to > intercept user calls and hook/convert to the appropriate kernel call. > => so called "libv4l" and located in "lib/" folder > 2) some utilities located in "utils/" folder, such as the V4L compliancy > tool "v4l2-compliance" or the CEC compliancy tool "cec-compliance" which > are calling either the libv4l interface (default), the libv4l interface > but statically linked inside utilities (--disable-dyn-libv4l) or the V4L > kernel interface directly (--disable-libv4l). > Hope that helps to better understand the options. > > > > >> > >> But checking your log I see that --enable-shared is set, so it seems > >> that you are supporting shared libraries on no-MMU platform but without > >> fork() support, is my understanding correct ? > >> > > > > Yes... > > > >> What you can do to fix build is to force disabling of libs inside libv4l > >> package: > >> > >> package/libv4l/libv4l.mk > >> +ifeq ($(BR2_USE_MMU),) > >> +LIBV4L_CONF_OPTS += --disable-libv4l > >> +endif > > > > Works, but feels wrong: A package named libv4l enabled and building/installing > > nothing (except when LIBV4L_UTILS is enabled)... > > Right. > The aim of the no-MMU dependency removal patchset was to enable build of > "utils" even on no-MMU platform. This is required to build at least the > 2 mandatory compliancy tools: > - v4l-compliance: its test report is required by V4L maintainers and is > to be attached to the cover letter of any V4L driver pushed upstream. > - cec-compliance: the same for CEC drivers. > > > Please note that you cannot use the libv4l plugins mechanism without > having fork() support, see libv4lconvert/helper.c, > v4lconvert_helper_start(). Yes, but only libv4lconvert needs fork, all other libraries not..., without fork support only libv4lconvert (and all dependent utils) should not be built... > Means that only V4L utilities can be currently supported on no-MMU > platforms. > > Back to your exact build issue, the best fix on my opinion is to add a > dependency on fork() symbol in configure.ac instead of the one proposed > in libv4l.mk, find attached a patch proposal. Patch did not work: $ make libv4l [...] compile time options summary ============================ Host OS : linux-uclibc X11 : no GL : no glu : no libjpeg : libudev : no pthread : yes fork : no QT version : none ALSA support : no build dynamic libs : yes build static libs : no gconv : no libv4l : yes dynamic libv4l : yes v4l_plugins : yes v4l_wrappers : yes libdvbv5 : no dvbv5-daemon : no v4lutils : yes qv4l2 : no v4l2-ctl uses libv4l : yes v4l2-compliance uses libv4l: yes [...] helper.c: In function ?v4lconvert_helper_start?: helper.c:64:25: warning: implicit declaration of function ?fork? [-Wimplicit-function-declaration] data->decompress_pid = fork(); ^~~~ [...] CXXLD v4l2-compliance .../build_bfin_libv4l_fix_fork_001/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' collect2: error: ld returned 1 exit status Regards, Peter > > > Regards, > Hugues. > > > > Regards, > > Peter > > > >> > >> Hoping that helps. > >> > >> Best regards, > >> Hugues. > >> > >> On 07/11/2017 07:26 PM, Peter Seiderer wrote: > >>> Fixes [1]: > >>> > >>> CXXLD v4l2-compliance > >>> .../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' > >>> collect2: error: ld returned 1 exit status > >>> > >>> [1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe > >>> > >>> Signed-off-by: Peter Seiderer <ps.report@gmx.net> > >>> --- > >>> The libv4l build for noMMU platforms was enabled with commit 'package/libv4l: > >>> allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses > >>> fork internally, so all utils linking against fail to build. Fix this by disabling > >>> the utils on noMMU platforms (so keep building all libraries). > >>> > >>> Alternatives would be: > >>> > >>> - disable libv4l on all noMMU platforms (not only the utils), revert a part > >>> of commit [2] > >>> > >>> - create a patch to disable only libv4lconvert (and all dependend utils) > >>> on noMMU platforms > >>> > >>> [2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b > >>> --- > >>> package/libv4l/Config.in | 1 + > >>> 1 file changed, 1 insertion(+) > >>> > >>> diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in > >>> index e7f78dc70f..61c290f251 100644 > >>> --- a/package/libv4l/Config.in > >>> +++ b/package/libv4l/Config.in > >>> @@ -19,6 +19,7 @@ comment "libv4l JPEG support not enabled" > >>> > >>> config BR2_PACKAGE_LIBV4L_UTILS > >>> bool "v4l-utils tools" > >>> + depends on BR2_USE_MMU # fork(), used in libv4lconvert linked by various utils eg. v4l2-compliance > >>> help > >>> v4l-utils is a collection of various video4linux and DVB utilities. > >>> Enable this if you want to build the following tools: > >>> > >> _______________________________________________ > >> buildroot mailing list > >> buildroot at busybox.net > >> http://lists.busybox.net/mailman/listinfo/buildroot > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-22 21:36 ` Peter Seiderer @ 2017-07-24 8:08 ` Hugues FRUCHET 2017-07-24 17:38 ` Peter Seiderer 0 siblings, 1 reply; 12+ messages in thread From: Hugues FRUCHET @ 2017-07-24 8:08 UTC (permalink / raw) To: buildroot Hi Peter, Sorry, typo in patch, this one should work as expected. Best regards, Hugues. On 07/22/2017 11:36 PM, Peter Seiderer wrote: > Hello Hugues, > > On Tue, 18 Jul 2017 09:08:18 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > >> Hi Peter, >> >> On 07/17/2017 08:09 PM, Peter Seiderer wrote: >>> Hello Hugues, >>> >>> On Mon, 17 Jul 2017 10:07:07 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: >>> >>>> Hi Peter, >>>> >>>> I have tested on STM32 platform running Cortex F family having no MMU, >>>> shared libraries are disabled (no dlopen) and no fork supported on our >>>> setup. >>>> >>>> libv4lconvert should not have been built at all, because entire lib/ >>>> folder build is conditional to shared library support: >>>> * configure.ac >>>> AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a >>>> x$enable_shared != xno]) >>>> * Makefile.am >>>> [...] >>>> +if WITH_LIBV4L >>>> +SUBDIRS += lib >>>> +endif >>> >>> A little bit confused, one of the patches you introduced changed it to: >>> >>> - without WITH_LIBV4L: no libv4l libraries at all >>> - without WITH_DYN_LIBV4L: only static libraries, no dynamic libraries >>> >>> And from configure --help: >>> >>> --disable-libv4l disable libv4l compilation >>> --disable-dyn-libv4l disable dynamic libv4l support >> >> This package is named "libv4l" in buildroot but repo name is "v4l-utils" >> which contains: >> 1) some library plugins on top of V4L kernel interface in order to >> intercept user calls and hook/convert to the appropriate kernel call. >> => so called "libv4l" and located in "lib/" folder >> 2) some utilities located in "utils/" folder, such as the V4L compliancy >> tool "v4l2-compliance" or the CEC compliancy tool "cec-compliance" which >> are calling either the libv4l interface (default), the libv4l interface >> but statically linked inside utilities (--disable-dyn-libv4l) or the V4L >> kernel interface directly (--disable-libv4l). >> Hope that helps to better understand the options. >> >>> >>>> >>>> But checking your log I see that --enable-shared is set, so it seems >>>> that you are supporting shared libraries on no-MMU platform but without >>>> fork() support, is my understanding correct ? >>>> >>> >>> Yes... >>> >>>> What you can do to fix build is to force disabling of libs inside libv4l >>>> package: >>>> >>>> package/libv4l/libv4l.mk >>>> +ifeq ($(BR2_USE_MMU),) >>>> +LIBV4L_CONF_OPTS += --disable-libv4l >>>> +endif >>> >>> Works, but feels wrong: A package named libv4l enabled and building/installing >>> nothing (except when LIBV4L_UTILS is enabled)... >> >> Right. >> The aim of the no-MMU dependency removal patchset was to enable build of >> "utils" even on no-MMU platform. This is required to build at least the >> 2 mandatory compliancy tools: >> - v4l-compliance: its test report is required by V4L maintainers and is >> to be attached to the cover letter of any V4L driver pushed upstream. >> - cec-compliance: the same for CEC drivers. >> >> >> Please note that you cannot use the libv4l plugins mechanism without >> having fork() support, see libv4lconvert/helper.c, >> v4lconvert_helper_start(). > > Yes, but only libv4lconvert needs fork, all other libraries not..., > without fork support only libv4lconvert (and all dependent utils) > should not be built... > >> Means that only V4L utilities can be currently supported on no-MMU >> platforms. >> >> Back to your exact build issue, the best fix on my opinion is to add a >> dependency on fork() symbol in configure.ac instead of the one proposed >> in libv4l.mk, find attached a patch proposal. > > Patch did not work: > > $ make libv4l > [...] > compile time options summary > ============================ > > Host OS : linux-uclibc > X11 : no > GL : no > glu : no > libjpeg : > libudev : no > pthread : yes > fork : no > QT version : none > ALSA support : no > > build dynamic libs : yes > build static libs : no > > gconv : no > > libv4l : yes > dynamic libv4l : yes > v4l_plugins : yes > v4l_wrappers : yes > libdvbv5 : no > dvbv5-daemon : no > v4lutils : yes > qv4l2 : no > v4l2-ctl uses libv4l : yes > v4l2-compliance uses libv4l: yes > [...] > helper.c: In function ?v4lconvert_helper_start?: > helper.c:64:25: warning: implicit declaration of function ?fork? [-Wimplicit-function-declaration] > data->decompress_pid = fork(); > ^~~~ > [...] > CXXLD v4l2-compliance > .../build_bfin_libv4l_fix_fork_001/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' > collect2: error: ld returned 1 exit status > > Regards, > Peter > > >> >> >> Regards, >> Hugues. >>> >>> Regards, >>> Peter >>> >>>> >>>> Hoping that helps. >>>> >>>> Best regards, >>>> Hugues. >>>> >>>> On 07/11/2017 07:26 PM, Peter Seiderer wrote: >>>>> Fixes [1]: >>>>> >>>>> CXXLD v4l2-compliance >>>>> .../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' >>>>> collect2: error: ld returned 1 exit status >>>>> >>>>> [1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe >>>>> >>>>> Signed-off-by: Peter Seiderer <ps.report@gmx.net> >>>>> --- >>>>> The libv4l build for noMMU platforms was enabled with commit 'package/libv4l: >>>>> allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses >>>>> fork internally, so all utils linking against fail to build. Fix this by disabling >>>>> the utils on noMMU platforms (so keep building all libraries). >>>>> >>>>> Alternatives would be: >>>>> >>>>> - disable libv4l on all noMMU platforms (not only the utils), revert a part >>>>> of commit [2] >>>>> >>>>> - create a patch to disable only libv4lconvert (and all dependend utils) >>>>> on noMMU platforms >>>>> >>>>> [2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b >>>>> --- >>>>> package/libv4l/Config.in | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in >>>>> index e7f78dc70f..61c290f251 100644 >>>>> --- a/package/libv4l/Config.in >>>>> +++ b/package/libv4l/Config.in >>>>> @@ -19,6 +19,7 @@ comment "libv4l JPEG support not enabled" >>>>> >>>>> config BR2_PACKAGE_LIBV4L_UTILS >>>>> bool "v4l-utils tools" >>>>> + depends on BR2_USE_MMU # fork(), used in libv4lconvert linked by various utils eg. v4l2-compliance >>>>> help >>>>> v4l-utils is a collection of various video4linux and DVB utilities. >>>>> Enable this if you want to build the following tools: >>>>> >>>> _______________________________________________ >>>> buildroot mailing list >>>> buildroot at busybox.net >>>> http://lists.busybox.net/mailman/listinfo/buildroot >>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: 0010-configure.ac-disable-libv4l-if-no-fork.patch Type: text/x-patch Size: 1488 bytes Desc: 0010-configure.ac-disable-libv4l-if-no-fork.patch URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170724/0fbd079b/attachment.bin> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-24 8:08 ` Hugues FRUCHET @ 2017-07-24 17:38 ` Peter Seiderer 2017-07-24 17:51 ` Peter Seiderer 0 siblings, 1 reply; 12+ messages in thread From: Peter Seiderer @ 2017-07-24 17:38 UTC (permalink / raw) To: buildroot Hello Hugues, On Mon, 24 Jul 2017 08:08:45 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > Hi Peter, > > Sorry, typo in patch, this one should work as expected. > > Best regards, > Hugues. > Yes, the new version of the patch works: $ make libv4l [...] Applying 0010-configure.ac-disable-libv4l-if-no-fork.patch using patch: [...] compile time options summary ============================ Host OS : linux-uclibc X11 : no GL : no glu : no libjpeg : libudev : no pthread : yes fork : no QT version : none ALSA support : no build dynamic libs : yes build static libs : no gconv : no libv4l : no dynamic libv4l : yes v4l_plugins : yes v4l_wrappers : yes libdvbv5 : no dvbv5-daemon : no v4lutils : yes qv4l2 : no v4l2-ctl uses libv4l : yes v4l2-compliance uses libv4l: yes [...] $ ls -ltr target/usr/bin/ [...] -rwxr-xr-x 1 seiderer users 259172 Jul 24 19:29 decode_tm6000 -rwxr-xr-x 1 seiderer users 13988 Jul 24 19:29 ivtv-ctl -rwxr-xr-x 1 seiderer users 198868 Jul 24 19:29 ir-ctl -rwxr-xr-x 1 seiderer users 12240 Jul 24 19:29 cx18-ctl -rwxr-xr-x 1 seiderer users 215068 Jul 24 19:29 ir-keytable -rwxr-xr-x 1 seiderer users 53452 Jul 24 19:29 media-ctl -rwxr-xr-x 1 seiderer users 206532 Jul 24 19:29 v4l2-compliance -rwxr-xr-x 1 seiderer users 265676 Jul 24 19:29 v4l2-ctl -rwxr-xr-x 1 seiderer users 188496 Jul 24 19:29 v4l2-sysfs-path -rwxr-xr-x 1 seiderer users 154228 Jul 24 19:29 cec-ctl -rwxr-xr-x 1 seiderer users 122344 Jul 24 19:29 cec-compliance -rwxr-xr-x 1 seiderer users 69860 Jul 24 19:29 cec-follower $ ls -ltr target/usr/lib drwxr-xr-x 3 seiderer users 4096 Jul 11 19:06 libv4l -rwxr-xr-x 1 seiderer users 39408 Jul 11 19:06 libv4l2.so.0.0.0 -rwxr-xr-x 1 seiderer users 17032 Jul 11 19:06 libv4l1.so.0.0.0 -rwxr-xr-x 1 seiderer users 105432 Jul 11 19:06 libv4lconvert.so.0.0.0 -rwxr-xr-x 1 seiderer users 18384 Jul 11 19:06 libv4l2rds.so.0.0.0 Thanks for your efforts... Regards, Peter > On 07/22/2017 11:36 PM, Peter Seiderer wrote: > > Hello Hugues, > > > > On Tue, 18 Jul 2017 09:08:18 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > > > >> Hi Peter, > >> > >> On 07/17/2017 08:09 PM, Peter Seiderer wrote: > >>> Hello Hugues, > >>> > >>> On Mon, 17 Jul 2017 10:07:07 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > >>> > >>>> Hi Peter, > >>>> > >>>> I have tested on STM32 platform running Cortex F family having no MMU, > >>>> shared libraries are disabled (no dlopen) and no fork supported on our > >>>> setup. > >>>> > >>>> libv4lconvert should not have been built at all, because entire lib/ > >>>> folder build is conditional to shared library support: > >>>> * configure.ac > >>>> AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a > >>>> x$enable_shared != xno]) > >>>> * Makefile.am > >>>> [...] > >>>> +if WITH_LIBV4L > >>>> +SUBDIRS += lib > >>>> +endif > >>> > >>> A little bit confused, one of the patches you introduced changed it to: > >>> > >>> - without WITH_LIBV4L: no libv4l libraries at all > >>> - without WITH_DYN_LIBV4L: only static libraries, no dynamic libraries > >>> > >>> And from configure --help: > >>> > >>> --disable-libv4l disable libv4l compilation > >>> --disable-dyn-libv4l disable dynamic libv4l support > >> > >> This package is named "libv4l" in buildroot but repo name is "v4l-utils" > >> which contains: > >> 1) some library plugins on top of V4L kernel interface in order to > >> intercept user calls and hook/convert to the appropriate kernel call. > >> => so called "libv4l" and located in "lib/" folder > >> 2) some utilities located in "utils/" folder, such as the V4L compliancy > >> tool "v4l2-compliance" or the CEC compliancy tool "cec-compliance" which > >> are calling either the libv4l interface (default), the libv4l interface > >> but statically linked inside utilities (--disable-dyn-libv4l) or the V4L > >> kernel interface directly (--disable-libv4l). > >> Hope that helps to better understand the options. > >> > >>> > >>>> > >>>> But checking your log I see that --enable-shared is set, so it seems > >>>> that you are supporting shared libraries on no-MMU platform but without > >>>> fork() support, is my understanding correct ? > >>>> > >>> > >>> Yes... > >>> > >>>> What you can do to fix build is to force disabling of libs inside libv4l > >>>> package: > >>>> > >>>> package/libv4l/libv4l.mk > >>>> +ifeq ($(BR2_USE_MMU),) > >>>> +LIBV4L_CONF_OPTS += --disable-libv4l > >>>> +endif > >>> > >>> Works, but feels wrong: A package named libv4l enabled and building/installing > >>> nothing (except when LIBV4L_UTILS is enabled)... > >> > >> Right. > >> The aim of the no-MMU dependency removal patchset was to enable build of > >> "utils" even on no-MMU platform. This is required to build at least the > >> 2 mandatory compliancy tools: > >> - v4l-compliance: its test report is required by V4L maintainers and is > >> to be attached to the cover letter of any V4L driver pushed upstream. > >> - cec-compliance: the same for CEC drivers. > >> > >> > >> Please note that you cannot use the libv4l plugins mechanism without > >> having fork() support, see libv4lconvert/helper.c, > >> v4lconvert_helper_start(). > > > > Yes, but only libv4lconvert needs fork, all other libraries not..., > > without fork support only libv4lconvert (and all dependent utils) > > should not be built... > > > >> Means that only V4L utilities can be currently supported on no-MMU > >> platforms. > >> > >> Back to your exact build issue, the best fix on my opinion is to add a > >> dependency on fork() symbol in configure.ac instead of the one proposed > >> in libv4l.mk, find attached a patch proposal. > > > > Patch did not work: > > > > $ make libv4l > > [...] > > compile time options summary > > ============================ > > > > Host OS : linux-uclibc > > X11 : no > > GL : no > > glu : no > > libjpeg : > > libudev : no > > pthread : yes > > fork : no > > QT version : none > > ALSA support : no > > > > build dynamic libs : yes > > build static libs : no > > > > gconv : no > > > > libv4l : yes > > dynamic libv4l : yes > > v4l_plugins : yes > > v4l_wrappers : yes > > libdvbv5 : no > > dvbv5-daemon : no > > v4lutils : yes > > qv4l2 : no > > v4l2-ctl uses libv4l : yes > > v4l2-compliance uses libv4l: yes > > [...] > > helper.c: In function ?v4lconvert_helper_start?: > > helper.c:64:25: warning: implicit declaration of function ?fork? [-Wimplicit-function-declaration] > > data->decompress_pid = fork(); > > ^~~~ > > [...] > > CXXLD v4l2-compliance > > .../build_bfin_libv4l_fix_fork_001/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' > > collect2: error: ld returned 1 exit status > > > > Regards, > > Peter > > > > > >> > >> > >> Regards, > >> Hugues. > >>> > >>> Regards, > >>> Peter > >>> > >>>> > >>>> Hoping that helps. > >>>> > >>>> Best regards, > >>>> Hugues. > >>>> > >>>> On 07/11/2017 07:26 PM, Peter Seiderer wrote: > >>>>> Fixes [1]: > >>>>> > >>>>> CXXLD v4l2-compliance > >>>>> .../output/build/libv4l-1.12.5/lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `fork' > >>>>> collect2: error: ld returned 1 exit status > >>>>> > >>>>> [1] http://autobuild.buildroot.net/results/7e8/7e8fbd99a8c091d7bbeedd16066297682bbe29fe > >>>>> > >>>>> Signed-off-by: Peter Seiderer <ps.report@gmx.net> > >>>>> --- > >>>>> The libv4l build for noMMU platforms was enabled with commit 'package/libv4l: > >>>>> allow build of v4l2 utilities on noMMU platforms' (see [2]). But libv4lconvert uses > >>>>> fork internally, so all utils linking against fail to build. Fix this by disabling > >>>>> the utils on noMMU platforms (so keep building all libraries). > >>>>> > >>>>> Alternatives would be: > >>>>> > >>>>> - disable libv4l on all noMMU platforms (not only the utils), revert a part > >>>>> of commit [2] > >>>>> > >>>>> - create a patch to disable only libv4lconvert (and all dependend utils) > >>>>> on noMMU platforms > >>>>> > >>>>> [2] https://git.buildroot.net/buildroot/commit/?id=f837251785e9389f53d695ddb8a094707865171b > >>>>> --- > >>>>> package/libv4l/Config.in | 1 + > >>>>> 1 file changed, 1 insertion(+) > >>>>> > >>>>> diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in > >>>>> index e7f78dc70f..61c290f251 100644 > >>>>> --- a/package/libv4l/Config.in > >>>>> +++ b/package/libv4l/Config.in > >>>>> @@ -19,6 +19,7 @@ comment "libv4l JPEG support not enabled" > >>>>> > >>>>> config BR2_PACKAGE_LIBV4L_UTILS > >>>>> bool "v4l-utils tools" > >>>>> + depends on BR2_USE_MMU # fork(), used in libv4lconvert linked by various utils eg. v4l2-compliance > >>>>> help > >>>>> v4l-utils is a collection of various video4linux and DVB utilities. > >>>>> Enable this if you want to build the following tools: > >>>>> > >>>> _______________________________________________ > >>>> buildroot mailing list > >>>> buildroot at busybox.net > >>>> http://lists.busybox.net/mailman/listinfo/buildroot > >>> > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-24 17:38 ` Peter Seiderer @ 2017-07-24 17:51 ` Peter Seiderer 2017-07-25 7:54 ` Hugues FRUCHET 0 siblings, 1 reply; 12+ messages in thread From: Peter Seiderer @ 2017-07-24 17:51 UTC (permalink / raw) To: buildroot Hello Hugues, On Mon, 24 Jul 2017 19:38:22 +0200, Peter Seiderer <ps.report@gmx.net> wrote: > Hello Hugues, > > On Mon, 24 Jul 2017 08:08:45 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: > > > Hi Peter, > > > > Sorry, typo in patch, this one should work as expected. > > > > Best regards, > > Hugues. > > > > Yes, the new version of the patch works: > > $ make libv4l > [...] > Applying 0010-configure.ac-disable-libv4l-if-no-fork.patch using patch: > [...] > compile time options summary > ============================ > > Host OS : linux-uclibc > X11 : no > GL : no > glu : no > libjpeg : > libudev : no > pthread : yes > fork : no > QT version : none > ALSA support : no > > build dynamic libs : yes > build static libs : no > > gconv : no > > libv4l : no > dynamic libv4l : yes > v4l_plugins : yes > v4l_wrappers : yes > libdvbv5 : no > dvbv5-daemon : no > v4lutils : yes > qv4l2 : no > v4l2-ctl uses libv4l : yes > v4l2-compliance uses libv4l: yes > [...] > > $ ls -ltr target/usr/bin/ > [...] > -rwxr-xr-x 1 seiderer users 259172 Jul 24 19:29 decode_tm6000 > -rwxr-xr-x 1 seiderer users 13988 Jul 24 19:29 ivtv-ctl > -rwxr-xr-x 1 seiderer users 198868 Jul 24 19:29 ir-ctl > -rwxr-xr-x 1 seiderer users 12240 Jul 24 19:29 cx18-ctl > -rwxr-xr-x 1 seiderer users 215068 Jul 24 19:29 ir-keytable > -rwxr-xr-x 1 seiderer users 53452 Jul 24 19:29 media-ctl > -rwxr-xr-x 1 seiderer users 206532 Jul 24 19:29 v4l2-compliance > -rwxr-xr-x 1 seiderer users 265676 Jul 24 19:29 v4l2-ctl > -rwxr-xr-x 1 seiderer users 188496 Jul 24 19:29 v4l2-sysfs-path > -rwxr-xr-x 1 seiderer users 154228 Jul 24 19:29 cec-ctl > -rwxr-xr-x 1 seiderer users 122344 Jul 24 19:29 cec-compliance > -rwxr-xr-x 1 seiderer users 69860 Jul 24 19:29 cec-follower > > $ ls -ltr target/usr/lib > drwxr-xr-x 3 seiderer users 4096 Jul 11 19:06 libv4l > -rwxr-xr-x 1 seiderer users 39408 Jul 11 19:06 libv4l2.so.0.0.0 > -rwxr-xr-x 1 seiderer users 17032 Jul 11 19:06 libv4l1.so.0.0.0 > -rwxr-xr-x 1 seiderer users 105432 Jul 11 19:06 libv4lconvert.so.0.0.0 > -rwxr-xr-x 1 seiderer users 18384 Jul 11 19:06 libv4l2rds.so.0.0.0 > Ups, mind the timestamps, libraries are from a previous build...with your patch no libraries are build/installed... Regards, Peter > Thanks for your efforts... > > Regards, > Peter > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms 2017-07-24 17:51 ` Peter Seiderer @ 2017-07-25 7:54 ` Hugues FRUCHET 0 siblings, 0 replies; 12+ messages in thread From: Hugues FRUCHET @ 2017-07-25 7:54 UTC (permalink / raw) To: buildroot Hi Peter, On 07/24/2017 07:51 PM, Peter Seiderer wrote: > Hello Hugues, > > On Mon, 24 Jul 2017 19:38:22 +0200, Peter Seiderer <ps.report@gmx.net> wrote: > >> Hello Hugues, >> >> On Mon, 24 Jul 2017 08:08:45 +0000, Hugues FRUCHET <hugues.fruchet@st.com> wrote: >> >>> Hi Peter, >>> >>> Sorry, typo in patch, this one should work as expected. >>> >>> Best regards, >>> Hugues. >>> >> >> Yes, the new version of the patch works: >> >> $ make libv4l >> [...] >> Applying 0010-configure.ac-disable-libv4l-if-no-fork.patch using patch: >> [...] >> compile time options summary >> ============================ >> >> Host OS : linux-uclibc >> X11 : no >> GL : no >> glu : no >> libjpeg : >> libudev : no >> pthread : yes >> fork : no >> QT version : none >> ALSA support : no >> >> build dynamic libs : yes >> build static libs : no >> >> gconv : no >> >> libv4l : no >> dynamic libv4l : yes >> v4l_plugins : yes >> v4l_wrappers : yes >> libdvbv5 : no >> dvbv5-daemon : no >> v4lutils : yes >> qv4l2 : no >> v4l2-ctl uses libv4l : yes >> v4l2-compliance uses libv4l: yes >> [...] >> >> $ ls -ltr target/usr/bin/ >> [...] >> -rwxr-xr-x 1 seiderer users 259172 Jul 24 19:29 decode_tm6000 >> -rwxr-xr-x 1 seiderer users 13988 Jul 24 19:29 ivtv-ctl >> -rwxr-xr-x 1 seiderer users 198868 Jul 24 19:29 ir-ctl >> -rwxr-xr-x 1 seiderer users 12240 Jul 24 19:29 cx18-ctl >> -rwxr-xr-x 1 seiderer users 215068 Jul 24 19:29 ir-keytable >> -rwxr-xr-x 1 seiderer users 53452 Jul 24 19:29 media-ctl >> -rwxr-xr-x 1 seiderer users 206532 Jul 24 19:29 v4l2-compliance >> -rwxr-xr-x 1 seiderer users 265676 Jul 24 19:29 v4l2-ctl >> -rwxr-xr-x 1 seiderer users 188496 Jul 24 19:29 v4l2-sysfs-path >> -rwxr-xr-x 1 seiderer users 154228 Jul 24 19:29 cec-ctl >> -rwxr-xr-x 1 seiderer users 122344 Jul 24 19:29 cec-compliance >> -rwxr-xr-x 1 seiderer users 69860 Jul 24 19:29 cec-follower That is OK, you have the compliancy tools. >> >> $ ls -ltr target/usr/lib >> drwxr-xr-x 3 seiderer users 4096 Jul 11 19:06 libv4l >> -rwxr-xr-x 1 seiderer users 39408 Jul 11 19:06 libv4l2.so.0.0.0 >> -rwxr-xr-x 1 seiderer users 17032 Jul 11 19:06 libv4l1.so.0.0.0 >> -rwxr-xr-x 1 seiderer users 105432 Jul 11 19:06 libv4lconvert.so.0.0.0 >> -rwxr-xr-x 1 seiderer users 18384 Jul 11 19:06 libv4l2rds.so.0.0.0 >> > > Ups, mind the timestamps, libraries are from a previous build...with your > patch no libraries are build/installed... That is also intentional, no libv4l if no fork() & dlopen(). Please note that before the commit "package/libv4l: build of v4l2 utilities on noMMU", nothing was built at all (utilities and libraries) on no-MMU platforms due to dependency on BR2_USE_MMU. > > Regards, > Peter > >> Thanks for your efforts... >> >> Regards, >> Peter >> Thanks for testing, I will push the fix now. BR, Hugues. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2017-07-25 7:54 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-07-11 17:26 [Buildroot] [RFC v1] libv4l: build utils only on MMU (with fork support) platforms Peter Seiderer 2017-07-11 21:13 ` Thomas Petazzoni 2017-07-17 10:07 ` Hugues FRUCHET 2017-07-17 18:09 ` Peter Seiderer 2017-07-18 9:08 ` Hugues FRUCHET 2017-07-22 19:44 ` Thomas Petazzoni 2017-07-24 8:14 ` Hugues FRUCHET 2017-07-22 21:36 ` Peter Seiderer 2017-07-24 8:08 ` Hugues FRUCHET 2017-07-24 17:38 ` Peter Seiderer 2017-07-24 17:51 ` Peter Seiderer 2017-07-25 7:54 ` Hugues FRUCHET
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox