Ticket #705 (closed enhancement: fixed)
[with optional spkg] Make vtk an easy-to-install optional sage package
| Reported by: | was | Owned by: | jkantor |
|---|---|---|---|
| Priority: | major | Milestone: | sage-2.10 |
| Component: | packages: standard | Keywords: | |
| Cc: | Work issues: | ||
| Report Upstream: | Reviewers: | ||
| Authors: | Merged in: | ||
| Dependencies: | Stopgaps: |
Description
From Josh:
I have a vtk meta package in my spkgs directory. It automatically attempts to detect the tcl/tk libs and rebuild python if the tk bindings were not compiled on linux and rebuilds python as a framework on OSX, it then builds VTK.
Change History
comment:1 Changed 6 years ago by mabshoff
- Summary changed from Make vtk an easy-to-install optional sage package to [with spkg] Make vtk an easy-to-install optional sage package
comment:5 Changed 6 years ago by cwitty
I tried your meta spkg on my laptop (Debian testing), and it failed even after I installed tcl8.4-dev and tk8.4-dev packages, with this error:
test_tcl.c:2:24: error: tcl8.3/tcl.h: No such file or directory test_tcl.c:3:23: error: tcl8.3/tk.h: No such file or directory In file included from test_tcl.c:8: /usr/include/tcl8.4/tk.h:21:17: error: tcl.h: No such file or directory
As you can see, tcl8.4/tk.h includes tcl.h without specifying a path, so it doesn't find /usr/include/tcl8.4/tcl.h. Programs using tcl and tk need to be compiled with -I/usr/include/tcl8.4.
comment:6 Changed 6 years ago by was
Josh,
Michael Abshoff and I spent some time looking over the vtk packaging
stuff you're doing. I think you should put all the spkg's together
in one big directory:
vtk_meta-1/
cmake-2.4.7.spkg
MayaVi-1.5.spkg
python-2.5.1-framework.spkg
PyVTK-0.4.74.spkg
vtk-5.0.3.p1.spkg
The version number on the directory is very important.
Then put the spkg-install from your current vtk_meta in there.
You have to change your spkg-install slightly, so it works
with spkg's that are "local", i.e., it will be vasty simpler.
Then you can just do
sage -pkg_nc vtk_meta-1 # nc for "no compression"
to make a file vtk_meta-1.spkg that anyone can easily build
anywhere by doing
sage -i vtk_meta-1.spkg
OK?
If you don't do this, then there are a bunch of separate
optional packages, and though you might not know this a
*LOT* of people who install Sage immediately do "sage -optional"
and proceed, in pretty much random order, to install one
optional package after the other and play with it. Having
a bunch that don't make sense by themselves, e.g., python-2.5.1-framework.spkg,
in optional would reak havoc and confuse a large number of people.
I'm sorry I suggested the more complicated setup that you
actually implemented. I hope you can see how the above suggestion
will be much simpler for people to use.
comment:7 Changed 6 years ago by mabshoff
- Summary changed from [with spkg] Make vtk an easy-to-install optional sage package to [with optional spkg] Make vtk an easy-to-install optional sage package
comment:8 Changed 6 years ago by was
UPDATE -- now it is made easier and simple, finally:
The package vtk_meta-1.spkg in my spkg's directory should be ready now. It requires tcl/tk dev libs to build on Linux as well as open gl. It takes between 15-40+ minutes to compile depending on cpu and whether or not python needs to be rebuilt. Nothing extra required on OSX. I'm curious if it works on leopard? Also there is a pretty skeletal but functional patch in my spkgs, vtk_plot.hg that adds three functions that allow plotting 2d surfaces and 3d isosurfaces.
comment:10 Changed 5 years ago by mabshoff
- Status changed from new to closed
- Resolution set to fixed
William put this into the experimental package directory a while ago. So close this now.
Note: See
TracTickets for help on using
tickets.
