Error of Display with cluster compiled Brainvisa

Questions about BrainVisa usage and installation

Moderators: denghien, riviere

Post Reply
pron.a
Posts: 22
Joined: Mon Feb 22, 2016 10:09 am

Error of Display with cluster compiled Brainvisa

Post by pron.a »

Hello Brainvisa Team ^^,

We are trying to compile brainvisa on a cluster. As a first step we are testing the compilation on a specific node. The node is under Debian 7.11. We installed all dependencies as listed on the Brainvisa wiki. We retrieved the trunk and bug_fix version using the "public" login and password, brainvisa and Soma2009 and then followed the spteps of the wiki.
Please find enclosed the bv_maker.cfg file we used. The compilation works fine :) . We then set the environnement variables using the bv_env.sh script as explained in the wiki.
However, when executing Brainvisa, we have a first error:
No module named sigraph

But what is more important for us is a problem of display in Anatomist.
Anatomist seems to load perfectly, we can load any type of file. But we have weird errors when trying to display it:
When file is a nifti i:
X Error: GLXBadContext 169
Extension: 155 (Uknown extension)
Minor opcode: 6 (Unknown request)
X Error: BadValue (integer parameter out of range for operation) 2
Extension: 155 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id: 0x0
When file is a gifti:
X Error: GLXBadContext 169
Extension: 155 (Uknown extension)
Minor opcode: 6 (Unknown request)
X Error: BadValue (integer parameter out of range for operation) 2
Extension: 155 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id: 0x0
warning: window geometry too small (dimx : 1, max: 0)
warning: window geometry too small (dimy : 1, max: 0)
warning: window geometry too small (dimz : 1, max: 0)
Segmentation fault


At this point we have no (clear) idea.Is it because there is no graphic card on the cluster ? But the display is working fine for everycd .braivisathing except that. A problem with libstdc++ ? We compiled the same Brainvisa on a solo machine with Debian 7.0 without problem.
If you have any it it would be super cool :)
bv_maker_cfg.txt
(1.15 KiB) Downloaded 350 times
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Re: Error of Display with cluster compiled Brainvisa

Post by riviere »

Hi,

Whew, you have compiled all the software ? Awesome, few people are brave enough to do so... But don't forget that if compiling, only the opensource software parts will be available: most of the applicative toolboxes (including Morphologist) involve closed-source parts... In many cases it is possible to use binary distributions, which also include the binaries of closed-source parts.
Anyway I'm glad to know that the operation has succeeded.

The display problem with Anatomist is a very classical one, and normally is not due to Anatomist or Brainvisa, but to OpenGL 3D rendering over a remote display: here Anatomist is actually running on a remote server (cluster), but you want it to display on your client machine screen. This is theoretically possible using the GLX protocol embedded in X client/server architecture. The thing is that this GLX protocol implementation is most of the time broken in almost every Unix X11 (not only linux). When it works, it's just luck (but it sometimes happen)...

That's why we normally perform display on the client side only. It's more efficient anyway.
There are techniques, however, to make remote OpenGL work a little bit, possibly with performance loss (software rendering). We have just experimented a little bit with a few f them. They generally imply a virtual X server which can do OpenGL, and linked to a VNC remote display to avoid the faulty remote GLX protocol. We could do it using TightVNC for instance. In this situation if the server is able to perform hardware 3D rendering, it is still possible to use it in some situations, using a redirection of local rendering in the virtual X server, using VirualGL. There might be other solutions (like web display (we used Guacamole for instance, also based on a VNC, but it's more complex to setup). All these are just clues that we have not fully explored yet, and need at least a little bit of work and setup.

Denis
pron.a
Posts: 22
Joined: Mon Feb 22, 2016 10:09 am

Re: Error of Display with cluster compiled Brainvisa

Post by pron.a »

Hi Denis,

thank you so much for your quick answer ^^ .
Indeed, we realised so far that the libgl-mesa-dev library was coming with libgl-mesa-glx which was doing the job for compiling Brainvisa but was not working efficiently for display on our cluster due to the reasons you explained (luck ^^). After some tests it appears that once compilated we could remove the libgl-mesa-dev and install libgl1-mesa-swx11 instead and display seems to work fine. I hope we do not loose other functionnalities.
Do you think it is possible to compile with libgl1-mesa-swx1-dev instead of libgl1-mesa-dev :?:
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Re: Error of Display with cluster compiled Brainvisa

Post by riviere »

Hi,
I don't have a debian distribution, and I can't find a package libgl1-mesa-swx11 on Ubtuntu 14.04, but I think this kind of package used to exist in earlier distributions. If I remember it's an alternative libGL compiled with only software rendering - so it should work whatever the 3D hardware, but is always slow. Anyway that's probably the best option (or less bad) on a server. If it is as I think, anatomist can build with it, it's just the openGL library which is a different implementation, but both should allow to compile and they have the same API/ABI so you can switch after compilation.
Denis
pron.a
Posts: 22
Joined: Mon Feb 22, 2016 10:09 am

Re: Error of Display with cluster compiled Brainvisa

Post by pron.a »

Hi Denis,
Super ! Thank you very much for your answer :)
We will try it in a second time and let you know if it works.
Have a good day :)
Post Reply