thomwolf / Magic-Sand

Magic-Sand is a software for operating an augmented reality sandbox

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FYI: Linux installation

gekkie opened this issue · comments

After breaking my head for about 2 weeks I have managed to install underlinux:

  1. install openframework 10.0 including deps and build OF
  2. goto addons folder and install all libs
    git clone https://github.com/kylemcdonald/ofxCv.git
    git clone https://github.com/braitsch/ofxDatGui.git
    git clone https://github.com/braitsch/ofxModal.git
    git clone https://github.com/braitsch/ofxParagraph.git
  3. We need to switch to dev branch of ofxDatGui
    cd ofxDatGui
    git checkout dev
  4. Download and install 1.5.4.1 in the apps/myapps filder
  5. open projectGenerator-linux64/projectGenerator
    Open 1.5.4.1 in the sketch
    install the following addons
    ofxCv, ofxDatGui, ofxKinect, ofxModal, ofxOpencv, ofxParagraph, ofxXmlsettings
  6. Update
  7. goto to apps folder and cd to 1_5_4_1
  8. make

Good luck to all!

Oh thanks for sharing!

I was trying to install the software on a Linux Mint system (which also has the https://arsandbox.ucdavis.edu/ software installed and working -- we wanted to check out Magic-Sand too) one day last week, and got to the point where a pale gray "OF" window would come up. Seeing your post above, I just followed your steps as well, but just get the same pale gray window. Looking at the line "By default the software starts in a setup mode where the depth or color image from the Kinect can be seen in the user interface and the projector projects a completely white image." from https://github.com/thomwolf/Magic-Sand/releases/tag/v1.5.4.1 I'm guessing that the pale gray is the "completely white image", but do you have to do something else to get the user interface to come up?

BTW, I can run the openFrameworks kinectExample example project just fine.

Bad news. I realized that I was compiling the wrong thing which also led me to a blank screen. the OF project generator hates dots and so makes a new folder with an underscore. When you merge the two and try to compile all hell breaks loose. After about 4 hours of fixing dependancies and code I stopped. Might spend some time next week but not sure.

Need some help, because of these informations

`apps/myApps/Magic-Sand-1.5.4.1/src/

main.cpp:30:2: error: ‘GLFWmonitor’ was not declared in this scope
GLFWmonitor** monitors = glfwGetMonitors(&count);
main.cpp:30:16: error: ‘monitors’ was not declared in this scope
GLFWmonitor** monitors = glfwGetMonitors(&count);
main.cpp:30:49: error: ‘glfwGetMonitors’ was not declared in this scope
GLFWmonitor** monitors = glfwGetMonitors(&count);
main.cpp:34:51: error: ‘glfwGetMonitorPos’ was not declared in this scope
glfwGetMonitorPos(monitors[windowsNum], &xM, &yM); // We take the first monitor
main.cpp:35:9: error: ‘GLFWvidmode’ does not name a type
const GLFWvidmode * desktopMode = glfwGetVideoMode(monitors[windowsNum]);
main.cpp:37:58: error: ‘desktopMode’ was not declared in this scope
cout << "Monitor " << windowsNum << " size: " << desktopMode->width << "x" << desktopMode->height << endl;
main.cpp:42:13: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = desktopMode->width * 4.0 / 5.0;
main.cpp:43:13: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = desktopMode->height * 4.0 / 5.0;
main.cpp:48:13: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = desktopMode->width;
main.cpp:49:13: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = desktopMode->height;
main.cpp:57:12: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = 1600; // Default settings
main.cpp:58:12: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = 800;
main.cpp:71:14: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = 1280; // Default settings 1600*800
main.cpp:72:14: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = 720;
main.cpp:80:66: error: ‘int ofWindowSettings::width’ is protected within this context
mainWindow->setWindowPosition(ofGetScreenWidth() / 2 - settings.width / 2, ofGetScreenHeight() / 2 - settings.height / 2);
main.cpp:80:112: error: ‘int ofWindowSettings::height’ is protected within this context
idth() / 2 - settings.width / 2, ofGetScreenHeight() / 2 - settings.height / 2);
main.cpp:81:41: error: ‘int ofWindowSettings::width’ is protected within this context
mainWindow->setWindowShape(settings.width, settings.height);
main.cpp:81:57: error: ‘int ofWindowSettings::height’ is protected within this context
mainWindow->setWindowShape(settings.width, settings.height);
//last but not least at the end; it failed and stopped
„obj/linux64/Release/src/main.o“ failed
`
I know that: "There is a known issue with multiple displays on Linux."
How can I handle it?

After breaking my head for about 2 weeks I have managed to install underlinux:

  1. install openframework 10.0 including deps and build OF
  2. goto addons folder and install all libs
    git clone https://github.com/kylemcdonald/ofxCv.git
    git clone https://github.com/braitsch/ofxDatGui.git
    git clone https://github.com/braitsch/ofxModal.git
    git clone https://github.com/braitsch/ofxParagraph.git
  3. We need to switch to dev branch of ofxDatGui
    cd ofxDatGui
    git checkout dev
  4. Download and install 1.5.4.1 in the apps/myapps filder
  5. open projectGenerator-linux64/projectGenerator
    Open 1.5.4.1 in the sketch
    install the following addons
    ofxCv, ofxDatGui, ofxKinect, ofxModal, ofxOpencv, ofxParagraph, ofxXmlsettings
  6. Update
  7. goto to apps folder and cd to 1_5_4_1
  8. make

Good luck to all!

That was quite helpful but I still have an issue, it still doesn't make.
I'm trying to use the ofxRealSense2 addon also on Ubuntu

Need some help, because of these informations

`apps/myApps/Magic-Sand-1.5.4.1/src/

main.cpp:30:2: error: ‘GLFWmonitor’ was not declared in this scope
GLFWmonitor** monitors = glfwGetMonitors(&count);
main.cpp:30:16: error: ‘monitors’ was not declared in this scope
GLFWmonitor** monitors = glfwGetMonitors(&count);
main.cpp:30:49: error: ‘glfwGetMonitors’ was not declared in this scope
GLFWmonitor** monitors = glfwGetMonitors(&count);
main.cpp:34:51: error: ‘glfwGetMonitorPos’ was not declared in this scope
glfwGetMonitorPos(monitors[windowsNum], &xM, &yM); // We take the first monitor
main.cpp:35:9: error: ‘GLFWvidmode’ does not name a type
const GLFWvidmode * desktopMode = glfwGetVideoMode(monitors[windowsNum]);
main.cpp:37:58: error: ‘desktopMode’ was not declared in this scope
cout << "Monitor " << windowsNum << " size: " << desktopMode->width << "x" << desktopMode->height << endl;
main.cpp:42:13: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = desktopMode->width * 4.0 / 5.0;
main.cpp:43:13: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = desktopMode->height * 4.0 / 5.0;
main.cpp:48:13: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = desktopMode->width;
main.cpp:49:13: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = desktopMode->height;
main.cpp:57:12: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = 1600; // Default settings
main.cpp:58:12: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = 800;
main.cpp:71:14: error: ‘int ofWindowSettings::width’ is protected within this context
settings.width = 1280; // Default settings 1600*800
main.cpp:72:14: error: ‘int ofWindowSettings::height’ is protected within this context
settings.height = 720;
main.cpp:80:66: error: ‘int ofWindowSettings::width’ is protected within this context
mainWindow->setWindowPosition(ofGetScreenWidth() / 2 - settings.width / 2, ofGetScreenHeight() / 2 - settings.height / 2);
main.cpp:80:112: error: ‘int ofWindowSettings::height’ is protected within this context
idth() / 2 - settings.width / 2, ofGetScreenHeight() / 2 - settings.height / 2);
main.cpp:81:41: error: ‘int ofWindowSettings::width’ is protected within this context
mainWindow->setWindowShape(settings.width, settings.height);
main.cpp:81:57: error: ‘int ofWindowSettings::height’ is protected within this context
mainWindow->setWindowShape(settings.width, settings.height);
//last but not least at the end; it failed and stopped
„obj/linux64/Release/src/main.o“ failed
`
I know that: "There is a known issue with multiple displays on Linux."
How can I handle it?

I have this problem too. Did you manage to fix it ??