[libcamera-devel] Build failed in Jenkins: libcamera #72

Mauro Carvalho Chehab mchehab at kernel.org
Tue Jan 21 15:28:03 CET 2020


Em Tue, 21 Jan 2020 15:51:49 +0200
Laurent Pinchart <laurent.pinchart at ideasonboard.com> escreveu:

> > I added a clean step, just to be sure, e. g. the current build script is:
> > 
> > 	ninja -C build clean
> > 	meson build -Dandroid=true
> > 	ninja -C build  
> 
> The recommended steps are
> 
> meson -Dandroid=true build
> ninja -C build clean
> ninja -C build
> 
> This will ensure the build directory is created if it doesn't exist
> before trying to run ninja in it. However, the meson step will will be a
> no-op in case the directory exists. If you want to change options for an
> existing build directory, you have to run
> 
> meson --reconfigure -Dandroid=true build

I tried it. Didn't work: it keeps preserving c++11 instead of using c++17.

> 
> This will fail if the build directory doesn't exist. The following
> script should work in all cases.
> 
> options="-Dandroid=true"
> 
> if [[ -d build ]] ; then
> 	meson --reconfigure $options build
> else
> 	meson $options build
> fi
> 
> ninja -C build clean
> ninja -C build
> 
> > But it still produces errors when trying to build.  
> 
> Clean is a good idea, but won't be enough when core configuration
> options of the project change I'm afraid :-( We need to wipe out the
> build directory completely, or run
> 
> meson configure -Dcpp_std=c++14 build

I prefer not doing that. As you're saying below, if the build changes
default to some later version, build will break again.

> 
> However, the only configuration option that requires such an operation
> to prevent breakages is cpp_std, and we don't envision switching to
> C++17 very soon. Even if we did, that would be a one time change, as
> there's no other published C++ version after that :-)
> 
> Could you handle this manually to fix the build ? No further action
> should be needed after that.
> 
> While at it, could you also set -Dv4l2=true to compile-test the V4L2
> compatibility layer ?

After doing a 'mason setup --wipe', v4l2=true is automatically set. Anyway,
I added an option that will display the configuration. This way, someone can
check that all options that should be enabled are there.

Cheers,
Mauro


More information about the libcamera-devel mailing list