Hi Laurent, Hans, On Mon, Aug 28, 2023 at 05:26:22PM +0300, Laurent Pinchart wrote: > On Mon, Aug 28, 2023 at 04:14:56PM +0200, Hans Verkuil wrote: > > On 28/08/2023 16:05, Jacopo Mondi wrote: > > > On Mon, Aug 28, 2023 at 03:29:41PM +0200, Hans Verkuil wrote: > > >> Hi all, > > >> > > >> We have been working on simplifying the media maintenance, and one part of that is > > >> standardizing on build tools, in particular to make it easier for patch submitters > > >> to run their patches through the same set of tests that the daily build does. > > >> > > >> This helps detect issues before you submit your patches. > > >> > > >> I have been working since July on transforming my hackish scripts to something > > >> that is easier to use and of better quality. While there are still a few rough > > >> edges, I consider it good enough to have others start to use it. > > >> > > >> To get the build scripts run: > > >> > > >> git clone git://linuxtv.org/hverkuil/build-scripts.git > > >> > > >> All the test builds will happen within this directory. It is completely separate > > >> from where you do you normal development, instead you point it to where your > > >> git repository is. > > >> > > >> See the README contained in the build-scripts git repo for all the details on > > >> how to set it up. > > >> > > > > > > I've been using your scripts since after ELC-E and I can tell they're > > > useful! > > > > > >> Currently the scripts expect a debian 12-based distro (likely debian 11 will work > > >> as well). I have no idea if it works well on Red Hat or Suse. If you use one of > > >> those distros, and you get it to work, then a patch updating the README file with > > >> the correct list of packages to install would be welcome. > > > > > > Speaking about distros, I was wondering if you still consider a > > > requirement to build all compiler or we should instead try to use the > > > distro provided ones when possible to test the distro-shipped version > > > ? > > > > I strongly believe we should build the cross compilers. The reason is that > > otherwise you get a wide variety of compiler versions, each with typically > > different compiler warnings. It's a pain for a developer to see different > > warnings than the person that merges those patches. > > > > It's a a regular problem that the daily build sees different warnings than > > you do locally with the distro's compiler. > > > > Doing it this way also makes it easier to upgrade to the latest compiler > > version, certainly quicker than a distro would do. > > > > It's about reproducibility, really. > > There's value in testing with different compiler versions though. The > kernel's documented minimum gcc version is v5.1 at the moment. I > certainly don't want to build myself with all versions between v5.1 and > v13.2, but collectively we could cover more ground. > > Regardless of this, I already have recent cross compilers (built with > buildroot) for ARM and ARM64, and I'd rather use those than duplicating > compilers. Anything that consumes extra disk space is a serious > hinderance. I have to say nearly all issues I've come across I have not seen myself in my own (trivial) tests are related to either different architecture or different kernel configuration. There have been a couple of issues that were related to compiling the kernel with LLVM, too, but they are much more rare. I suppose there may have been some related to different GCC versions but I don't remember any over the last ~ 5 years. :-) So IMO varying configuration and building for more architectures is beneficial, possibly compilers, too, but for different compiler versions not so much. -- Kind regards, Sakari Ailus