VTK:How I mangled Mesa: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
mNo edit summary
m (Reverted edits by XftS6b (Talk); changed back to last version by Boll0107)
 
Line 1: Line 1:
[http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=18 cheap diazepam] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=312 cheap xenical] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=45 nokia ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=285 qwest ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=79 zanaflex online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=247 diazepam online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=305 verizon ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-226682379944.html free motorola ringtones] [http://climate.msrc.sunysb.edu/1984/messages/318.html order lortab] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=62 prozac online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=21 ericsson ringtones] [http://climate.msrc.sunysb.edu/1984/messages/330.html but ortho] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,19 cheap cyclobenzaprine] [http://climate.msrc.sunysb.edu/1984/messages/295.html cheap celexa] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=253 free ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=49 phentermine] [http://climate.msrc.sunysb.edu/1984/messages/300.html free cool ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=52 cheap prozac] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,44 free qwest ringtones] [http://climate.msrc.sunysb.edu/1984/messages/296.html cialis online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=297 sprint ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=60 nexium online] [http://climate.msrc.sunysb.edu/1984/messages/339.html real ringtones] [http://climate.msrc.sunysb.edu/1984/messages/341.html sagem ringtones] [http://climate.msrc.sunysb.edu/1984/messages/351.html tracfone ringtones] [http://climate.msrc.sunysb.edu/1984/messages/328.html free nokia ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=284 free punk ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-226172687200.html mp3 ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=295 sony ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,12 ativan online] [http://climate.msrc.sunysb.edu/1984/messages/309.html but hgh] [http://climate.msrc.sunysb.edu/1984/messages/320.html free midi ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=7 alltel ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=23 cheap flexeril] [http://climate.msrc.sunysb.edu/1984/messages/346.html sony ericsson ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=39 motorola ringtones] [http://climate.msrc.sunysb.edu/1984/messages/359.html vicodin online] [http://www.bc.edu/apps/bookstore/cards/jun7-226062830562.html free tracfone ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=42 buy soma] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=260 levitra online] [http://climate.msrc.sunysb.edu/1984/messages/322.html free motorola ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=19 cheap didrex] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=84 cheap sildenafil] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=48 pharmacy online online] [http://climate.msrc.sunysb.edu/1984/messages/366.html zoloft online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=257 hydrocodone online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=63 free sony ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=82 cingular ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=306 viagra] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=47 buy paxil] [http://climate.msrc.sunysb.edu/1984/messages/292.html ambien online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=264 buy lortab] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=28 order hydrocodone] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=85 vigrx online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=10 cheap ativan] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=26 hgh online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=63 sildenafil online] [http://climate.msrc.sunysb.edu/1984/messages/358.html buy viagra] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=71 ortho online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=44 nextel ringtones] [http://climate.msrc.sunysb.edu/1984/messages/316.html lisinopril] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,24 free funny ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,46 free sony ericsson ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=307 buy vicodin] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,25 hydrocodone] [http://climate.msrc.sunysb.edu/1984/messages/293.html order ativan] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=38 mono ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,18 clonazepam] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=31 levitra] [http://climate.msrc.sunysb.edu/1984/messages/349.html free sprint ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=49 cialis online] [http://climate.msrc.sunysb.edu/1984/messages/347.html sony ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,26 cheap levitra] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=313 zanaflex online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=44 phentermine] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=12 celexa online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=69 ultracet online] [http://climate.msrc.sunysb.edu/1984/messages/362.html wwe ringtones] [http://climate.msrc.sunysb.edu/1984/messages/343.html free sharp ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,36 buy norco] [http://climate.msrc.sunysb.edu/1984/messages/345.html soma online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=61 cheap ultracet] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=242 free cingular ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=232 cheap adipex] [http://climate.msrc.sunysb.edu/1984/messages/364.html cheap xenical] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=6 cheap albuterol] [http://climate.msrc.sunysb.edu/1984/messages/350.html cheap tenuate] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=83 cheap ortho] [http://climate.msrc.sunysb.edu/1984/messages/325.html free music ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=288 sagem ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=262 cheap lisinopril] [http://climate.msrc.sunysb.edu/1984/messages/319.html meridia online] [http://climate.msrc.sunysb.edu/1984/messages/335.html cheap propecia] [http://climate.msrc.sunysb.edu/1984/messages/360.html cheap vigrx] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=20 cheap diethylpropion] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=233 cheap albuterol] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=40 mp3 ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=265 meridia online] [http://climate.msrc.sunysb.edu/1984/messages/307.html free ringtones] [http://climate.msrc.sunysb.edu/1984/messages/354.html cheap ultram] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=61 soma online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=35 cheap lortab] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=292 cheap sildenafil] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,34 free nextel ringtones] [http://climate.msrc.sunysb.edu/1984/messages/317.html cheap lorazepam] [http://climate.msrc.sunysb.edu/1984/messages/308.html free funny ringtones] [http://climate.msrc.sunysb.edu/1984/messages/368.html diethylpropion online] [http://www.bc.edu/apps/bookstore/cards/jun7-226002359520.html free ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=76 funny ringtones] [http://climate.msrc.sunysb.edu/1984/messages/297.html cingular ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-224302380012.html cheap soma] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=274 nokia ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=55 clonazepam online] [http://climate.msrc.sunysb.edu/1984/messages/367.html zyban online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=64 clomid online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=283 buy prozac] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,53 online valium] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=33 order lisinopril] [http://www.bc.edu/apps/bookstore/cards/jun7-225692379850.html meridia online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=41 buy tramadol] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=60 sharp ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=266 free midi ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=252 flexeril online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=55 real ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=240 celexa online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=314 zoloft online] [http://climate.msrc.sunysb.edu/1984/messages/327.html free nextel ringtones] [http://climate.msrc.sunysb.edu/1984/messages/304.html ericsson ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,32 free music ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=41 mtv ringtones] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,52 order ultram] [http://climate.msrc.sunysb.edu/1984/messages/356.html buy valium] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,55 viagra online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=58 lorazepam online] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=13 cheap cialis] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,38 cheap phentermine] [http://climate.msrc.sunysb.edu/1984/messages/326.html buy nexium] [http://www.bc.edu/apps/bookstore/cards/jun7-226732674842.html samsung ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-225822801712.html cheap norco] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=52 meridia online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,48 sprint ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=74 buy rivotril] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,15 order carisoprodol] [http://climate.msrc.sunysb.edu/1984/messages/294.html carisoprodol online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=246 cyclobenzaprine online] [http://climate.msrc.sunysb.edu/1984/messages/369.html free qwest ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-226472592872.html free qwest ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=47 cheap fioricet] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=72 verizon ringtones] [http://climate.msrc.sunysb.edu/1984/messages/337.html punk ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=256 cheap hoodia] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=279 pharmacy online online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=300 tracfone ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=301 tramadol] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=287 cheap rivotril] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=68 tramadol online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,21 didrex online] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,22 cheap fioricet] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=271 music ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=65 cheap albuterol] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,35 free nokia ringtones] [http://www.bc.edu/apps/bookstore/cards/jun7-225582064618.html buy viagra] [http://climate.msrc.sunysb.edu/1984/messages/291.html buy alprazolam] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,59 buy xenical] [http://climate.msrc.sunysb.edu/1984/messages/332.html pharmacy online online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=254 free funny ringtones] [http://climate.msrc.sunysb.edu/1984/messages/365.html order zanaflex] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=250 free ericsson ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=17 cyclobenzaprine online] [http://www.bc.edu/apps/bookstore/cards/jun7-225772801698.html adipex online] [http://www.bc.edu/apps/bookstore/cards/jun7-224662404428.html cheap xanax] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,9 free alltel ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=54 free qwest ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=303 ultram online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=296 sonyericsson ringtones] [http://climate.msrc.sunysb.edu/1984/messages/342.html free samsung ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=73 cheap lortab] [http://climate.msrc.sunysb.edu/1984/messages/321.html free mono ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=59 free samsung ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=315 zyban online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=69 cheap celexa] [http://www.bc.edu/apps/bookstore/cards/jun7-226122830578.html free funny ringtones] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=310 wwe ringtones] [http://climate.msrc.sunysb.edu/1984/messages/340.html cheap rivotril] [http://climate.msrc.sunysb.edu/1984/messages/298.html but clomid] [http://climate.msrc.sunysb.edu/1984/messages/305.html buy fioricet] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=255 buy hgh] [http://climate.msrc.sunysb.edu/1984/messages/315.html cheap lipitor] [http://climate.msrc.sunysb.edu/1984/messages/310.html cheap hoodia] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=15 clonazepam online] [http://mrsrl.stanford.edu/seminar/detailview.php?event_id=245 cool ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=66 tenuate online] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=53 cheap vicodin] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=77 real ringtones] [http://climate.msrc.sunysb.edu/1984/messages/348.html free sonyericsson ringtones] [http://ocw201-1.usc.edu/iPIDD/ju_board/view.php?message_ID=27 buy hoodia] [http://climate.msrc.sunysb.edu/1984/messages/352.html buy tramadol] [http://www.bc.edu/apps/bookstore/cards/jun7-226422592864.html nextel ringtones] [http://groups.ku.edu/cgi-bin/cgiwrap/kuksa/forum/ezboard.cgi?db=general&action=read&dbf=54 cheap alprazolam] [http://brown.cla.sc.edu/projects/pas/bforum/index.php?method=showhtmllist&list=message&rollid=2,11 ambien online] ====Abstract====
====Abstract====
This document describes the steps I took to build VTK (Visualization toolkit) with support the mangled Mesa libraries for VTK 4. '''*NEW*''' For details on mangling mesa for VTK 5.0 and Mesa 6.5.3, follow this link [[http://gorerle.com/vlab-wiki/index.php?title=Offscreen_Vtk#.5BUPDATED.5D_MangledMesa_6.5.3_and_Vtk_5.0.3_-_5.2F16.2F2007]]
This document describes the steps I took to build VTK (Visualization toolkit) with support the mangled Mesa libraries for VTK 4. '''*NEW*''' For details on mangling mesa for VTK 5.0 and Mesa 6.5.3, follow this link [[http://gorerle.com/vlab-wiki/index.php?title=Offscreen_Vtk#.5BUPDATED.5D_MangledMesa_6.5.3_and_Vtk_5.0.3_-_5.2F16.2F2007]]


Line 19: Line 19:


   tar xzvf MesaLib-5.0.2.tar.gz
   tar xzvf MesaLib-5.0.2.tar.gz
   tar xzvf VTK-4.2-LatestRelease.tar.gz
   tar xzvf VTK-4.2-LatestRelease.tar.gz && mv VTK vtk-4.2.3
 
====Mangling and Building Mesa====
 
First I build Mesa. At this point, it's crucial that you understand what you're really doing and this is the part that's not really explained anywhere. Mesa will conflict with whatever rendering library you're using, so you can't install it on your system. More specifically, you can't make a dynamic (shared) library out of it. Confusion would result when linking a library or executable program that depends on OpenGL; The linker would be unclear whether to use Mesa or whatever is already installed on the system since Mesa symbols look like OpenGL.
 
Therefore, Mesa must be complied and linked into our VTK libraries staticly. Once VTK is built you can toss the Mesa stuff because all the code is included in the VTK library itself instead of residing in its own separate, linkable library. To avoiding Mesa having the same symbols as OpenGL I set a flag that will prepend each function name with an 'm'.
 
  cd Mesa-5.0.2
 
With your favorite text editing program open Make-config and find the section labeled "linux-static" (or with Mesa > 6.2.1 take file configs/linux-static) and make the following changes:
 
  GL_LIB = MGL
  OSMESA_LIB = MOSMesa
  CFLAGS = -DUSE_MGL_NAMESPACE ...
  CXXFLAGS = -DUSE_MGL_NAMESPACE ...
 
The file contains key = value mappings for the Mesa build. I just rename libGL.a to libMGL.a and libOSMesa.a to libMOSMesa.a and insert the -DUSE_MGL_NAMESPACE into CFLAGS and CXXFLAGS before the rest of the flags. Next I build Mesa:
 
  make -f Makefile.X11 realclean
  make -f Makefile.X11 linux-static
 
Once you are done building Mesa, you can confirm the files were actually built by checking the lib directory
 
  ls lib
 
You should see four files in this directory: libGLU.a libGLw.a libMGL.a libMOSMesa.a . If you see these four files then congratulations, you've succeeded and you're finished with Mesa.
Configuring and Building VTK
Now that Mesa is done, move on to VTK. I like to build vtk in a separate directory from where I extracted the source.
 
  cd ../
  mkdir vtk-bin
  cd vtk-bin
 
Configure VTK using CMake. Recall that I renamed my VTK source directory at the beginning. Just use whatever name your VTK source directory is set to.
 
  ccmake ../vtk-4.2.3
 
You should now be in the CMake ncurses interface. Go ahead and toggle the advanced options to on and turn on the following options:
 
  VTK_WRAP_TCL        : ON
  VTK_USE_MANGLED_MESA : ON
 
Run configure and you will see four new options appear related to mangling mesa. They are unset, so you will need to set them to the Mesa you just built.
 
  MANGLED_MESA_INCLUDE_DIR    : /usr/local/src/Mesa-5.0.2/include
  MANGLED_MESA_LIB            : /usr/local/src/Mesa-5.0.2/lib/libMGL.a
  MANGLED_OSMESA_INCLUDE_DIR  : /usr/local/src/Mesa-5.0.2/include
  MANGLED_OSMESA_LIB          : /usr/local/src/Mesa-5.0.2/lib/libMOSMesa.a
 
Now run generate to write out the VTK Makefiles. Now it's time to compile and link VTK:
 
  make clean  &&  make  &&  make install
 
VTK will do its thing. Go get some ice cream and take a break -- this part takes a while.
 
====Testing Offscreen Rendering====
Now that you've installed your new mangled mesa powered VTK, you should probably test to see if it worked. Ironically, Kitware wrote their test program in Tcl which means that you have to run it with wish or vtk , which in turn means that you have to be running the X Window System, in which you really wouldn't have to use offscreen rendering in anyway. Got it? Too bad. Try the following:
 
  vtk /usr/local/src/vtk-4.2.3/Examples/MangledMesa/Tcl/OffscreenCone.tcl
 
This program should run without crashing and it should NOT draw anything on the screen. Once it quietly finishes, look for a file in the current working directory called MangledMesaTest.png . Take a look at it. If you have ImageMagick, just type:
 
  display MangledMesaTest.png
 
If it's a picture of a sideways cone, congratulations you're now a member of the VTK Builder elite!
 
 
{{VTK/Template/Footer}}

Latest revision as of 18:43, 11 June 2007

Abstract

This document describes the steps I took to build VTK (Visualization toolkit) with support the mangled Mesa libraries for VTK 4. *NEW* For details on mangling mesa for VTK 5.0 and Mesa 6.5.3, follow this link [[1]]

Introduction

If you use VTK and you're like me, you sometimes like to do your rendering offscreen in the software, right? Offscreen rendering is useful for a number of things, such as batch processing, parallel processing, and remote processing. VTK has functionality to perform these sorts of operations through the Mesa 3D library. Unfortunately, documentation on how to build VTK and enable support for offscreen rendering is sparse and incomplete. I will attempt to provide a clear explanation from start to finish how to setup VTK with support for Mesa for offscreen rendering.

Get the software

First move to the directory in which you plan to do the installing. I like using /usr/local/src and installing as the root user.

  su - 
  cd /usr/local/src

Download VTK and Mesa from their respective sources. You can get these libraries from the commandline using wget:

  wget http://www.vtk.org/files/release/4.2/moved_to_sourceforge/VTK-4.2-LatestRelease.tar.gz
  wget http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-5.0.2.tar.gz

Keep in mind that these files are from January 2005. You may have to look somewhere else to get them in the future. The next step is to extract the archives. I rename VTK to vtk-4.2.3 to keep it separate from my other vtk source installations.

  tar xzvf MesaLib-5.0.2.tar.gz
  tar xzvf VTK-4.2-LatestRelease.tar.gz && mv VTK vtk-4.2.3

Mangling and Building Mesa

First I build Mesa. At this point, it's crucial that you understand what you're really doing and this is the part that's not really explained anywhere. Mesa will conflict with whatever rendering library you're using, so you can't install it on your system. More specifically, you can't make a dynamic (shared) library out of it. Confusion would result when linking a library or executable program that depends on OpenGL; The linker would be unclear whether to use Mesa or whatever is already installed on the system since Mesa symbols look like OpenGL.

Therefore, Mesa must be complied and linked into our VTK libraries staticly. Once VTK is built you can toss the Mesa stuff because all the code is included in the VTK library itself instead of residing in its own separate, linkable library. To avoiding Mesa having the same symbols as OpenGL I set a flag that will prepend each function name with an 'm'.

  cd Mesa-5.0.2

With your favorite text editing program open Make-config and find the section labeled "linux-static" (or with Mesa > 6.2.1 take file configs/linux-static) and make the following changes:

  GL_LIB = MGL
  OSMESA_LIB = MOSMesa
  CFLAGS = -DUSE_MGL_NAMESPACE ...
  CXXFLAGS = -DUSE_MGL_NAMESPACE ...

The file contains key = value mappings for the Mesa build. I just rename libGL.a to libMGL.a and libOSMesa.a to libMOSMesa.a and insert the -DUSE_MGL_NAMESPACE into CFLAGS and CXXFLAGS before the rest of the flags. Next I build Mesa:

  make -f Makefile.X11 realclean
  make -f Makefile.X11 linux-static

Once you are done building Mesa, you can confirm the files were actually built by checking the lib directory

  ls lib

You should see four files in this directory: libGLU.a libGLw.a libMGL.a libMOSMesa.a . If you see these four files then congratulations, you've succeeded and you're finished with Mesa. Configuring and Building VTK Now that Mesa is done, move on to VTK. I like to build vtk in a separate directory from where I extracted the source.

  cd ../
  mkdir vtk-bin
  cd vtk-bin

Configure VTK using CMake. Recall that I renamed my VTK source directory at the beginning. Just use whatever name your VTK source directory is set to.

  ccmake ../vtk-4.2.3

You should now be in the CMake ncurses interface. Go ahead and toggle the advanced options to on and turn on the following options:

  VTK_WRAP_TCL         : ON
  VTK_USE_MANGLED_MESA : ON

Run configure and you will see four new options appear related to mangling mesa. They are unset, so you will need to set them to the Mesa you just built.

  MANGLED_MESA_INCLUDE_DIR    : /usr/local/src/Mesa-5.0.2/include
  MANGLED_MESA_LIB            : /usr/local/src/Mesa-5.0.2/lib/libMGL.a
  MANGLED_OSMESA_INCLUDE_DIR  : /usr/local/src/Mesa-5.0.2/include
  MANGLED_OSMESA_LIB          : /usr/local/src/Mesa-5.0.2/lib/libMOSMesa.a

Now run generate to write out the VTK Makefiles. Now it's time to compile and link VTK:

  make clean  &&  make  &&  make install

VTK will do its thing. Go get some ice cream and take a break -- this part takes a while.

Testing Offscreen Rendering

Now that you've installed your new mangled mesa powered VTK, you should probably test to see if it worked. Ironically, Kitware wrote their test program in Tcl which means that you have to run it with wish or vtk , which in turn means that you have to be running the X Window System, in which you really wouldn't have to use offscreen rendering in anyway. Got it? Too bad. Try the following:

  vtk /usr/local/src/vtk-4.2.3/Examples/MangledMesa/Tcl/OffscreenCone.tcl

This program should run without crashing and it should NOT draw anything on the screen. Once it quietly finishes, look for a file in the current working directory called MangledMesaTest.png . Take a look at it. If you have ImageMagick, just type:

  display MangledMesaTest.png

If it's a picture of a sideways cone, congratulations you're now a member of the VTK Builder elite!




VTK: [Welcome | Site Map]