#v4l 2018-12-06,Thu

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)

WhoWhatWhen
jmondisailus: since I recall we discussed the V4L2_SUBDEV_API config option in the past, could you have a quick look at "[PATCH 1/6] media: v4l2-subdev: stub v4l2_subdev_get_try_format() ??"
pinchartl: ^ same :)
[08:33]
***prabhakarlad has left [08:37]
.......................................... (idle for 3h26mn)
hverkuilsvarbanov: ping [12:03]
........ (idle for 36mn)
kbinghamhverkuil, Is v4l2-utils supported to build Out-of-tree? I've just tried to do some builds - and an 'intree' build worked - but out of tree failed :(
(by supported, I mean - expected to work - does anyone care)
And ... doesn't everyone do out of tree builds ? :)
[12:39]
hverkuilIt is supposed to, but I never test it, so it wouldn't surprise me if it fails.
patches are welcome.
[12:43]
kbinghamOk :-) It fails then :)
I'll try to see what I can fix up...
[12:44]
...................... (idle for 1h47mn)
mchehabkbingham: what do you mean by "OOT" build of v4l-utils?
it builds fine from the tarballs...
hmm... except for BPF, with has issues on arm
(at least, we had some issues, but they seem to be related to Fedora way of packaging things)
[14:31]
kbinghammchehab, Out-of-tree ...
Actually - a clean build on gitlab now worked for me - but on my laptop it stil lfails - so it must be a cnofiguration issue.
[14:32]
mchehabfrom time to time, you need to run the bootstrap.sh and ./configure script
(when some dependencies change or new files are added)
[14:33]
............ (idle for 56mn)
kbinghammchehab, Well these are clean checkouts on my laptop so I assume it's because having some library or feature on my laptop enables something in those builds. [15:30]
.... (idle for 15mn)
Yup - so it's qvid-cap failing on my laptop, which doesn't get built in my clean container. [15:45]
...... (idle for 28mn)
mchehab, Aha - excellent- you've already submitted the archives to Konstantin - thanks - I thought that was on my task list :)
now we have nntp access to the linux-media list and archive at nntp.lore.kernel.org :D
kbingham gets all headers ... /me marks all read :D
[16:13]
mchehabkbingham, yeah, it sounded easier to do that, as it would be sanitizing the e-mails
and removing the ones that might eventually be on a wrong place
building stuff on containers is tricky
never were able to make it work with kaffeine
tried with a few different types
[16:19]
kbinghammchehab, Building in my container works ... it's building locally that fails :) [16:20]
mchehabit depends on qt5 and libvlc
weird
[16:21]
kbingham(but it works due to missing dependencies preventing compilation of failing parts :D) [16:21]
mchehabwell, the autoconf is then broken... it whould be able to disable stuff whose dependencies are missed
feel free to submit fixup patches
[16:21]
kbinghammchehab, Ack - for reference - here are the recent builds : https://gitlab.com/kieranbingham/v4l2-utils/pipelines/39221334
I expect this one to fail https://gitlab.com/kieranbingham/v4l2-utils/-/jobs/130925002 - while the other two will succeed.
[16:33]
mchehabnever used gitlab
doesn't it tell why it failed to build?
gah, only when javascript is enabled
it shows something
In file included from ../../../utils/qvidcap/qvidcap.cpp:16:0:
../../../utils/qvidcap/qvidcap.h:16:10: fatal error: cv4l-helpers.h: No such file or directory
weird
it is at the tree: ./utils/common/cv4l-helpers.h
[16:42]
***benjiG has left [16:46]
kbingham[m]Yes, but remember this is an out of tree build so likely has paths requiring in tree in that part [16:49]
mchehabI don't understand what you're meaning by "out of tree" building
you're getting only part of the paths inside v4l-utils?
[16:50]
kbingham[m]Mkdir build; cd build; ../configure; make;
That's an out of tree build
Like make linux O=build
[16:51]
mchehabah
well, IMHO, the include there is wrong
it should be, instead:
[16:51]
kbingham[m]Do you have a different name? [16:52]
mchehab#include "../common/cv4l-helpers.h" [16:52]
kbingham[m]I'll believe you... I'm at the doctor's at the moment so i can't check the code :-D [16:52]
mchehabwell, I was not aware that autoconf supports that, at the first place :-)
this is a common feature with cmake
but never used it with autoconf-based projects
[16:53]
kbingham[m]Ah. Yes i think it's long been a feature. I always try to build out of tree so that i can keep different cross compiles separate [16:54]
mchehabtried here... it broke on another place
/usr/bin/ld: v4l2_ctl-v4l-stream.o: in function `fwht_alloc':
/devel/v4l/v4l-utils/build/utils/v4l2-ctl/../../../utils/v4l2-ctl/v4l-stream.c:176: undefined reference to `v4l2_fwht_find_pixfmt'
/usr/bin/ld: v4l2_ctl-v4l-stream.o: in function `fwht_compress':
/devel/v4l/v4l-utils/build/utils/v4l2-ctl/../../../utils/v4l2-ctl/v4l-stream.c:224: undefined reference to `v4l2_fwht_encode'
/usr/bin/ld: v4l2_ctl-v4l-stream.o: in function `fwht_decompress':
/devel/v4l/v4l-utils/build/utils/v4l2-ctl/../../../utils/v4l2-ctl/v4l-stream.c:231: undefined reference to `v4l2_fwht_decode'
[16:55]
kbingham[m]I thought it might. I had other failures on make -j8 where other parallel parts got further :-) [16:56]
mchehab-#include "codec-fwht.h"
+#include "../common/codec-fwht.h"
seems to improve
there are lots of places where this would need
an alternative would be to change Makefile.am to explicitly include the common dir
it is there:
qvidcap_CPPFLAGS = -I../common
[16:59]
***prabhakarlad has left [17:02]
mchehabmaybe using this, instead, would work:
qvidcap_CPPFLAGS = -I\$(top_srcdir)/utils/common
nope
[17:02]
kbingham[m]Try -iquote ? [17:03]
pinchartlkbingham[m]: -I should work [17:03]
mchehabsomething wrong here... it is still generating:
qvidcap_CPPFLAGS = -I../common $(QTGL_CFLAGS) $(ALSA_CFLAGS)
at the build's Makefile
let me run bootstrap.sh to re-generate configure
CXX qvidcap-qvidcap.o
CC qvidcap-v4l2-tpg-colors.o
CC qvidcap-v4l2-tpg-core.o
CC qvidcap-v4l-stream.o
CXX qvidcap-v4l2-info.o
CC qvidcap-codec-v4l2-fwht.o
GEN qrc_qvidcap.cpp
CC qvidcap-codec-fwht.o
built
now, it is failing here:
Can't open perl script "v4l2-convert.pl": Arquivo ou diretório inexistente
heh, it will be tricky to make this work
even pointing to the right script, it will still give an error:
CXX qvidcap-moc_capture-win-gl.o
../../../utils/qvidcap/capture-win-gl.cpp:1748:1: error: expected primary-expression before ‘;’ token
the problem is that this cpp file is auto-generated by a perl script
for a real OOT build, the auto-generated file should be at build/utils/qvidcap/moc_capture-win-gl.cpp
but then the Makefile rule won't do the right thing
as it would try to find it at the source dir (and not at the build one)
[17:06]
kbingham[m]Ah ive unearthed a minefield then :-) [17:14]
mchehab:-D
well, we could still make it work, by making it to write the file at the original place
(thus violating the concept of OOT)
or, a simpler alternative, to detect that this is an OOT build and disable the damn thing
[17:15]
kbingham[m]Isn't there a var to represent the obj location? [17:19]
mchehabkbingham[m]: as I said, never tried OOT with autotools
perhaps something like:
qvidcap_SOURCES = ... moc_\$(top_builddir)/utils/qvidcap/capture-win-gl.cpp
would work
qvidcap_SOURCES = ... \$(top_builddir)/utils/qvidcap/moc_capture-win-gl.cpp
autotools have something
$builddir or something similar - I guess
in any case, you'll still need to run the bootstrap.sh script
in tree
ok, it built here
the problem is actually because I didn't start with a fresh clone
[17:19]
kbingham[m]Yes, bootstrap does the autoconf parts
Ah :-)
[17:29]
mchehabso, I had two moc_capture-win-gl.cpp files [17:29]
kbingham[m]One of the perks of containerised builds. Each one is clean :-)
I'll post my. .gitlab-ci.yml file. Then any push to a gitlab url will do an automated build
[17:29]
mchehabtrying this:
$ git clone /devel/v4l/v4l-utils/ && (cd v4l-utils; ./bootstrap.sh) && cd build && ../v4l-utils/configure && make
(with my fixup patch applied)
worked
[17:31]
kbingham[m]Mkdir build in there i hope :-) [17:31]
mchehabyeah :-) [17:32]
kbingham[m]Excellent :-)
Fantastic, thanks for looking at it :-)
[17:32]
mchehabpatch pushed
https://git.linuxtv.org/v4l-utils.git/commit/
added it to stable too
thank you for pointing this issue and giving me a hint about the OOT build
I know debian/ubuntu is based on OOT builds
I'm a Fedora guy... we do in-tree builds :-p
(rpm packaging is based on in-tree builds)
[17:34]
kbingham[m]Hehe. I just prefer oot for everything. Means a clean is rm build [17:40]
mchehabI prefer a make distclean target for such purpose [17:41]
kbingham[m]Surely rpm spec files can do oot as well though? [17:41]
mchehabno, it doesn't work like that
when you do a rpmbuild -bb some.spec
it places things inside a ~/rpm dir
the first thing it does is to create a ~/rpm/build/<package> dir
where it places the source code
and builds everything inside it
it is in-tree in the sense that both source and build stays at the same place
it is OOT from the place where you have your *.rpm (or *.spec) file
actually, the best method to build on Fedora is to use mock
mock builds about the same way as gitlab did
it downloads the needed packages on a fresh root inside a chroot
then adds the stuff from the rpm file there
really clean
[17:41]
kbingham[m]Yup. That's essentially all the gitlab does. Just uses docker to specify the starting image [17:45]
mchehab(of course, you could write a rule at the rpm spec file to use a separate dir, but that won't make much sense and would make the spec file uglier)
yes, I saw that at the gitlab's logs
on fedora, all I need to do is:
$ mock v4l-utils-1.16.2-2.fc30.src.rpm
the built package will run at bare metal, with is, IMHO, a big advantage
no containers needed :-)
[17:46]
kbingham[m]I guess i could start a fedora container to get mock :-) hehe [17:55]
.... (idle for 18mn)
mchehab:-)
they are (unfortunately) starting to play with containers there too
running packages inside them
IMO, a security nightmare
same library with different bugs encapsulated into different packages...
requiring root permissions to run (as containers require root do do chroot)
[18:13]
.... (idle for 18mn)
b-raddon't like at all how "snaps" have infected ubuntu [18:33]

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)