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

Reply via email to