On Wed, 10 Dec 2014 09:57:10 +0000 Anders Logg <[email protected]> wrote:
> 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. So couldn't the script use installed hashdist and hashstack if present instead of installing fresh clones to /tmp? Jan > > -- > 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
