[libcamera-devel] FTBFS on i386 with 4de31ccc9

Jan Engelhardt jengelh at inai.de
Mon Mar 9 21:53:40 CET 2020


Greetings.


On i586, building libcamera 4de31ccc9ef47e7b16330d226d071d5d006faa6d
from source fails with:

[    6s] ../include/libcamera/controls.h:173:36: error: static assertion failed: Invalid size of ControlValue class
[    6s]   173 | static_assert(sizeof(ControlValue) == 16, "Invalid size of ControlValue class");

Naturally, the struct on this architecture is 12, not 16.

25b  {   ControlType type_ : 8;
=4B  {   bool isArray_ : 1;
     {   std::size_t numElements_ : 16;

8B   {   union {
                  uint64_t value_;
                  void *storage_;
         };

The problem was introduced with

commit 1fa4b43402a0af7cc41bb22b58cede687663cc7b
Author: Jacopo Mondi <jacopo at jmondi.org>
Date:   Thu Jan 2 12:01:32 2020 +0100

    libcamera: controls: Support array controls in ControlValue
    
    Add array controls support to the ControlValue class. The polymorphic
    class can now store more than a single element and supports access and
    creation through the use of Span<>.


More information about the libcamera-devel mailing list