On Sun, August 2, 2009 23:41, Harish Narayanan wrote: > Martin Sandve Alnæs wrote: >> On Tue, Jun 2, 2009 at 12:34 PM, Johannes Ring <joha...@simula.no> >> wrote: >>> On Tue, June 2, 2009 12:24, Martin Sandve Alnæs wrote: >>>> On Tue, Jun 2, 2009 at 10:47 AM, Johan Hake <h...@simula.no> wrote: >>>>> On Tuesday 02 June 2009 10:28:11 Martin Sandve Alnæs wrote: >>>>>> I've tried to use dorsal on my home laptop which I just upgraded to >>>>>> Jaunty. >>>>>> I got some problems with trilinos (Harish: same as on my work >>>>>> laptop), >>>>>> and will recompile now after removing all trilinos.pc files around >>>>>> the >>>>>> system. >>>>>> >>>>>> I see from scons --help in dolfin that the path has been set >>>>>> correctly >>>>>> there: >>>>>> >>>>>> withTrilinosDir: Specify path to Trilinos ( /path/to/withTrilinosDir >>>>>> ) >>>>>> default: None >>>>>> actual: /opt/fenics904 >>>>>> >>>>>> I've found two issues I will call bugs: >>>>>> >>>>>> 1) dolfin scons didn't copy the trilinos.pc it generated to the >>>>>> installation directory. Should be an easy fix in dolfin scons. >>>>> This sounds strange. This line in the SConstruct file should do that: >>>>> >>>>> # We also like to install all generated pkg-config files. >>>>> buildDataHash["pkgconfig"] += >>>>> scons.globFiles(Dir("#/scons/pkgconfig/").srcnode().abspath, >>>>> "*.pc") >>>> I can find no such line: >>>> >>>> marti...@martinal-znote:~/dev/fenics904/dolfin-0.9.2$ find -name >>>> SConscript >>>> ./data/SConscript >>>> ./doc/SConscript >>>> ./dolfin/SConscript >>>> ./demo/SConscript >>>> ./test/SConscript >>>> ./sandbox/ilmarw/assembler_bench/Stokes_2D_TH/SConscript >>>> ./sandbox/ilmarw/assembler_bench/Laplace_2D/SConscript >>>> ./sandbox/ilmarw/assembler_bench/ICNS_3D_Momentum/SConscript >>>> ./sandbox/ilmarw/assembler_bench/Elasticity_3D/SConscript >>>> ./sandbox/ilmarw/assembler_bench/Stokes_2D_Stab/SConscript >>>> marti...@martinal-znote:~/dev/fenics904/dolfin-0.9.2$ find -name >>>> SConscript | xargs egrep buildData >>> In DOLFIN 0.9.2 buildDataHash is called ret and the line you are >>> looking >>> for is 381 in dolfin/SConscript. >>> >>>>> Where is your trilinos.pc situated? >>>> Which one? I had several before, one in the path. >>>> scons made a new one placed in the repository, >>>> now I've copied that manually to the installation directory. >>>> The libgaleri problem is now gone after the rebuild. >>>> >>>> >>>> Compiling C++ demos works fine now, but "import dolfin" gives: >>>> >>>> ImportError: /opt/fenics904/lib/libdolfin.so.0: undefined symbol: >>>> _Z26KSPMonitorTrueResidualNormP6_p_KSPidPv >>>> >>>> In [2]: >>>> Do you really want to exit ([y]/n)? >>>> marti...@martinal-znote:~$ c++filt >>>> _Z26KSPMonitorTrueResidualNormP6_p_KSPidPv >>>> KSPMonitorTrueResidualNorm(_p_KSP*, int, double, void*) >>>> >>>> >>>> >>>> Turns out that petsc isn't handled correctly either. It's built and >>>> installed by dorsal, >>>> and dolfin scons gets the right directory for it, >>>> >>>> withPetscDir: Specify path to PETSc ( /path/to/withPetscDir ) >>>> default: None >>>> actual: /opt/fenics904 >>>> >>>> But no pkg-config file has even been generated in this case: >>>> marti...@martinal-znote:~/dev/fenics904/dolfin-0.9.2$ ls >>>> scons/pkgconfig/ >>>> boost.pc gmp.pc mtl4.pc parmetis.pc scotch.pc trilinos.pc >>> No, because you already have one that is found in $PKG_CONFIG_PATH. >> >> I consider this behaviour a significant bug. A new one should be >> generated if >> the $PKG_CONFIG_PATH version doesn't match the manually specified >> version. > > Recall this (fairly epic) thread from earlier this year: > http://www.mail-archive.com/dolfin-dev@fenics.org/msg08416.html > > As a result of this discussion, Johannes implemented the current DOLFIN > build sequence that goes: > > scons configure > scons > scons install > > But I am still running into something like the original issue. > > When I call scons with a withPetscdir=/foo/bar, it creates a petsc > pkgconfig file that looks correct (i.e., it points to /foo/bar). > However, when it attempts to test for slepc while configuring, the > compilation+link command (as reported in simula_scons.log) points to a > different system petsc path. I am not sure where it is picking this up > from, but I think this is a problem in the slepc pkgconfig generator.
Does it work as expected if you specify both withPetscDir and withSlepcDir in the configure step? Note: You should also define the PETSC_ARCH variable. Johannes _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@fenics.org http://www.fenics.org/mailman/listinfo/dolfin-dev