scenic_driver_oled

Build log

host

scenic_driver_oled 0.1.0 · fail · run scenic_driver_oled-0.1.0-1791247002235
436 of 436 lines
1Resolving Hex dependencies...2Resolution completed in 0.109s3Unchanged:4  circuits_gpio 1.0.15  circuits_i2c 1.0.16  circuits_spi 1.4.07  circular_buffer 1.1.08  elixir_make 0.7.89  ex_image_info 0.2.710  font_metrics 0.5.211  interactive_cmd 0.1.412  nerves 2.0.0-pre.213  nerves_discovery 0.1.514  nerves_logging 0.2.415  nerves_runtime 0.13.1316  nerves_system_bbb 2.30.217  nerves_system_br 1.34.418  nerves_system_mangopi_mq_pro 0.17.219  nerves_system_qemu_aarch64 0.4.220  nerves_system_rpi0 2.1.221  nerves_system_rpi4 2.1.222  nerves_system_rpi5 2.1.223  nerves_system_trellis 0.5.024  nerves_system_x86_64 1.34.225  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.126  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.127  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.128  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.129  nerves_toolchain_x86_64_nerves_linux_musl 15.3.130  nerves_uevent 0.1.731  nimble_options 1.1.132  oled 0.3.633  property_table 0.3.434  ring_logger 0.11.735  rpi_fb_capture 0.3.036  scenic 0.11.237  scenic_driver_nerves_rpi 0.10.138  scenic_driver_oled 0.1.039  tablet 0.3.340  toolshed 0.5.041  truetype_metrics 0.6.142  uboot_env 1.0.243All dependencies have been fetched44==> circuits_gpio45"**** MIX_ENV set to [prod] ****"46"**** CIRCUITS_MIX_ENV set to [] ****"47 CC hal_sysfs.o48 CC hal_sysfs_interrupts.o49 CC hal_rpi.o50 CC nif_utils.o51 CC gpio_nif.o52 LD gpio_nif.so53Compiling 2 files (.ex)54Generated circuits_gpio app55==> circuits_i2c56 CC hal_i2cdev.o57 CC i2c_nif.o58 LD i2c_nif.so59Compiling 2 files (.ex)60Generated circuits_i2c app61==> circuits_spi62 CC hal_spidev.o63 CC spi_nif.o64 LD spi_nif.so65Compiling 2 files (.ex)66Generated circuits_spi app67==> oled68Compiling 10 files (.ex)69    warning: use Bitwise is deprecated. import Bitwise instead70    │71 10 │   use Bitwise, only_operators: true72    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~73    │74    └─ lib/oled/display/impl/ssd_1306.ex:10: OLED.Display.Impl.SSD1306 (module)7576    warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead77    │78 22 │         :xor -> p ^^^ np79    │                   ~80    │81    └─ lib/oled/display/impl/ssd_1306/draw.ex:22:198283    warning: use Bitwise is deprecated. import Bitwise instead84    │85  4 │   use Bitwise, only_operators: true86    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~87    │88    └─ lib/oled/display/impl/ssd_1306/draw.ex:4: OLED.Display.Impl.SSD1306.Draw (module)8990    warning: the variable "offset" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator91    │92 12 │     <<prev::bitstring-size(offset), p::1, next::bitstring>> = buffer93    │                            ~94    │95    └─ lib/oled/display/impl/ssd_1306/draw.ex:12:28: OLED.Display.Impl.SSD1306.Draw.put_pixel/49697     warning: the variable "width" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator98     │99 166 │     for <<page::binary-size(width) <- buffer>>, into: <<>> do100     │                             ~101     │102     └─ lib/oled/display/impl/ssd_1306.ex:166:29: OLED.Display.Impl.SSD1306.translate_buffer/3103104     warning: the variable "source" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator105     │106 169 │         <<_::size(source)-unit(1), b::1, _::size(rest)-unit(1)>> = page107     │                   ~108     │109     └─ lib/oled/display/impl/ssd_1306.ex:169:19: OLED.Display.Impl.SSD1306.translate_buffer/3110111     warning: the variable "rest" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator112     │113 169 │         <<_::size(source)-unit(1), b::1, _::size(rest)-unit(1)>> = page114     │                                                  ~115     │116     └─ lib/oled/display/impl/ssd_1306.ex:169:50: OLED.Display.Impl.SSD1306.translate_buffer/3117118Generated oled app119==> rpi_fb_capture120Makefile:39: rpi_fb_capture only works on Nerves and Raspbian.121Makefile:40: Compiling the simulator.122mkdir -p /work/proj/_build/host/lib/rpi_fb_capture/priv123mkdir -p /work/proj/_build/host/lib/rpi_fb_capture/obj124cc -c -O2 -Wall -Wextra -Wno-unused-parameter -pedantic  -o /work/proj/_build/host/lib/rpi_fb_capture/obj/capture_sim.o src/capture_sim.c125cc -c -O2 -Wall -Wextra -Wno-unused-parameter -pedantic  -o /work/proj/_build/host/lib/rpi_fb_capture/obj/main.o src/main.c126cc -c -O2 -Wall -Wextra -Wno-unused-parameter -pedantic  -o /work/proj/_build/host/lib/rpi_fb_capture/obj/dithering.o src/dithering.c127src/main.c: In function ‘emit_mono_rotate_flip’:128src/main.c:198:38: warning: pointer targets in initialization of ‘const uint16_t *’ {aka ‘const short unsigned int *’} from ‘const int16_t *’ {aka ‘const short int *’} differ in signedness [-Wpointer-sign]129  198 |             const uint16_t *column = dithering_buffer;130      |                                      ^~~~~~~~~~~~~~~~131cc -o /work/proj/_build/host/lib/rpi_fb_capture/priv/rpi_fb_capture /work/proj/_build/host/lib/rpi_fb_capture/obj/capture_sim.o /work/proj/_build/host/lib/rpi_fb_capture/obj/main.o /work/proj/_build/host/lib/rpi_fb_capture/obj/dithering.o  -lm132Compiling 2 files (.ex)133Generated rpi_fb_capture app134==> scenic_driver_nerves_rpi135mkdir -p /work/proj/_build/host/lib/scenic_driver_nerves_rpi/priv136cc -O2 -Wall -Wextra -Wno-unused-parameter -pedantic -std=gnu99 -o /work/proj/_build/host/lib/scenic_driver_nerves_rpi/priv/scenic_driver_nerves_rpi c_src/main.c c_src/comms.c c_src/nanovg/nanovg.c c_src/render_script.c c_src/tx.c c_src/utils.c -lGLESv2 -lEGL -lm -lbcm_host -lvchostif137rsync -rupE fonts /work/proj/_build/host/lib/scenic_driver_nerves_rpi/priv/fonts138c_src/main.c:16:10: fatal error: bcm_host.h: No such file or directory139   16 | #include <bcm_host.h>140      |          ^~~~~~~~~~~~141compilation terminated.142c_src/comms.c:18:10: fatal error: GLES2/gl2.h: No such file or directory143   18 | #include <GLES2/gl2.h>144      |          ^~~~~~~~~~~~~145compilation terminated.146In file included from c_src/nanovg/nanovg.c:24:147c_src/nanovg/nanovg.h:40:18: warning: ISO C99 doesn’t support unnamed structs/unions [-Wpedantic]148   40 |                 };149      |                  ^150c_src/nanovg/nanovg.h:41:10: warning: ISO C99 doesn’t support unnamed structs/unions [-Wpedantic]151   41 |         };152      |          ^153c_src/nanovg/nanovg.h:35:8: warning: struct has no named members [-Wpedantic]154   35 | struct NVGcolor {155      |        ^~~~~~~~156In file included from c_src/nanovg/nanovg.c:26:157c_src/nanovg/fontstash.h: In function ‘fonsAddFont’:158c_src/nanovg/fontstash.h:911:20: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]159  911 |         if (readed != dataSize) goto error;160      |                    ^~161In file included from c_src/nanovg/nanovg.c:28:162c_src/nanovg/stb_image.h: In function ‘stbi__convert_format’:163c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]164 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)165      |                                            ^~~166c_src/nanovg/stb_image.h:1363:10: note: in expansion of macro ‘CASE’167 1363 |          CASE(1,2) dest[0]=src[0], dest[1]=255; break;168      |          ^~~~169c_src/nanovg/stb_image.h:1363:49: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’170 1363 |          CASE(1,2) dest[0]=src[0], dest[1]=255; break;171      |                                                 ^~~~~172c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]173 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)174      |                                            ^~~175c_src/nanovg/stb_image.h:1364:10: note: in expansion of macro ‘CASE’176 1364 |          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;177      |          ^~~~178c_src/nanovg/stb_image.h:1364:52: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’179 1364 |          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;180      |                                                    ^~~~~181c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]182 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)183      |                                            ^~~184c_src/nanovg/stb_image.h:1365:10: note: in expansion of macro ‘CASE’185 1365 |          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;186      |          ^~~~187c_src/nanovg/stb_image.h:1365:65: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’188 1365 |          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;189      |                                                                 ^~~~~190c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]191 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)192      |                                            ^~~193c_src/nanovg/stb_image.h:1366:10: note: in expansion of macro ‘CASE’194 1366 |          CASE(2,1) dest[0]=src[0]; break;195      |          ^~~~196c_src/nanovg/stb_image.h:1366:36: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’197 1366 |          CASE(2,1) dest[0]=src[0]; break;198      |                                    ^~~~~199c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]200 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)201      |                                            ^~~202c_src/nanovg/stb_image.h:1367:10: note: in expansion of macro ‘CASE’203 1367 |          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;204      |          ^~~~205c_src/nanovg/stb_image.h:1367:52: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’206 1367 |          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;207      |                                                    ^~~~~208c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]209 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)210      |                                            ^~~211c_src/nanovg/stb_image.h:1368:10: note: in expansion of macro ‘CASE’212 1368 |          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;213      |          ^~~~214c_src/nanovg/stb_image.h:1368:68: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’215 1368 |          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;216      |                                                                    ^~~~~217c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]218 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)219      |                                            ^~~220c_src/nanovg/stb_image.h:1369:10: note: in expansion of macro ‘CASE’221 1369 |          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;222      |          ^~~~223c_src/nanovg/stb_image.h:1369:78: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’224 1369 |          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;225      |                                                                              ^~~~~226c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]227 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)228      |                                            ^~~229c_src/nanovg/stb_image.h:1370:10: note: in expansion of macro ‘CASE’230 1370 |          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;231      |          ^~~~232c_src/nanovg/stb_image.h:1370:67: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’233 1370 |          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;234      |                                                                   ^~~~~235c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]236 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)237      |                                            ^~~238c_src/nanovg/stb_image.h:1371:10: note: in expansion of macro ‘CASE’239 1371 |          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;240      |          ^~~~241c_src/nanovg/stb_image.h:1371:82: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’242 1371 |          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;243      |                                                                                  ^~~~~244c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]245 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)246      |                                            ^~~247c_src/nanovg/stb_image.h:1372:10: note: in expansion of macro ‘CASE’248 1372 |          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;249      |          ^~~~250c_src/nanovg/stb_image.h:1372:67: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’251 1372 |          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;252      |                                                                   ^~~~~253c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]254 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)255      |                                            ^~~256c_src/nanovg/stb_image.h:1373:10: note: in expansion of macro ‘CASE’257 1373 |          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;258      |          ^~~~259c_src/nanovg/stb_image.h:1373:85: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’260 1373 |          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;261      |                                                                                     ^~~~~262c_src/nanovg/stb_image.h:1359:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]263 1359 |       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)264      |                                            ^~~265c_src/nanovg/stb_image.h:1374:10: note: in expansion of macro ‘CASE’266 1374 |          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;267      |          ^~~~268c_src/nanovg/stb_image.h:1374:66: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’269 1374 |          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;270      |                                                                  ^~~~~271c_src/nanovg/stb_image.h: In function ‘stbi__build_fast_ac’:272c_src/nanovg/stb_image.h:1578:33: warning: left shift of negative value [-Wshift-negative-value]273 1578 |             if (k < m) k += (-1 << magbits) + 1;274      |                                 ^~275c_src/nanovg/stb_image.h: In function ‘stbi__create_png_image_raw’:276c_src/nanovg/stb_image.h:4049:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]277 4049 |                 for (k=0; k < nk; ++k)278      |                 ^~~279c_src/nanovg/stb_image.h:4053:13: note: in expansion of macro ‘CASE’280 4053 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;281      |             ^~~~282c_src/nanovg/stb_image.h:4053:95: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’283 4053 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;284      |                                                                                               ^~~~~285c_src/nanovg/stb_image.h:4049:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]286 4049 |                 for (k=0; k < nk; ++k)287      |                 ^~~288c_src/nanovg/stb_image.h:4054:13: note: in expansion of macro ‘CASE’289 4054 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;290      |             ^~~~291c_src/nanovg/stb_image.h:4054:84: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’292 4054 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;293      |                                                                                    ^~~~~294c_src/nanovg/stb_image.h:4049:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]295 4049 |                 for (k=0; k < nk; ++k)296      |                 ^~~297c_src/nanovg/stb_image.h:4055:13: note: in expansion of macro ‘CASE’298 4055 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;299      |             ^~~~300c_src/nanovg/stb_image.h:4055:113: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’301 4055 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;302      |                                                                                                                 ^~~~~303c_src/nanovg/stb_image.h:4049:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]304 4049 |                 for (k=0; k < nk; ++k)305      |                 ^~~306c_src/nanovg/stb_image.h:4056:13: note: in expansion of macro ‘CASE’307 4056 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;308      |             ^~~~309c_src/nanovg/stb_image.h:4056:139: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’310 4056 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;311      |                                                                                                                                           ^~~~~312c_src/nanovg/stb_image.h:4049:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]313 4049 |                 for (k=0; k < nk; ++k)314      |                 ^~~315c_src/nanovg/stb_image.h:4057:13: note: in expansion of macro ‘CASE’316 4057 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;317      |             ^~~~318c_src/nanovg/stb_image.h:4057:102: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’319 4057 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;320      |                                                                                                      ^~~~~321c_src/nanovg/stb_image.h:4049:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]322 4049 |                 for (k=0; k < nk; ++k)323      |                 ^~~324c_src/nanovg/stb_image.h:4058:13: note: in expansion of macro ‘CASE’325 4058 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;326      |             ^~~~327c_src/nanovg/stb_image.h:4058:112: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’328 4058 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;329      |                                                                                                                ^~~~~330c_src/nanovg/stb_image.h:4067:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]331 4067 |                    for (k=0; k < img_n; ++k)332      |                    ^~~333c_src/nanovg/stb_image.h:4069:13: note: in expansion of macro ‘CASE’334 4069 |             CASE(STBI__F_none)         cur[k] = raw[k]; break;335      |             ^~~~336c_src/nanovg/stb_image.h:4069:57: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’337 4069 |             CASE(STBI__F_none)         cur[k] = raw[k]; break;338      |                                                         ^~~~~339c_src/nanovg/stb_image.h:4067:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]340 4067 |                    for (k=0; k < img_n; ++k)341      |                    ^~~342c_src/nanovg/stb_image.h:4070:13: note: in expansion of macro ‘CASE’343 4070 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;344      |             ^~~~345c_src/nanovg/stb_image.h:4070:88: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’346 4070 |             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;347      |                                                                                        ^~~~~348c_src/nanovg/stb_image.h:4067:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]349 4067 |                    for (k=0; k < img_n; ++k)350      |                    ^~~351c_src/nanovg/stb_image.h:4071:13: note: in expansion of macro ‘CASE’352 4071 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;353      |             ^~~~354c_src/nanovg/stb_image.h:4071:84: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’355 4071 |             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;356      |                                                                                    ^~~~~357c_src/nanovg/stb_image.h:4067:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]358 4067 |                    for (k=0; k < img_n; ++k)359      |                    ^~~360c_src/nanovg/stb_image.h:4072:13: note: in expansion of macro ‘CASE’361 4072 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;362      |             ^~~~363c_src/nanovg/stb_image.h:4072:106: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’364 4072 |             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;365      |                                                                                                          ^~~~~366c_src/nanovg/stb_image.h:4067:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]367 4067 |                    for (k=0; k < img_n; ++k)368      |                    ^~~369c_src/nanovg/stb_image.h:4073:13: note: in expansion of macro ‘CASE’370 4073 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;371      |             ^~~~372c_src/nanovg/stb_image.h:4073:125: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’373 4073 |             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;374      |                                                                                                                             ^~~~~375c_src/nanovg/stb_image.h:4067:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]376 4067 |                    for (k=0; k < img_n; ++k)377      |                    ^~~378c_src/nanovg/stb_image.h:4074:13: note: in expansion of macro ‘CASE’379 4074 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;380      |             ^~~~381c_src/nanovg/stb_image.h:4074:95: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’382 4074 |             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;383      |                                                                                               ^~~~~384c_src/nanovg/stb_image.h:4067:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]385 4067 |                    for (k=0; k < img_n; ++k)386      |                    ^~~387c_src/nanovg/stb_image.h:4075:13: note: in expansion of macro ‘CASE’388 4075 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;389      |             ^~~~390c_src/nanovg/stb_image.h:4075:105: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’391 4075 |             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;392      |                                                                                                         ^~~~~393c_src/nanovg/stb_image.h: In function ‘stbi__tga_get_comp’:394c_src/nanovg/stb_image.h:4856:18: warning: this statement may fall through [-Wimplicit-fallthrough=]395 4856 |       case 16: if(is_grey) return STBI_grey_alpha;396      |                  ^397c_src/nanovg/stb_image.h:4858:7: note: here398 4858 |       case 15: if(is_rgb16) *is_rgb16 = 1;399      |       ^~~~400c_src/nanovg/fontstash.h: In function ‘fonsDeleteInternal’:401c_src/nanovg/fontstash.h:1647:9: warning: pointer ‘stash’ used after ‘free’ [-Wuse-after-free]402 1647 |         fons__tt_done(stash);403      |         ^~~~~~~~~~~~~~~~~~~~404c_src/nanovg/fontstash.h:1646:9: note: call to ‘free’ here405 1646 |         free(stash);406      |         ^~~~~~~~~~~407In file included from c_src/nanovg/fontstash.h:262:408c_src/nanovg/stb_truetype.h: In function ‘stbtt_GetGlyphSDF’:409c_src/nanovg/stb_truetype.h:4507:53: warning: ‘res[1]’ may be used uninitialized [-Wmaybe-uninitialized]410 4507 |                      if (num >= 2 && res[1] >= 0.0f && res[1] <= 1.0f) {411      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~412c_src/nanovg/stb_truetype.h:4472:28: note: ‘res[1]’ was declared here413 4472 |                      float res[3],px,py,t,it;414      |                            ^~~415c_src/render_script.c:15:12: fatal error: GLES2/gl2.h: No such file or directory416   15 |   #include <GLES2/gl2.h>417      |            ^~~~~~~~~~~~~418compilation terminated.419c_src/tx.c:14:10: fatal error: GLES2/gl2.h: No such file or directory420   14 | #include <GLES2/gl2.h>421      |          ^~~~~~~~~~~~~422compilation terminated.423c_src/utils.c:16:10: fatal error: GLES2/gl2.h: No such file or directory424   16 | #include <GLES2/gl2.h>425      |          ^~~~~~~~~~~~~426compilation terminated.427make: *** [Makefile:55: /work/proj/_build/host/lib/scenic_driver_nerves_rpi/priv/scenic_driver_nerves_rpi] Error 1428could not compile dependency :scenic_driver_nerves_rpi, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile scenic_driver_nerves_rpi --force", update it with "mix deps.update scenic_driver_nerves_rpi" or clean it with "mix deps.clean scenic_driver_nerves_rpi"429==> nerves_compatibility_test430** (Mix) Could not compile with "make" (exit status: 2).431You need to have gcc and make installed. If you are using432Ubuntu or any other Debian-based system, install the packages433"build-essential". Also install "erlang-dev" package if not434included in your Erlang/OTP version. If you're on Fedora, run435"dnf group install 'Development Tools'".436