Good points. iPython seems like a good thing to include.
It would be good to make the system Python libraries visible (but after hashdist in the search path) but I don't know how to automatically extract the correct path to the system Python libraries. I think Johannes knows this better than I. -- Anders Wed Dec 10 2014 at 11:13:39 AM skrev Simon Funke <[email protected]>: Two more observations/questions from a novice user: > > * IPython is not part of the hashdist. That is if you load dolfin from > IPython you will load the non-hashdist version (if there is one). > > * System Python modules libraries are not in the PYTONPATH when > following the instructions (for example scipy). On Ubunutu machines you get > them by running: > > "export PYTHONPATH=/usr/lib/python2.7/dist-packages/:$PYTHONPATH" > > * Is there an easy way to add more packages to the on click installation > (e.g. I like having ipython, scipy and dolfin-adjoint)? > > > > 2014-12-10 10:57 GMT+01:00 Anders Logg <[email protected]>: > >> This is something I haven't figured out. It would be good to have a >> discussion on this. >> >> One option might be to just keep all of FEniCS with dependencies in >> HashDist (using the fenics-install.sh script). >> >> Then for all FEniCS Python components, one sets up a separate directory >> for installation during development, in combination with a config file that >> can be sourced to put that directory first in the path. >> >> For DOLFIN development, one would source the hashdist config and work >> with cmake.local. >> >> But there are likely better ways to handle this using suitable hashdist >> commands. Even if the install script does not install hashdist, I assume it >> will be a good thing for developers to actually install hashdist so that >> they may talk to hashdist outside of running the install script. >> >> -- >> Anders >> >> >> Wed Dec 10 2014 at 8:47:50 AM skrev Martin Sandve Alnæs < >> [email protected]>: >> >>> Do you have a suggestion for a work flow while developing? I.e. >>> building intermediate uncommitted work repeatedly on top of a hashdist >>> stack without storing every version in hashdist? Maybe best to have a >>> hashdist stack with all dependencies only and just work with fenics >>> components outside hashdist? >>> >>> Martin >>> 10. des. 2014 08:06 skrev "Anders Logg" <[email protected]>: >>> >>> Yes, it is quite fantastic isn't it... :-) >>>> >>>> The problem you noted with the name of the config file has been fixed. >>>> >>>> The idea is that one can build many different configurations/versions >>>> of FEniCS and keep the config files around for switching between them. >>>> >>>> Note that each config file contains info about which versions of >>>> FEniCS were used to build so it's easy to go back later and check which >>>> build one has. >>>> >>>> -- >>>> Anders >>>> >>>> >>>> Wed Dec 10 2014 at 6:41:59 AM skrev Simon Funke < >>>> [email protected]>: >>>> >>>>> This is fantastic! The installation of the dev version with hasdist >>>>> works fine on my Ubuntu 14.10 laptop. >>>>> >>>>> My only comment is that the script tells me at the end: >>>>> >>>>> """ >>>>> For your convenience, a configuration file named fenics.dev has been >>>>> created in the current directory. For setting up your environment, you >>>>> should issue the following command: >>>>> >>>>> source fenics.master >>>>> """ >>>>> >>>>> The last line should be "source fenics.dev" >>>>> >>>>> >>>>> >>>>> 2014-12-09 22:46 GMT+01:00 Lizao Li <[email protected]>: >>>>> >>>>>> @Johannes, the SLEPc patched worked. Thanks~ On Archlinux, these >>>>>> two lines builds FEniCS successfully: >>>>>> >>>>>> TMP=/tmp/test; mkdir $TMP; cd $TMP; ln -s `which python2` >>>>>> python >>>>>> >>>>> >>>>>> wget -O - http://fenicsproject.org/fenics-install.sh | bash >>>>>> >>>>>> Since python is included in the package, it is probably a good >>>>>> idea to include ipython as well. The default repl is a pain to use. >>>>>> >>>>>> @Jan, I tried GCC4.8.2 on the same CentOS and it still fails with >>>>>> the same error. Upon digging further into the build log, it seems dolfin >>>>>> did something funny: >>>>>> >>>>>> 2014/12/09 14:50:53 - INFO: [package:run_job] -- The C compiler >>>>>> identification is GNU 4.4.7 >>>>>> 2014/12/09 14:50:53 - INFO: [package:run_job] -- The CXX compiler >>>>>> identification is GNU 4.4.7 >>>>>> 2014/12/09 14:50:53 - INFO: [package:run_job] -- Check for working C >>>>>> compiler: * /usr/bin/cc* >>>>>> 2014/12/09 14:50:54 - INFO: [package:run_job] -- Check for working C >>>>>> compiler: * /usr/bin/cc* -- works >>>>>> 2014/12/09 14:50:54 - INFO: [package:run_job] -- Detecting C compiler >>>>>> ABI info >>>>>> 2014/12/09 14:50:54 - INFO: [package:run_job] -- Detecting C compiler >>>>>> ABI info - done >>>>>> 2014/12/09 14:50:54 - INFO: [package:run_job] -- Check for working >>>>>> CXX compiler: /usr/bin/c++ >>>>>> 2014/12/09 14:50:54 - INFO: [package:run_job] -- Check for working >>>>>> CXX compiler: /usr/bin/c++ -- works >>>>>> >>>>>> Note that in the above cc and c++ (wrong version), not gcc and g++ >>>>>> (correct version), were used. I think symlink gcc probably won't work >>>>>> here >>>>>> because libc and includes are also going to be wrong, unlike the python >>>>>> case where the symlinked python is only used to run the hashdist script. >>>>>> Shouldn't dolfin cmake choose the compiler following some priority like >>>>>> mpic++>g++>c++ ? >>>>>> >>>>> >>>>>> On Tue, Dec 9, 2014 at 11:16 AM, Jan Blechta < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Building mpi4py fails on Ubuntu 12.04 because of some problem with >>>>>>> system Cython (see below for full log) >>>>>>> >>>>>>> ImportError: /usr/lib/pymodules/python2.7/Cython/Compiler/Code.so: >>>>>>> undefined symbol: PyUnicodeUCS4_DecodeUTF8 >>>>>>> >>>>>>> Shouldn't be Cython built also? >>>>>>> >>>>>>> Jan >>>>>>> >>>>>>> >>>>>>> 2014/12/09 18:02:56 - INFO: [package:run_job] running install >>>>>>> 2014/12/09 18:02:56 - INFO: [package:run_job] running build >>>>>>> 2014/12/09 18:02:56 - INFO: [package:run_job] running build_src >>>>>>> 2014/12/09 18:02:56 - INFO: [package:run_job] cythonizing >>>>>>> 'mpi4py.MPI.pyx' -> 'mpi4py.MPI.c' 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] Traceback (most recent call last): 2014/12/09 >>>>>>> 18:02:56 - INFO: [package:run_job] File "setup.py", line 624, in >>>>>>> <module> 2014/12/09 18:02:56 - INFO: [package:run_job] main() >>>>>>> 2014/12/09 18:02:56 - INFO: [package:run_job] File "setup.py", line >>>>>>> 621, in main 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> run_setup() 2014/12/09 18:02:56 - INFO: [package:run_job] File >>>>>>> "setup.py", line 493, in run_setup 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] **metadata) 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/tmp/mpi4py-dps5vsljzl7g-1/ >>>>>>> conf/mpidistutils.py", >>>>>>> line 441, in setup 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> return fcn_setup(**attrs) 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/core.py", >>>>>>> line 151, in setup 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> dist.run_commands() 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/dist.py", >>>>>>> line 953, in run_commands 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] self.run_command(cmd) 2014/12/09 18:02:56 - >>>>>>> INFO: >>>>>>> [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/dist.py", >>>>>>> line 972, in run_command 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] cmd_obj.run() 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/command/install.py", >>>>>>> line 563, in run 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> self.run_command('build') 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/cmd.py", >>>>>>> line 326, in run_command 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] self.distribution.run_command(command) >>>>>>> 2014/12/09 >>>>>>> 18:02:56 - INFO: [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/dist.py", >>>>>>> line 972, in run_command 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] cmd_obj.run() 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/command/build.py", >>>>>>> line 127, in run 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> self.run_command(cmd_name) 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/cmd.py", >>>>>>> line 326, in run_command 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] self.distribution.run_command(command) >>>>>>> 2014/12/09 >>>>>>> 18:02:56 - INFO: [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/bld/python/ctzx2dm36c6d/lib/ >>>>>>> python2.7/distutils/dist.py", >>>>>>> line 972, in run_command 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] cmd_obj.run() 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File "setup.py", line 594, in build_sources >>>>>>> 2014/12/09 18:02:56 - INFO: [package:run_job] wdir='src', >>>>>>> force=cmd.force, VERSION=CYTHON) 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File "setup.py", line 573, in run_cython >>>>>>> 2014/12/09 >>>>>>> 18:02:56 - INFO: [package:run_job] wdir=wdir) 2014/12/09 >>>>>>> 18:02:56 - >>>>>>> INFO: [package:run_job] File >>>>>>> "/srv/groot/blechta/.hashdist/tmp/mpi4py-dps5vsljzl7g-1/ >>>>>>> conf/cythonize.py", >>>>>>> line 9, in cythonize 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> from Cython.Compiler.Main import \ 2014/12/09 18:02:56 - INFO: >>>>>>> [package:run_job] File >>>>>>> "/usr/lib/pymodules/python2.7/Cython/Compiler/Main.py", line 18, in >>>>>>> <module> 2014/12/09 18:02:56 - INFO: [package:run_job] import >>>>>>> Code >>>>>>> 2014/12/09 18:02:56 - INFO: [package:run_job] >>>>>>> ImportError: /usr/lib/pymodules/python2.7/Cython/Compiler/Code.so: >>>>>>> undefined symbol: PyUnicodeUCS4_DecodeUTF8 2014/12/09 18:02:56 - >>>>>>> ERROR: >>>>>>> [package:run_job] Command '[u'/bin/bash', '_hashdist/build.sh']' >>>>>>> returned non-zero exit status 1 2014/12/09 18:02:56 - ERROR: >>>>>>> [package:run_job] command failed (code=1); raising >>>>>>> _______________________________________________ >>>>>>> fenics mailing list >>>>>>> [email protected] >>>>>>> http://fenicsproject.org/mailman/listinfo/fenics >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Lizao (Larry) Li >>>>>> Univeristy of Minnesota >>>>>> >>>>>> _______________________________________________ >>>>>> fenics mailing list >>>>>> [email protected] >>>>>> http://fenicsproject.org/mailman/listinfo/fenics >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Simon Funke >>>>> >>>>> Imperial College London >>>>> Applied Modelling and Computation Group >>>>> Office: 3.56R Royal School of Mines Building >>>>> Tel: +44 (0)20 759 41363 >>>>> Email: [email protected] >>>>> >>>> >>>> _______________________________________________ >>>> fenics mailing list >>>> [email protected] >>>> http://fenicsproject.org/mailman/listinfo/fenics >>>> >>>> >> _______________________________________________ >> fenics mailing list >> [email protected] >> http://fenicsproject.org/mailman/listinfo/fenics >> >> > > > -- > Simon Funke > > Center for Biomedical Computing > Simula Research Laboratory > Oslo, Norway > Email: [email protected] >
_______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
