Skip to content
This repository has been archived by the owner on Jun 24, 2020. It is now read-only.

Try building packages on anaconda.org #20

Open
astrojuanlu opened this issue Jun 28, 2015 · 16 comments
Open

Try building packages on anaconda.org #20

astrojuanlu opened this issue Jun 28, 2015 · 16 comments

Comments

@astrojuanlu
Copy link
Owner

This might ease the process once the recipes are proven to work. Perhaps try for next FEniCS release.

@astrojuanlu
Copy link
Owner Author

Now binstar.org is anaconda.org.

@astrojuanlu astrojuanlu changed the title Try building packages on binstar.org Try building packages on anaconda.org Jul 9, 2015
@astrojuanlu
Copy link
Owner Author

The problem with FEniCS comes when adding VTK support, since it requires an OpenGL implementation. Apparently it is not possible to install new system packages in anaconda.org builds because it requires root access, see for instance:

https://binstar.org/jf/opencascade_community_edition/builds/9/0

cc @gmarkall

@gmarkall
Copy link

One possible workaround for this is to run your own build worker that you have control of on a local machine - some documentation for how to do this is at: http://docs.binstar.org/build-config.html#BuildWorkers - the docker image for the build worker that you could use as a starting point is at: https://registry.hub.docker.com/u/continuumio/binstar-build-linux64/ - perhaps a setup with this could be used to build a VTK package that you could then conda install on normal anaconda.org build workers?

Another possible workaround is to build a conda package containing an OpenGL implementation, but I guess this is less trivial than it sounds (I don't really know anything about OpenGL)?

@astrojuanlu
Copy link
Owner Author

The thing is that OpenGL is not a build requirement, but a runtime one. In fact, I could build FEniCS properly configured with VTK without any OpenGL implementation available - but I would not be able to test it, even though the only test I'm running for DOLFIN is import dolfin. Apparently many shared libraries are loaded at import time, and if DOLFIN was configured with VTK support it will call libGL.so.

I don't know how difficult it would be either, but I agree with you that it can be nontrivial.

@el-oso
Copy link

el-oso commented Dec 28, 2015

Hi, I just recently installed your conda packages and they were great! Thanks, for building them. However, I would like to visualize the data but I have no idea without VTK support.
Any followup on this topic recently?

@astrojuanlu
Copy link
Owner Author

Hi @el-oso, thanks for your interest. The problem is that the latest VTK package from Anaconda still hadn't solved all the portability issues last time I checked (see ContinuumIO/anaconda-issues#483 (comment)). RealLife™ caught me these months so I haven't been able to work on this issue, and actually I have other pending ones. I suggest you to try building your own packages - the recipes should be ready to compile in any Linux distribution, and while not achieving portability you can make them work on your computer.

@astrojuanlu
Copy link
Owner Author

Removed Qt and VTK to make this possible in fc47a2d and testing in https://anaconda.org/juanlu001/fenics_all/builds/1/0. Still, conda build swig fails because zlib is not found.

@astrojuanlu
Copy link
Owner Author

After almost 50 minutes, the process has failed in the exact last step: https://anaconda.org/Juanlu001/fenics_all/builds/5/0 I will call it "progress".

@astrojuanlu
Copy link
Owner Author

By the way @el-oso you can still export the results and view them in Paraview or mayavi2, see for instance http://fenicsproject.org/documentation/dolfin/1.6.0/python/demo/documented/poisson/python/documentation.html:

file = File("poisson.pvd")
file << u

@el-oso
Copy link

el-oso commented Jan 5, 2016

Hi,

I was disconnected for several days and I just saw your reply. I haven't
tried the recipes and rebuild the conda packages, but
I have been using Fenics + Paraview on my leisure time :) and found it to
be a good combination.

@Juanlu001 I will try to rebuild the packages as you previously suggested
and see how that works out.

Small question then ... If you can visualize with Paraview or Mayavi2, what
is the purpose of the Dolphin viewer? To visualize the results in real time?

On Tue, Jan 5, 2016 at 9:30 AM Juan Luis Cano Rodríguez <
notifications@github.com> wrote:

By the way @el-oso https://github.com/el-oso you can still export the
results and view them in Paraview or mayavi2, see for instance
http://fenicsproject.org/documentation/dolfin/1.6.0/python/demo/documented/poisson/python/documentation.html
:

file = File("poisson.pvd")file << u


Reply to this email directly or view it on GitHub
#20 (comment)
.

@astrojuanlu
Copy link
Owner Author

Good to know FEniCS + Paraview is working well! I cannot speak on behalf of fenics-dev but I guess it's handy to have a simple plot command in DOLFIN to quickly visualize things.

@astrojuanlu
Copy link
Owner Author

Current status: Anaconda-Server Badge

@astrojuanlu
Copy link
Owner Author

I still get this unhelpful error on import that I am unable to reproduce locally:

===== testing package: dolfin-1.6.0-np19py27_6 =====
import: u'dolfin'
TESTS FAILED: dolfin-1.6.0-np19py27_6
command exited with status 1
discarding /home/anaconda/env/bin from PATH
Exit BINSTAR_BUILD_RESULT=failure

(see https://anaconda.org/juanlu001/fenics_all/builds/16/0#L29630)

@gmarkall do you have an idea why this can happen? I already added debugging flags to the compilation, so it's unclear to me what's happening there...

@gmarkall
Copy link

gmarkall commented Jan 7, 2016

I'm not quite sure why that happened - it's unfortunate that no message appears to have been printed. To try to debug this, I'd try commenting out https://github.com/Juanlu001/fenics-recipes/blob/master/dolfin/meta.yaml#L47-L49 and adding a new file, dolfin/run_test.py that contains the statement import dolfin to see if that succeeds - if it fails, hopefully some output would be captured and end up in the log. (This shouldn't change what the test is doing, importing dolfin, but is just another way to do it).

@gmarkall
Copy link

gmarkall commented Jan 7, 2016

Also, you may want to add the -q flag to your conda build invocations so that the progress bars don't get printed out into the log.

astrojuanlu added a commit that referenced this issue Jan 7, 2016
@astrojuanlu
Copy link
Owner Author

Thanks for your suggestions @gmarkall. I did as you say but unfortunately the error is equally cryptic:

===== testing package: dolfin-1.6.0-np19py27_6 =====
running run_test.py
TESTS FAILED: dolfin-1.6.0-np19py27_6
command exited with status 1

https://anaconda.org/juanlu001/fenics_all/builds/19/0#L13720

I fear I am out of ideas here :(

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants