Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempting to build on google collab #183

Closed
gschian0 opened this issue Jun 15, 2022 · 9 comments
Closed

Attempting to build on google collab #183

gschian0 opened this issue Jun 15, 2022 · 9 comments

Comments

@gschian0
Copy link

gschian0 commented Jun 15, 2022

HI!
I have a google cloud pro + subscription and I'm working on installing this. When I run !make install I get this error `]
19s
!make install
[ 1%] Automatic MOC and UIC for target Fragmentarium-2.5.6
...
[ 35%] Building CXX object CMakeFiles/Fragmentarium-2.5.6.dir/Fragmentarium/GUI/CameraControl.cpp.o
/content/FragM/Fragmentarium-Source/Fragmentarium/GUI/CameraControl.cpp: In member function ‘virtual bool Fragmentarium::GUI::Camera3D::parseKeys()’:
/content/FragM/Fragmentarium-Source/Fragmentarium/GUI/CameraControl.cpp:206:29: error: ‘identity’ is not a member of ‘glm’
glm::dmat4 m = glm::identityglm::dmat4();
^~~~~~~~
...

CMakeFiles/Fragmentarium-2.5.6.dir/build.make:228: recipe for target 'CMakeFiles/Fragmentarium-2.5.6.dir/Fragmentarium/GUI/CameraControl.cpp.o' failed
make[2]: *** [CMakeFiles/Fragmentarium-2.5.6.dir/Fragmentarium/GUI/CameraControl.cpp.o] Error 1
CMakeFiles/Makefile2:110: recipe for target 'CMakeFiles/Fragmentarium-2.5.6.dir/all' failed
make[1]: *** [CMakeFiles/Fragmentarium-2.5.6.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2`
thanks for any help in advance!

-Gennaro

@3Dickulus
Copy link
Owner

dmat4 is defined in ...

/usr/include/glm/fwd.hpp: typedef mat<4, 4, f64, defaultp> dmat4;

the file is in glm-devel package version 0.9.9.8

you need to have glm-devel package installed

try uncommenting line 48 in CMakeLists.txt

find_package ( glm REQUIRED )

What OS ? linux windows mac ?

@gschian0
Copy link
Author

I have been running graphical fractal programs on google collab... so Linux! I will try this!

@gschian0
Copy link
Author

I have been having good results running windows vcxsrv and using google gpu with other fractal apps and can GUI sent to my computer over port 6000... I want to include FragM in some colab notebooks I give to some of my artist friends to inspire them to learn about fractals and linux and get high end rendering on the cloud for cheap without banging their heads watching the computer compile. Any help would be appreciated.

@gschian0
Copy link
Author

I am getting the same error... I think it has to do with GLM version ... I think my version is higher than 9.9.8 can you help me figure out how to install version 9.9.8?

@gschian0
Copy link
Author

gschian0 commented Jun 16, 2022

I had success with the INSTALL... I get the 2 first windows open... but as soon as I press ok I loose connection... is there a way to disable the intro window and go straight to the application? here is a link to the colab notebook gist.
https://colab.research.google.com/gist/gschian0/141d39522834f9f828f33132af9c6e5f/fragm.ipynb#scrollTo=rgWxouBUAw_N

this is EXCITING!!!
thanks for any help and this app!

@gschian0
Copy link
Author

gschian0 commented Jun 16, 2022

ok... a new error...
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' failed to get the current screen resources QXcbConnection: XCB error: 170 (Unknown), sequence: 170, resource id: 90, major code: 146 (Unknown), minor code: 20 WARNING: Application calling GLX 1.3 function "glXCreatePbuffer" when GLX 1.3 is not supported! This is an application bug! Segmentation fault. Fragmentarium crashed!

I just confirmed it's not a windowing issue for sure... going back to using multiple windows in vcxsrv

@3Dickulus
Copy link
Owner

3Dickulus commented Jun 17, 2022

The intro (splash screen) closes immediately when the main window opens, according to the logs at the above colab link everything builds and installs properly however...

Application calling GLX 1.3 function "glXCreatePbuffer" when GLX 1.3 is not supported! This is an application bug!

...seems odd because nowhere in the source code does FragM call glXCreatePbuffer ? ? ? so how is it an application bug ? ? ? sounds more like the container setup that defines what OS and hardware you are assigned in the system emulation (just a guess)

You may have to change the CMakeLists.txt @ line 50 from
OpenGL_GL_PREFERENCE "LEGACY"
to
OpenGL_GL_PREFERENCE "GLVND"
and recompile everything, rm -rf * .* in the build folder first.

If you are not using an IDE or cmake-gui then...

  cd FragM/Fragmentarium-Source
  mkdir build
  cd build
  cmake -DOpenGL_GL_PREFERENCE=GLVND -DUSE_OPEN_EXR=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
  make install

It also looks like you are running it from the source folder, that's wrong, cd to the install location where Fragmentarium-2.5.6 executable is and run it there, it installs everything FragM needs in that folder so that you can easily move it to anywhere you like by copying or moving that folder. Run like...

cd /usr/local/Fragmentarium-2.5.6

./Fragmentarium-2.5.6

It is not designed specifically to use a remote display so !export DISPLAY=73.56.196.33:0.0 && ./Fragmentarium-2.5.6 may not be possible.

I have no experience with google colab or running FragM in the cloud, it's not designed with that in mind, there are prebuilt binary packages for linux and windows under "releases" and that is all I "officially" support.

@gschian0
Copy link
Author

Thanks for taking your time to explain this to me! I’m going to see if I can make it work with the information you provided.

@3Dickulus
Copy link
Owner

3Dickulus commented Jun 17, 2022

I am interested to hear about your results :)

oh, and when running from /usr/local/Fragmentarium/ make sure you have write access on that folder

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants