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