astrojuanlu / fenics-recipes

This repository contains conda recipes for the FEniCS libraries
The Unlicense
13 stars 15 forks source link

Dolfin has been compiled without VTK support #48

Closed desanti6 closed 8 years ago

desanti6 commented 8 years ago

Hello,

I have been trying to use Fenics. The code seems to run but I am receiving a warning saying "Plotting not available. DOLFIN has been compiled without VTK support."

I followed the directions for a Conda install found on the Fenics page. I also know that VTK was installed with the Fenics installation. VTK also shows up as a package in the Conda list. Any help would be appreciated.

Thanks

astrojuanlu commented 8 years ago

Hello @desanti6, this is a duplicate of #39. Right now VTK was causing portability problems so I disabled it to upload packages to my channel. It doesn't matter whether you have it installed or not because the requirement is enforced at compile time. I recommend you either to use Paraview or to compile the packages yourself using the recipes.

desanti6 commented 8 years ago

Juan,

Thanks for the quick response. I'm pretty new to working in linux and to all of this. I've also had a heck of a time even getting this far in the installation process. I have no idea what Paraview is or how to compile something from a recipe. Let alone where to find a recipe. I'm sorry to ask but I would really appreciate it if you could give me a few more details/point me to the recipe

Thanks

Dan

On Wed, Jan 20, 2016 at 9:37 AM, Juan Luis Cano Rodríguez < notifications@github.com> wrote:

Hello @desanti6 https://github.com/desanti6, this is a duplicate of #39 https://github.com/Juanlu001/fenics-recipes/issues/39. Right now VTK was causing portability problems so I disabled it to upload packages to my channel. It doesn't matter whether you have it installed or not because the requirement is enforced at compile time. I recommend you either to use Paraview or to compile the packages yourself using the recipes.

— Reply to this email directly or view it on GitHub https://github.com/Juanlu001/fenics-recipes/issues/48#issuecomment-173222538 .

Daniel DeSantis

astrojuanlu commented 8 years ago

Hello Dan, sorry for the terse response - if you are new to Linux I can imagine it must have been a long way until you reached this point.

On the one hand, Paraview is a visualization software which works with the same format as the DOLFIN plotting routines do - VTK. This means that, instead of plotting from FEniCS, you can export the data to a .pvd file and read it from there.

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

Paraview is a well known software and learning how to use will benefit you in the long term, because DOLFIN plotting support is pretty simple.

On the other hand, this source repository contains the conda recipes used to build the packages - this means that you can follow exactly the same procedure that I did to get something that works. You can download them as ZIP:

https://github.com/Juanlu001/fenics-recipes/archive/master.zip

And then try to build them using conda-build. As you are already using conda:

$ conda install conda-build -y
$ conda config --add channels juanlu001
$ conda build petsc petsc4py slepc instant ufl fiat ffc dolfin fenics --python 2.7
$ conda install fenics --use-local

Notice however that, although I did my best to provide good recipes that should compile on first try on any Linux distro, this might not be the case.

The trick to have VTK support is to uncomment the two vtk lines here:

https://github.com/Juanlu001/fenics-recipes/blob/4aeee1cb422a3aa83e3a28ead39a534c78287a80/dolfin/meta.yaml

And change this one to -DDOLFIN_ENABLE_VTK:BOOL=TRUE:

https://github.com/Juanlu001/fenics-recipes/blob/4aeee1cb422a3aa83e3a28ead39a534c78287a80/dolfin/build.sh#L15

Don't hesitate to ask further questions here, even though I cannot promise I will be as quick to respond as now.

I wish you the best luck :four_leaf_clover:

desanti6 commented 8 years ago

Juan,

No apology necessary. I'm sure you are busy. I really, really appreciate the help. I will try both Paraview and the Conda build.

Thanks again!

Dan

On Wed, Jan 20, 2016 at 9:54 AM, Juan Luis Cano Rodríguez < notifications@github.com> wrote:

Hello Dan, sorry for the terse response - if you are new to Linux I can imagine it must have been a long way until you reached this point.

On the one hand, Paraview is a visualization software which works with the same format as the DOLFIN plotting routines do - VTK. This means that, instead of plotting from FEniCS, you can export the data to a .pvd file and read it from there.

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

Paraview is a well known software and learning how to use will benefit you in the long term, because DOLFIN plotting support is pretty simple.

On the other hand, this source repository contains the conda recipes used to build the packages - this means that you can follow exactly the same procedure that I did to get something that works. You can download them as ZIP:

https://github.com/Juanlu001/fenics-recipes/archive/master.zip

And then try to build them using conda-build. As you are already using conda:

$ conda install conda-build -y $ conda config --add channels juanlu001 $ conda build petsc petsc4py slepc instant ufl fiat ffc dolfin fenics --python 2.7 $ conda install fenics --use-local

Notice however that, although I did my best to provide good recipes that should compile on first try on any Linux distro, this might not be the case.

The trick to have VTK support is to uncomment the two vtk lines here:

https://github.com/Juanlu001/fenics-recipes/blob/4aeee1cb422a3aa83e3a28ead39a534c78287a80/dolfin/meta.yaml

And change this one to -DDOLFIN_ENABLE_VTK:BOOL=TRUE:

https://github.com/Juanlu001/fenics-recipes/blob/4aeee1cb422a3aa83e3a28ead39a534c78287a80/dolfin/build.sh#L15

Don't hesitate to ask further questions here, even though I cannot promise I will be as quick to respond as now.

I wish you the best luck [image: :four_leaf_clover:]

— Reply to this email directly or view it on GitHub https://github.com/Juanlu001/fenics-recipes/issues/48#issuecomment-173227542 .

Daniel DeSantis

desanti6 commented 8 years ago

Juan,

Just wanted to say thanks again. Paraview worked, though I'm afraid the build did not. Still couldn't plot with VTK. I am running into a problem with creating a circular mesh now though. I found out that mshr is used in place of UnitCircle now, but I seem to be getting an import error, even though I was able to install mshr in conda. Still digging into it.

Anyway, thanks for the help earlier.

Dan

On Wed, Jan 20, 2016 at 9:59 AM, Daniel DeSantis desanti6@gmail.com wrote:

Juan,

No apology necessary. I'm sure you are busy. I really, really appreciate the help. I will try both Paraview and the Conda build.

Thanks again!

Dan

On Wed, Jan 20, 2016 at 9:54 AM, Juan Luis Cano Rodríguez < notifications@github.com> wrote:

Hello Dan, sorry for the terse response - if you are new to Linux I can imagine it must have been a long way until you reached this point.

On the one hand, Paraview is a visualization software which works with the same format as the DOLFIN plotting routines do - VTK. This means that, instead of plotting from FEniCS, you can export the data to a .pvd file and read it from there.

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

Paraview is a well known software and learning how to use will benefit you in the long term, because DOLFIN plotting support is pretty simple.

On the other hand, this source repository contains the conda recipes used to build the packages - this means that you can follow exactly the same procedure that I did to get something that works. You can download them as ZIP:

https://github.com/Juanlu001/fenics-recipes/archive/master.zip

And then try to build them using conda-build. As you are already using conda:

$ conda install conda-build -y $ conda config --add channels juanlu001 $ conda build petsc petsc4py slepc instant ufl fiat ffc dolfin fenics --python 2.7 $ conda install fenics --use-local

Notice however that, although I did my best to provide good recipes that should compile on first try on any Linux distro, this might not be the case.

The trick to have VTK support is to uncomment the two vtk lines here:

https://github.com/Juanlu001/fenics-recipes/blob/4aeee1cb422a3aa83e3a28ead39a534c78287a80/dolfin/meta.yaml

And change this one to -DDOLFIN_ENABLE_VTK:BOOL=TRUE:

https://github.com/Juanlu001/fenics-recipes/blob/4aeee1cb422a3aa83e3a28ead39a534c78287a80/dolfin/build.sh#L15

Don't hesitate to ask further questions here, even though I cannot promise I will be as quick to respond as now.

I wish you the best luck [image: :four_leaf_clover:]

— Reply to this email directly or view it on GitHub https://github.com/Juanlu001/fenics-recipes/issues/48#issuecomment-173227542 .

Daniel DeSantis

Daniel DeSantis

astrojuanlu commented 8 years ago

Hi Dan, too bad the build didn't work - If you have the time you can report the specific issues here and see if they are easily fixable or not. Specifically there should be no import problem with mshr, so feel free to open a new issue providing your operative system and the output of conda info -a.

quang-ha commented 8 years ago

@Juanlu001 conda has released Anaconda 3, does that potentially fix this issue? (I have no clue, I am just asking)

astrojuanlu commented 8 years ago

Hi @quang-ha - if only! The latest VTK packages should have fixed the issue but actually they didn't (or I couldn't figure out how). The details are in #39, thanks for your interest though.

quang-ha commented 8 years ago

Compiling the conda package locally gives the following error:

ERROR: testAgainstFiat (evaluate_basis.test.EvaluateBasisTests)
Test evaluate basis against FIAT.FiniteElement.tabulate().
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/quang_ha/conda-bld/work/ffc-1.6.0/test/unit/evaluate_basis/test.py", line 34, in testAgainstFiat
    error = fiat_main(INFO)
  File "/home/quang_ha/conda-bld/work/ffc-1.6.0/test/unit/evaluate_basis/test_against_fiat.py", line 247, in main
    num_tests += verify_element(num_elements, i + 1, ufl_element)
  File "/home/quang_ha/conda-bld/work/ffc-1.6.0/test/unit/evaluate_basis/test_against_fiat.py", line 209, in verify_element
    ffc_values = get_ffc_values(ufl_element)
  File "/home/quang_ha/conda-bld/work/ffc-1.6.0/test/unit/evaluate_basis/test_against_fiat.py", line 180, in get_ffc_values
    error = compile_gcc_code(ufl_element, evaluate_basis_code_fiat % options, gcc_fail, log_file)
  File "/home/quang_ha/conda-bld/work/ffc-1.6.0/test/unit/evaluate_basis/test_common.py", line 128, in compile_gcc_code
    ufc_cflags = get_status_output("pkg-config --cflags ufc-1")[1].strip()
  File "/home/quang_ha/.conda/envs/_test/lib/python2.7/site-packages/instant/output.py", line 120, in get_status_output
    pipe = Popen(cmd, shell=False, cwd=cwd, env=env, stdout=PIPE, stderr=STDOUT)
  File "/home/quang_ha/.conda/envs/_test/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
  File "/home/quang_ha/.conda/envs/_test/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

----------------------------------------------------------------------
Ran 44 tests in 4.002s

FAILED (errors=1)
TESTS FAILED: ffc-1.6.0-np19py27_4

Any suggestions?

astrojuanlu commented 8 years ago

Thanks Quang, would you open a new issue while I investigate this?

astrojuanlu commented 8 years ago

In the meanwhile, be sure pkg-config is installed:

$ which pkg-config
quang-ha commented 8 years ago

Just submitted the pull request that "may" fixed the problem (still require freeglut/OpenGL on the system though)