Re: cron job: media_tree daily build: ERRORS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Thu, 18 Oct 2012 19:25:50 +0200 (CEST)
"Hans Verkuil" <hverkuil@xxxxxxxxx> escreveu:

> This message is generated daily by a cron job that builds media_tree for
> the kernels and architectures in the list below.
> 
> Results of the daily build of media_tree:
> 
> date:        Thu Oct 18 19:00:14 CEST 2012
> git hash:    ff30d37083096acb56fb6edc0209d7ba36731a55
> gcc version:      i686-linux-gcc (GCC) 4.7.1
> host hardware:    x86_64
> host os:          3.4.07-marune
> 
> linux-git-arm-eabi-davinci: ERRORS
...
...ERRORS

I fixed today part of the issues by correcting the linux/Makefile. Now, the tarball
generated at linuxtv.org site will have everything needed.

However:

The UABI patches deadly-broke our out-of-tree building system. One of the premises
there is that there will be just one file with the same inside the entire media
tree. It was never a problem before to do it, as it is not allowed to have two
drivers for the same thing.

The UABI patches did something weird, though: for some files, there are now _two_versions_
of the same API file, e. g. (from linux/Makefile):

# Both Kernelspace and Userspace API
TARDIR += include/linux/dvb/			include/uapi/linux/dvb/
TARFILES += include/linux/usb/video.h		include/uapi/linux/dvb/video.h
TARFILES += include/media/v4l2-subdev.h		include/uapi/linux/v4l2-subdev.h
TARFILES += include/media/v4l2-common.h		include/uapi/linux/v4l2-common.h
TARFILES += include/media/v4l2-mediabus.h	include/uapi/linux/v4l2-mediabus.h

Basically, all headers that used to have if __KERNEL__ inside were now converted
into two files, one with the "kernel" header, and another one with the pure userspace
version.

That violates the previous rule imposed by the out-of-tree building system.

Fixing it is not a trivial task, as it requires to replace this part of
v4l/Makefile to something more smart:
	
links::
	@echo creating symbolic links...
	@find ../linux/drivers/media -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf --target-directory=.
	@find ../linux/sound -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf --target-directory=.
	@find ../linux/drivers/staging -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf --target-directory=.
	@find ../linux/drivers/misc -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf --target-directory=.

So that would, for example, detect those duplicated files and select just
the Kernel one, and add a "-I ../linux/include", in order to allow those
includes to get the *uapi/* one.

Another alternative would be to not create links for *.h at all.

The build system logic could also be completely replaced by one that works with subdirs.

Not sure what's the better one (and probably won't have any time to actually
write such patches anytime soon).

So, suggestions, patches, etc are very welcome.

Hans,

If we're unable to fix it soon, I suggest to disable the daily build
report, or to remove the compilations from the media-build.git tree,
as they'll all show ERRORS.

Regards,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux