cinder / Cinder

Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.

Home Page:http://libcinder.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Could not build to Raspberry Pi 4

jlgangwisch opened this issue · comments

this is all on a fresh install of Raspberry Pi OS version 5.4 (with recommended software) on a Pi4 4GB. I am following the guide and using clang.

following the advice in the link, I followed the Pi 3 guide, installing additional X dependencies and built for targe_gl=es3: https://discourse.libcinder.org/t/running-on-a-rapberry-pi-4-solved/1595

I had to install a few more dependencies than what were listed there. I would google the error each time and find an additional needed library in an unrelated forum. Eventually it stopped giving me dependency-based errors.

I then ran into "fatal error: use of undeclared identifier 'GL_R16'"

I eventually figured out that cinder/include/glad/glad_es.h did not include definitions for:

GL_R16
GL_RG16
GL_RGB16
GL_RGBA16
GL_R16_SNORM
GL_RG16_SNORM
GL_RGB16_SNORM
GL_RGBA16_SNORM

I googled similar header documents and put in definitions that may or may not be accurate. Most came from glext.h from the khronos group opengl registry, but a few were also not included there. When I found them in other header files around the internet they seemed to be duplicates of the hexadecimals for the GL_xxx16_EXT definitions.

After adding those definitions, I was able to build the library, but not the BasicApp project.

When I try to build the BasicApp project I get "error: linker command failed with exit code 1 (use -v to see invocation). I've been trying for a while to figure this one out and haven't been able to, so I'm giving up and posting all this information here.

Thank you for all that you do.

I have build Cinder on the Raspberry Pi 4B and been able to build and run the BasicApp and many more (but not all) of the samples. I was following these instructions:

https://www.libcinder.org/docs/guides/linux-notes/rpi3.html

It is true that there are additional dependencies not listed there:

sudo apt-get install libxrandr-dev libxinerama-dev libxi-dev

and that the correct target is es3-rpi, not es2-rpi

cmake .. -DCINDER_TARGET_GL=es3-rpi

for both Cinder and the samples.

But with those changes BasicApp will build and run. I did not see any errors about 'GL_R16'.

When I went to build the other samples, there were other adjustments necessary, including
changing the #version 150 in shaders to #version 310 es, and adding the line:

precision mediump float;

Changing many references to Font to ci::Font, stuff like that.

i would suggest closing this issue.

Clay Budin
NYC