OF on Jetson nano

Hi there,
I recently got a Jetson Nano 4GB and I am having trouble installing OF.
I followed the steps from these two page:

After successfully installing all dependencies, compileOF.sh gives me the error below. I tried a couple of times from a freshly flashed OS as well as an older version of OF, but without any luck.

In file included from /home/ch3/dev/openFrameworks/libs/openFrameworks/events/ofEvents.h:3:0,
                 from /home/ch3/dev/openFrameworks/libs/openFrameworks/events/ofEvents.cpp:1:
/home/ch3/dev/openFrameworks/libs/openFrameworks/utils/ofConstants.h:480:10: fatal error: filesystem: No such file or directory
 #include <filesystem>
          ^~~~~~~~~~~~
compilation terminated.

I am not as experienced with troubleshooting linking issues especially in linux environments, so any pointers would be highly appreciated
thank you

Hi @ch3 , did you try both the 0.11.2 release as well as the nightly build?

The nightly has some recent changes to make the file system in oF compatible with c++17. Maybe try adding a linker flag -std=c++17 when using the nightly.

The 0.11.2 release does not have these changes, and is typically not compatible with a c++17 compiler. But 0.11.2 would likely retain the nightly builds from 2019, when the above guides were published.

Oh yeah, you are right. The 0.11.2 release worked right away!
Thank you so much for the tip.

Looking forward to get back to OF with this.

Hey great! So the changes in the nightly build will eventually become the next new release. Maybe post back to this thread if you figure out how to modify the setup process for the Nano so that it can use c++17 with the nightly build and the new approach to the filesystem. Line 116 of the config.linuxarmv7l.default.mk file in the nightly build does have the c++17 flag.

Edit: If the internet is correct, the Nano runs Linux4Tegra, which is based on Ubuntu 18.04. So you may have to see if c++17 is supported in this os, or if there are packages that can be downloaded to enable it.

I came across this post so I installed g+±8 and managed to compile a simple hello world c++ program that fails with g++ or g+±7

sudo apt install g++-8
g++-8 hello.cpp -o hello -std=c++17 -lstdc++fs
Actually I noticed that the last two flags are not even needed

I didn’t manage to find which script/makefile in OF defines the compiler, but I copied the long command print out for the first file (ofEvents.cpp), changed g++ to g+±8, run it manually and it compiled without errors.
If you know where to change the g++ version, I can definitely try again.

thanks a lot

Hey so the 0.11.2 release can not use c++17. The nightly build can now use c++17. The following lines (115 - 117) in the config.linuxarmv7l.default.mk file can be commented out if you want to use c++11, but the nightly should build with c++17 if you do nothing to these lines:

	#c++ 17 support - comment out two lines below to use c++11
	PLATFORM_CFLAGS += -std=c++17
	PLATFORM_LDFLAGS += -lstdc++fs

The file resides in the folder /libs/openFrameworksCompiled/project/linuxarmv7l/, which I think is the same file that you would have made all of the changes in when following the install guides you mention above.

So if the nano has c++17 support, (in theory) the nightly should compile with the changes made according to the guide(s) for the nano.