ruby vtk bindings

H

horndude77

I'm wanting to use ruby with VTK (http://public.kitware.com/VTK/).
Currently I'm getting errors compiling the ruby bindings
(http://www.gfd-dennou.org/arch/ruby/products/ruby-vtk/):

g++ -fPIC -Wall -g -O2 -fPIC -I. -I/usr/lib/ruby/1.8/i486-linux
-I/usr/lib/ruby/1.8/i486-linux -I. -DHAVE_VTKCONFIGURE_H
-I/usr/include/vtk -c vtkTk.cxx
In file included from vtkTk.cxx:1399:
/usr/include/vtk/vtkTk.h:26:16: error: tk.h: No such file or directory
vtkTk.cxx:343: warning: ‘swig_type_info*
SWIG_TypeDynamicCast(swig_type_info*, void**)’ defined but not used
vtkTk.cxx:366: warning: ‘const char* SWIG_TypePrettyName(const
swig_type_info*)’ defined but not used
vtkTk.cxx:492: warning: ‘char* SWIG_PackVoidPtr(char*, void*, const
char*, size_t)’ defined but not used
vtkTk.cxx:503: warning: ‘const char* SWIG_UnpackVoidPtr(const char*,
void**, const char*)’ defined but not used
vtkTk.cxx:516: warning: ‘char* SWIG_PackDataName(char*, void*, size_t,
const char*, size_t)’ defined but not used
vtkTk.cxx:531: warning: ‘const char* SWIG_UnpackDataName(const char*,
void*, size_t, const char*)’ defined but not used
vtkTk.cxx:595: warning: ‘swig_type_info* SWIG_TypeQuery(const char*)’
defined but not used
vtkTk.cxx:601: warning: ‘void SWIG_TypeClientData(swig_type_info*,
void*)’ defined but not used
vtkTk.cxx:611: warning: ‘void SWIG_PropagateClientData(swig_type_info*)’
defined but not used
vtkTk.cxx:693: warning: ‘VALUE SWIG_Ruby_NewPointerObj(void*,
swig_type_info*, int)’ defined but not used
vtkTk.cxx:719: warning: ‘VALUE SWIG_Ruby_NewClassInstance(VALUE,
swig_type_info*)’ defined but not used
vtkTk.cxx:798: warning: ‘VALUE SWIG_Ruby_NewPackedObj(void*, int,
swig_type_info*)’ defined but not used
vtkTk.cxx:810: warning: ‘void SWIG_Ruby_ConvertPacked(VALUE, void*, int,
swig_type_info*, int)’ defined but not used
vtkTk.cxx:855: warning: ‘void SWIG_AsVal(VALUE, int*)’ defined but not
used
make: *** [vtkTk.o] Error 1

The big mess of warnings is also somewhat worrisome, but I'd just like
it to compile first. I'm running Ubuntu (Breezy) with all the latest
updates. I installed vtk and tk through apt. I also made sure tk.h was
on my system:
$ find /usr/include -name tk.h
/usr/include/tcl8.4/tk-private/generic/tk.h
/usr/include/tcl8.4/tk.h

I don't have much experience compiling my own libraries from scratch so
I'm not quite sure what I'm doing wrong.

Also it seems the ruby bindings are somewhat old and not much is
happening with them. Is there a gem out there or better documentation?

Thanks for the help!

-----Jay Anderson
 
G

Gerald Murray

I'm wanting to use ruby with VTK (http://public.kitware.com/VTK/).
Also it seems the ruby bindings are somewhat old and not much is
happening with them. Is there a gem out there or better documentation?

Thanks for the help!

-----Jay Anderson

The ruby-vtk works with VTK-4.4 but not VTK-5.0+
Simple ruby programs work, but those that require interactive use
- similar to Python's TkIntermodule were not working.
They would require some ruby code to implement that module.

Even with that ruby-vtk, it is an alpha quality.
There is no .gem package yet.
The tar.gz was as easy as reading the instructions in that package.

To get a ruby interface for VTK-5.0 would require implementing a swig
interface.
That is quite a lot of work to get that implemented.

best regards,
Gerald
 
H

horndude77

Hmm... vtk-4.4 seems to be the default for ubuntu. Following the
install instructions again for ruby-vtk I still get the compile error.
Any ideas on why I might be having trouble compiling? Thanks!

-----Jay
 
H

Hidetoshi NAGAI

From: (e-mail address removed)
Subject: ruby vtk bindings
Date: Mon, 27 Feb 2006 04:06:23 +0900
Message-ID: said:
Also it seems the ruby bindings are somewhat old and not much is
happening with them. Is there a gem out there or better documentation?

Although I know this is NOT an answer which you want,
Ruby/Tk can control VTK with its Tcl-wrapper. :)
For example, if you want to use a VTK-Tcl-script,
--------------------------------------------------
require 'tk'

VTK_TCLLIB = '/usr/local/lib/vtk/tcl'
VTK_EXAMPLE = '/usr/local/src/VTK/VTK/Examples/GUI/Tcl'
VTK_DATA = '/usr/local/src/VTK/VTKData'

Tk::AUTO_PATH.lappend(VTK_TCLLIB)

TkPackage.require('vtk')
TkPackage.require('vtkinteraction')
Tk.tk_call('set', '::VTK_DATA_ROOT', VTK_DATA)

Tk.load_tclscript(File.join(VTK_EXAMPLE, 'ImagePlaneWidget.tcl'))

Tk.mainloop
 
G

Gerald Murray

Hmm... vtk-4.4 seems to be the default for ubuntu. Following the
install instructions again for ruby-vtk I still get the compile error.
Any ideas on why I might be having trouble compiling? Thanks!

-----Jay

I used the tcl8.4.11 and tk8.4.11 src, which put all the headers in
/usr/include/
tcl.h tclDecls.h tclPlatDecls.h
tk.h tkDecls.h tkPlatDecls.h

You need to put those headers where the Makefile finds them.
Perhaps link the headers to /usr/include or use/local/include
OR alter the Makefile generated to include the directories in
which the headers are located.

regards,
Gerald
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,967
Messages
2,570,148
Members
46,694
Latest member
LetaCadwal

Latest Threads

Top