Foaly / lpmt

little projection mapping tool
http://www.hv-a.com/lpmt
GNU General Public License v3.0
0 stars 0 forks source link

Compiling LPMT on RPI2 #15

Open magdesign opened 9 years ago

magdesign commented 9 years ago

Trying to compile your fork of lpmt on RPI2 with of_v0.8.4 I am totally new to openframeworks.

Downloaded all depencies listed in addons.make to the /addons directory. Did the export MAKEFLAGS=-j4 PLATFORM_VARIANT=rpi2 Navigated to /scripts/linux/ and made a ./compileOF.sh navigated to /apps/lpmt and did a make.

What I got was: Makefile:2: ../openFrameworks/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples: No such file or directory make: *\ No rule to make target '../openFrameworks/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples'. Stop.

Any idea? Would be lovely to see lpmt running on RPI 2

Foaly commented 9 years ago

Hmm that seems weird... these files (....Makefile.examples) come with openFrameworks, so they should exist. The only thing I can think of right now, is that make can't find these files. Take a look at config.make in the project and make sure that OF_ROOT in line 6 points to your openFrameworks folder.

edit: also let me know how it goes, I would love to know if LPMT runs on the RPI2!

magdesign commented 9 years ago

Thanks! I set the path in config.make and installed the required decencies, changed the ofxTimeline to: git clone https://github.com/YCAMInterlab/ofxTimeline.git -b develop as this is required in linux

and it finally starts compiling and after a while it says:

/home/pi/of_v0.8.4/addons/ofxTimeline/src/ofxTimeline.h:53:25: fatal error: ofxMSATimer.h: No such file or directory compilation terminated. /home/pi/of_v0.8.4/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:191: recipe for target 'obj/linuxarmv7l/Release/src/GUI.o' failed make[1]: * [obj/linuxarmv7l/Release/src/GUI.o] Error 1 make[1]: * Waiting for unfinished jobs.... /home/pi/of_v0.8.4/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:191: recipe for target 'obj/linuxarmv7l/Release/src/testApp.o' failed make[1]: * [obj/linuxarmv7l/Release/src/testApp.o] Error 1 /home/pi/of_v0.8.4/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:191: recipe for target 'obj/linuxarmv7l/Release/src/main.o' failed make[1]: * [obj/linuxarmv7l/Release/src/main.o] Error 1 src/deform.cpp: In member function ‘void quad::bezierSurfaceSetup()’: src/deform.cpp:48:13: error: ‘GL_MAP2_VERTEX_3’ was not declared in this scope src/deform.cpp:48:82: error: ‘glMap2f’ was not declared in this scope src/deform.cpp:50:13: error: ‘GL_MAP2_TEXTURE_COORD_2’ was not declared in this scope src/deform.cpp:53:14: error: ‘GL_AUTO_NORMAL’ was not declared in this scope src/deform.cpp:54:35: error: ‘glMapGrid2f’ was not declared in this scope src/deform.cpp: In member function ‘void quad::bezierSurfaceUpdate()’: src/deform.cpp:79:17: error: ‘GL_MAP2_VERTEX_3’ was not declared in this scope src/deform.cpp:79:86: error: ‘glMap2f’ was not declared in this scope src/deform.cpp:84:17: error: ‘GL_MAP2_TEXTURE_COORD_2’ was not declared in this scope src/deform.cpp:87:18: error: ‘GL_AUTO_NORMAL’ was not declared in this scope src/deform.cpp:88:39: error: ‘glMapGrid2f’ was not declared in this scope /home/pi/of_v0.8.4/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:191: recipe for target 'obj/linuxarmv7l/Release/src/deform.o' failed make[1]: * [obj/linuxarmv7l/Release/src/deform.o] Error 1 make[1]: Leaving directory '/home/pi/of_v0.8.4/apps/lpmt' /home/pi/of_v0.8.4/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:126: recipe for target 'Release' failed make: * [Release] Error 2

So what I did is change the ofxMSATimer to this one: https://github.com/obviousjim/ofxMSATimer and this error finally disappeared, but I still can not run LPMT:

/home/pi/of_v0.8.4/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:126: recipe for target 'Release' failed make: *\ [Release] Error 2

and so make run does not work.... Any ideas?

Foaly commented 9 years ago

I dont really know. Try a make clean and rebuilt everything. Maybe post the error output again.

magdesign commented 9 years ago

Thanks for helping me. I started with a clean install and tried to compile again, here the errors I got (in gist):

https://gist.github.com/magdesign/73b4ee3d650e9ced84ba

I dont have a clue whats going wrong, maybe that deform.o is not arm compatible....

Foaly commented 9 years ago

Well you still have compile errors. The line error: ‘array’ in namespace ‘std’ does not name a type means that he can't find std::array (which my version of ofxSimpleGuiToo needs). Since <array> is included, you could try and double check if the flag -std=c++11 is enables in the project settings. I usually develop on windows, so it could be that I forgot to enable it for Linux.

magdesign commented 9 years ago

I added -std=c++11' in config.make under USER_COMPILER_OPTIMIZATION = Still the same error: https://gist.github.com/magdesign/e586a8a4516492167d98

There is also this message: /usr/include/c++/4.6/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.

so I also tried adding -std=gnu++0x to USER_COMPILER_OPTIMIZATION =and -std=c++0x no luck....

Foaly commented 9 years ago

Hmm weird that USER_COMPILER_OPTIMIZATION doen't work... But at least the error message clearly states that you need c++11 support. (by the way -std=c++11 superseeds -std=c++0x and -std=gnu++0x). Try adding the flag under USER_CFLAGS. Also some general questions: You are using gcc, right? What version? What platform are you developing on? Are you using Code::Blocks (or a different IDE) for compliation or do you "by hand" using make?

magdesign commented 9 years ago

I tried to add the flag under USER_CFLAGS Still no luck. I asked him: https://github.com/kr15h for help and he told me that LPMT can not be compiled on ARMv7.... :-( why ever...

I'm doing it on RaspberryPi 2 with debian wheezy, compiling directly from the terminal by hand with the make command. However, just installed Code::Blocks and tried it under X on my RPi2, but the compiler complains about missing .dpkg's.... I'm slowly loosing hope...

Foaly commented 9 years ago

Aah thats unfortunate. Did he mention why it can't be compiled? Maybe there is something we can change. I would keep trying to compile lmpt with -std=c++11. Maybe give the Code::Blocks project file a try (CB has it's own built system, so maybe you can sneak the flag in there)

magdesign commented 7 years ago

Any news on this... I guess its just impossible on ARM....missing graphic support..then you could close that issue...