Master Branch Compilation

I am trying to compile the latest OF version from Github using the master branch and getting following error:

openFrameworks/libs/openFrameworks/utils/ofConstants.h:288:24: fatal error: tesselator.h: No such file or directory

This file does not exist anymore and it seems it has been replaced by ofTessellator.h. I don’t know how to handle that error otherwise I would have created a PR. Sorry for that.

Very kind regards,
Hans :slight_smile:

Hi, just checking what exact steps have you followed? what platform, IDE are you using?
Did you read and followed the steps on

On windows, I was able to download from github, run download_libs.ps1, then using a downloaded PG compile and run examples without any problem.


Hi Jordi, thanks for your reply. I was installing on Ubuntu. But as it seems my version is too new. I am running version 17 whereas version 14 is pretty well supported. I tried a lot, like chaning gcc versions and manual compilation of RtAudio and other stuff. There is always something failing. So I think I better switch to my Windows 10 box and give up on Linux & OF.

Hans :slight_smile:

i think you are just missing downloading the external dependencies. follow the install from github guide, everything is in there. it should work fine with ubuntu 17.04 without any modification

Hi Arturo,

thanks for keeping up my hopes.

I.) Environment
Her my environment:

$ cat /etc/issue
Ubuntu 17.04

$ uname -a
Linux OFBox 4.10.0-32-generic #36-Ubuntu SMP Tue Aug 8 12:10:06 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ gcc --version
gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406
Copyright © 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO

$ g++ --version
g++ (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406
Copyright © 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO

II.) Scripts

  1. git clone --recursive
  2. cd openFrameworks/
  3. Do not compile tvOS and gles.
    emacs scripts/linux/
    Line 7, add tvOS and gles directory: if [ “$category” = “…/…/examples/android” -o “$category” = “…/…/examples/ios” -o “$category” = “…/…/examples/tvOS” -o “$category” = “…/…/examples/” ]; then
  4. ./scripts/linux/
  5. cd scripts/linux/ubuntu
  6. sudo ./
  7. sudo ./
  8. cd …
  9. g++ 6.3 does not like includes in namespace declarations.
    emacs …/…/addons/ofxVectorGraphics/libs/CreEPS.cpp
    move #includes to top outside the namespace declaration
  10. ./
  11. ./ -> n (do not install anything for permissions of created files; just to be on the safe side)
  12. sudo ./ -> y (twice for installation; say explicitly “y” - there is no default in the script)
  13. cd …/… ($ which projectGenerator -> /usr/local/bin/projectGenerator)
  14. projectGenerator -r -o"." examples/
    [ error ] Error parsing ofxPoco
    line 149: tvos:
    sectionName unknown not recognized
    All other projects are clean.
  15. cd scripts/linux/
  16. ./

III.) Comments
1.) The handish Emacs stuff is possibly PR material.
2.) Maybe we should set up several CI jobs for Linux taking into account the different versions.
3.) I am not sure whether the gles example project should be left out for Ubuntu. Looks like Raspberry Pi stuff to me.

IV.) Failed example project
One example did not compile. Not exaclty sure why. Template looks fine to me by just skimming over it. I deleted it. All other projects compiled nicely. Some warnings though every now and then.

./openFrameworks/examples/graphics/polylineBlobsExample/src/ofApp.cpp: In member function ‘virtual void ofApp::update()’:
./openFrameworks/examples/graphics/polylineBlobsExample/src/ofApp.cpp:42:46: error: no matching function for call to ‘ofPolyline_<glm::tvec3<float, (glm::precision)0u> >::addVertices(std::vector&)’
In file included from ./openFrameworks/libs/openFrameworks/graphics/ofPolyline.h:527:0,
from ./openFrameworks/libs/openFrameworks/gl/ofGLRenderer.h:3,
from ./openFrameworks/libs/openFrameworks/ofMain.h:48,
from ./openFrameworks/examples/graphics/polylineBlobsExample/src/ofApp.h:3,
from ./openFrameworks/examples/graphics/polylineBlobsExample/src/ofApp.cpp:1:
./openFrameworks/libs/openFrameworks/graphics/ofPolyline.inl:60:6: note: candidate: void ofPolyline_::addVertices(const std::vector&) [with T = glm::tvec3<float, (glm::precision)0u>]
void ofPolyline_::addVertices(const vector& verts) {
./openFrameworks/libs/openFrameworks/graphics/ofPolyline.inl:60:6: note: no known conversion for argument 1 from ‘std::vector’ to ‘const std::vector<glm::tvec3<float, (glm::precision)0u>, std::allocator<glm::tvec3<float, (glm::precision)0u> > >&’
./openFrameworks/libs/openFrameworks/graphics/ofPolyline.inl:68:6: note: candidate: void ofPolyline_::addVertices(const T*, int) [with T = glm::tvec3<float, (glm::precision)0u>]
void ofPolyline_::addVertices(const T* verts, int numverts) {
./openFrameworks/libs/openFrameworks/graphics/ofPolyline.inl:68:6: note: candidate expects 2 arguments, 1 provided
./openFrameworks/libs/openFrameworksCompiled/project/makefileCommon/ recipe for target ‘obj/linux64/Debug/src/ofApp.o’ failed
make[1]: *** [obj/linux64/Debug/src/ofApp.o] Error 1
make[1]: *** Waiting for unfinished jobs…
make[1]: Leaving directory ‘./openFrameworks/examples/graphics/polylineBlobsExample’
./openFrameworks/libs/openFrameworksCompiled/project/makefileCommon/ recipe for target ‘Debug’ failed
make: *** [Debug] Error 2
make: Leaving directory ‘./openFrameworks/examples/graphics/polylineBlobsExample’
error compiling …/…/examples/graphics/polylineBlobsExample

Sorry, posting is a bit longish.

Kind regards,

Hi Arturo,

I also deactivated Anaconda Python. It seems to have caused some problems too.

Kind regards,

thanks for the detailed report, it seems there’s a bug with that one example, surely related to the recent change to glm as vector math library, i’ll take a look

The gles project also had compiler errors. I do not know if it is supposed to be compiled on Ubuntu or just on the Raspberry Pi. I just decided to comment it out in the script.

yes the gles example is only for gles platforms, right now, only arm linux boards


You said to block the compilation of gles?
How did you proceed because under my Ubuntu Studio 18.04, it blocks me on this example.

I followed your procedure a little higher, but I think you forgot to write something about Gles.

Can you tell me what?

Thank you in advance for your answer.