Opened 15 years ago

Closed 13 years ago

#21186 closed defect (fixed)

vtk5 +carbon +python variants fail to build on Snow Leopard

Reported by: stefan.janecek@… Owned by: adfernandes (Andrew Fernandes)
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Cc: stefan.janecek@…, jungwook.shin@…, faisal.moledina@…, jjstickel@…, liam.candy@…, ajb78@…, jbrown81@…
Port: vtk5

Description

Building vtk5 fails for me on a fresh installation of MacPorts 1.8 on Snow Leopard. The variant I am trying to build is the one suggested by the mayavi2 package, see http://trac.macports.org/ticket/19567.

#> sudo port install vtk5 +carbon +python -tcltk -x11
Password:
--->  Computing dependencies for vtk5
--->  Building vtk5
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_vtk5/work/VTK" && /usr/bin/make -j2 all " returned error 2
Command output: make[2]: *** No rule to make target `/opt/local/lib/libpython2.5.dylib', needed by `bin/vtkWrapPython'.  Stop.
make[1]: *** [Wrapping/CMakeFiles/vtkWrapPython.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  0%] Built target vtkWrapPythonInit
make: *** [all] Error 2

The file /opt/local/lib/libpython2.5.dylib indeed does not exist, but the python25 package is installed and working fine.

Any ideas?

Change History (19)

comment:1 Changed 15 years ago by dweber@…

Summary: vtk5 +python variant fails to build on Snow Leopardvtk5 +carbon +python variants fail to build on Snow Leopard

Have you tried vtk-devel on Snow Leopard? I don't work on the vtk5 port, but I have done a lot with the vtk-devel port. The vtk-devel port uses cocoa by default, but it has an option for carbon too (which has not been tested). Is there a particular requirement for carbon? Are you wanting to use vtk with qt4-mac?

Regards, Darren

comment:2 Changed 15 years ago by dweber@…

The vtk-devel port will build and install on 10.6, according to https://trac.macports.org/wiki/snc/snowleopard

comment:3 in reply to:  1 Changed 15 years ago by stefan.janecek@…

Replying to dweber@…:

Have you tried vtk-devel on Snow Leopard? I don't work on the vtk5 port, but I have done a lot with the vtk-devel port. The vtk-devel port uses cocoa by default, but it has an option for carbon too (which has not been tested). Is there a particular requirement for carbon? Are you wanting to use vtk with qt4-mac?

I tried to build the vtk5 port because mayavi2 depends on it. And yes, I think mayavi2 needs the carbon variant (see the last post in http://trac.macports.org/ticket/19567).

I just tried to build vtk-devel +carbon +python -tcltk -x11 on Snow Leopard, but the build fails:

In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_vtk-devel/work/vtk-5.4/Rendering/vtkGraphicsFactory.cxx:52:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_vtk-devel/work/vtk-5.4/Rendering/vtkCarbonRenderWindow.h:35:4: error: #error vtkCarbonRenderWindow does not work in 64 bit
gnumake[2]: *** [Rendering/CMakeFiles/vtkRendering.dir/vtkGraphicsFactory.o] Error 1
gnumake[1]: *** [Rendering/CMakeFiles/vtkRendering.dir/all] Error 2
gnumake: *** [all] Error 2

comment:4 Changed 15 years ago by jungwook.shin@…

Cc: jungwook.shin@… added

Cc Me!

comment:5 Changed 15 years ago by tommccullough-tenica

The problem that the OP had with python2.5 was the subject of ticket 18449, which is listed as fixed.(?)

Sorry to be offtopic, but I'm really stuck without the use of mayavi. Apparently the carbon variant of vtk5 (or vtk-devel) is required to use wxWidgets or qt4-mac, which pretty much prevents the use of mayavi. By the way, wxWidgets depends on libsdl, which won't build either - ticket 20235.

Anybody have any thoughts on how to solve this problem?

comment:6 Changed 15 years ago by faisal.moledina@…

Cc: faisal.moledina@… added

Cc Me!

comment:7 Changed 14 years ago by dweber@…

Cc: jjstickel@… added

I'm very busy in my paid job lately - my apologies for not keeping up with things here in MacPorts.

Hmmm, so many issues to consider in these posts. I'm playing things safe in my work, staying with Leopard for a while, until many of Snow Leopard bugs and many of the upstream development bugs are fixed for this new OS release.

My guess is that the dependency on carbon should be phased out. The main display libraries on OSX should move to cocoa (hence that is the default for vtk-devel). Having said that, it doesn't help fix these issues quickly. It looks like the vtk-devel build fails because it was not programmed for 64bit carbon, so that's an upstream issue to post with kitware and see what they can do about it. I'm not aware of their policy on supporting bug fixes for carbon going forward with Snow Leopard etc. for the OSX platform.

I've never used mayavi or looked into the dependency issues for the build and install. Are we talking about 'py25-mayavi'? The default for vtk-devel is to install wrappers for python2.6, but it's also got a variant for python2.5 (haven't started looking at python3.0).

It looks like the mayavi port may need some attention to bring it up to speed with developments in the dependency tree, including py26, vtk-devel, and/or wxPython. I would be looking at ways to get away from carbon at this point.

comment:8 Changed 14 years ago by jjstickel@…

OK, so I am the creator/maintainer of the mayavi port. However, I am not a programmer by trade and a bit of hack for the stuff I figure out on my own ;). After much trial and error, I found that carbon was needed for vtk5 in order for mayavi to work. I am not completely sure, but I think this is because wxwidgets is compiled with carbon. If we can get wxwidgets and wxpython to be cocoa, then I think vtk5 with cocoa will be OK with mayavi. BTW, I made the mayavi port to go with python-2.5 simply because there looked to be a more complete set of python modules with py25 than with py26. Creating a py26-mayavi port that depends on cocoa-based dependencies might be the way to proceed.

I am still on Mac OS 10.4, and don't want to touch my working mayavi until I upgrade to 10.6 later this year. Someone else will have to work on these issues in the meantime.

comment:9 in reply to:  5 Changed 14 years ago by dweber@…

Replying to thomas.mccullough@…:

The problem that the OP had with python2.5 was the subject of ticket 18449, which is listed as fixed.(?)

Sorry to be offtopic, but I'm really stuck without the use of mayavi. Apparently the carbon variant of vtk5 (or vtk-devel) is required to use wxWidgets or qt4-mac, which pretty much prevents the use of mayavi. By the way, wxWidgets depends on libsdl, which won't build either - ticket 20235.

Anybody have any thoughts on how to solve this problem?

An immediate solution may be to use a download binary, e.g.: http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/installation.html http://www.enthought.com/products/epd.php

Given the complexity of the library dependencies (particularly version specificity), your best option for productivity may be to use an OSX binary download. It may take some time to work out the build issues within MacPorts.

comment:10 Changed 14 years ago by liam.candy@…

Cc: liam.candy@… added

Cc Me!

comment:11 Changed 14 years ago by ajb78@…

Cc: ajb78@… added

Cc Me!

comment:12 Changed 14 years ago by ajb78@…

Any progress on fixing this?

comment:13 Changed 14 years ago by jbrown81@…

Cc: jbrown81@… added

Cc Me!

comment:14 Changed 14 years ago by jjstickel@…

I am on Snow Leopard now and have worked out a solution, or at least a workaround. Compiling vtk5 against x11 and wxwidgets/wxpython against gtk+x11 will allow mayavi2 to build and run. See tickets #24350 and #21994. This may not be ideal, but seems satisfactory until there is full support for cocoa in wxwidgets/wxpython.

comment:15 Changed 13 years ago by jjstickel@…

I think this ticket can be closed. There are now a couple options to get vtk and mayavi working together: use x11/gtk2 and wx backend (see above) or cocoa and qt4 backend (see ticket #27016).

comment:16 Changed 13 years ago by jjstickel@…

Also, it looks like wxpython 2.9.x has finally been released, potentially allowing the use of cocoa. This could also be a good route to resolve backend dependency trouble. I'll look into it shortly and open a separate ticket (unless someone beats me to it).

comment:17 in reply to:  16 Changed 13 years ago by jjstickel@…

Replying to jjstickel@…:

Also, it looks like wxpython 2.9.x has finally been released, potentially allowing the use of cocoa. This could also be a good route to resolve backend dependency trouble. I'll look into it shortly and open a separate ticket (unless someone beats me to it).

Getting off-topic for this ticket, but I can report that wxpython 2.9.x does not seem to be working with Mayavi. Therefore, current options are: vtk5+x11 and wxpython+gtk OR vtk5 with cocoa (-x11, -carbon) and pyqt4.

Again, this ticket can be closed.

comment:18 Changed 13 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to adfernandes@…

comment:19 Changed 13 years ago by adfernandes (Andrew Fernandes)

Resolution: fixed
Status: newclosed

Closing as per the given recommendations.

Note: See TracTickets for help on using tickets.