dorsal team mailing list archive
-
dorsal team
-
Mailing list archive
-
Message #00404
Re: dorsal on leopard
On 9/9/10 11:10 PM, Garth N. Wells wrote:
>
>
> On 09/09/10 18:12, Paul Barbone wrote:
>> On 9/9/10 2:44 AM, Johannes Ring wrote:
>>> On Wed, Sep 8, 2010 at 11:28 PM, Paul Barbone<barbone@xxxxxx> wrote:
>>>> On 9/8/10 4:06 PM, Anders Logg wrote:
>>>>> On Wed, Sep 08, 2010 at 04:01:12PM -0400, Paul Barbone wrote:
>>>>>> On 9/8/10 2:58 PM, Anders Logg wrote:
>>>>>>> On Wed, Sep 08, 2010 at 02:49:01PM -0400, Paul Barbone wrote:
>>>>>>>> On 9/7/10 2:15 AM, Anders Logg wrote:
>>>>>>>>> On Mon, Sep 06, 2010 at 07:14:21PM -0400, Paul Barbone wrote:
>>>>>>>>>> On 9/6/10 6:32 PM, Anders Logg wrote:
>>>>>>>>>>> Did you install PETSc and SLEPc yourself or did you let Dorsal
>>>>>>>>>>> build
>>>>>>>>>>> them?
>>>>>>>>>> I let dorsal build them.
>>>>>>>>>>> Did you have any old versions of any of the libraries on your
>>>>>>>>>>> system?
>>>>>>>>>> Yes, but these were in different directories, and incidentally
>>>>>>>>>> installed from an older dorsal build. I tried to keep things
>>>>>>>>>> separate, but there is some overlap between the installations.
>>>>>>>>>> They use the same python, for example, but the PETSc and SLEPc
>>>>>>>>>> are
>>>>>>>>>> distinct.
>>>>>>>>> Could you try locating all those libraries and (at least
>>>>>>>>> temporarily)
>>>>>>>>> rename or move them to a location where they can't be found?
>>>>>>>>>
>>>>>>>>> Then clean out the Dorsal build and start with a clean
>>>>>>>>> installation.
>>>>>>>>>
>>>>>>>>> Our scripts should be able to find the correct versions but the
>>>>>>>>> configure scripts need some more work.
>>>>>>>>>
>>>>>>>> Ok. I reinstalled python, etc, via macports, deleted the old FEniCS
>>>>>>>> directory, and installed completely new. I eventually got precisely
>>>>>>>> the same behavior.
>>>>>>> Very strange. It works fine on my Snow Leopard (including SCOTCH). I
>>>>>>> haven't done anything special. Your hope is that either someone else
>>>>>>> has the same problem and knows how to fix it, or you find out what
>>>>>>> the
>>>>>>> problem is yourself.
>>>>>>>
>>>>>>> It is not that difficult to add some debugging to the DOLFIN CMake
>>>>>>> configure scripts. They are located in the cmake/modules/ directory
>>>>>>> and named FindPETSc.cmake etc. Let us what you find out.
>>>>>>>
>>>>>> Thanks. That's helpful. Where is PETSC_ARCH specified? It changes
>>>>>> from its definition in the foo.platform file.
>>>>> It shouldn't be changed by Dorsal anywhere along the way. There is
>>>>> some code in FindPETSc.cmake that tries to figure out PETSC_DIR. Look
>>>>> for this passage:
>>>>>
>>>>> # Try to figure out PETSC_ARCH if not set
>>>>> if (PETSC_DIR AND NOT PETSC_ARCH)
>>>>>
>>>>> You can start by printing out the value of PETSC_ARCH prior to this
>>>>> and see if it looks ok:
>>>>>
>>>>> message("DEBUG PETSC_ARCH = ${PETSC_ARCH}")
>>>>>
>>>>> --
>>>>> Anders
>>>> It gives PETSC_ARCH=darwin10.0.0-cxx-opt at this point, regardless of
>>>> what
>>>> this variable is set to in the *.platform file. In my older
>>>> installation,
>>>> this variable was darwin9.2.0... This is a difference, but I doubt,
>>>> frankly, that it's important.
>>>>
>>>> What I really don't understand and what I think is important is this:
>>>>
>>>> Linking CXX shared library libdolfin.dylib
>>>> Undefined symbols:
>>>> "_METIS_mCPartGraphRecursive2", referenced from:
>>>> _ParMETIS_V3_PartKway in libparmetis.a(kmetis.o)
>>>> _PartitionSmallGraph__ in libparmetis.a(weird.o)
>>>> _Mc_InitPartition_RB__ in libparmetis.a(initpart.o)
>>>> _Mc_InitPartition_RB__ in libparmetis.a(initpart.o)
>>>> _Balance_Partition__ in libparmetis.a(initbalance.o)
>>>> _Balance_Partition__ in libparmetis.a(initbalance.o)
>>>> ld: symbol(s) not found
>>>> collect2: ld returned 1 exit status
>>>>
>>>> This is extracted from the dolfin build_log file, and also prints to
>>>> the
>>>> screen just before death.
>>> The problem is probably that DOLFIN picks up the METIS library that
>>> comes with MacPorts (/opt/local/lib/libmetis.dylib) instead of the one
>>> from ParMETIS that Dorsal installs and PETSc is built with
>>> ($INSTALL_PATH/lib/libmetis.a). I have solved this on the buildbot by
>>> specifying -DMETIS_LIBRARY=$INSTALL_PATH/lib/libmetis.a when
>>> configuring DOLFIN.
>>>
>>> Johannes
>>>
>> Thanks. This was precisely the problem. I fixed it by adding this line
>> to the top of FindParMETIS.cmake:
>>
>> set(METIS_LIBRARY "/Users/barbone/Work/FEniCS/lib/libmetis.a")
>>
>> Now, how might that be done properly (and elegantly)?
>>
>
> For any package that Dorsal downloads, it should probably set FOO_DIR to
> be sure that the correct library is used.
>
> Harish: will you take a look at this?
This is _exactly_ how things were. Please look at how every single
package was, especially how dolfin.package was and revert accordingly.
Harish
References
-
dorsal on leopard
From: Paul Barbone, 2010-09-06
-
Re: dorsal on leopard
From: Anders Logg, 2010-09-06
-
Re: dorsal on leopard
From: Paul Barbone, 2010-09-06
-
Re: dorsal on leopard
From: Anders Logg, 2010-09-07
-
Re: dorsal on leopard
From: Paul Barbone, 2010-09-08
-
Re: dorsal on leopard
From: Anders Logg, 2010-09-08
-
Re: dorsal on leopard
From: Paul Barbone, 2010-09-08
-
Re: dorsal on leopard
From: Anders Logg, 2010-09-08
-
Re: dorsal on leopard
From: Paul Barbone, 2010-09-08
-
Re: dorsal on leopard
From: Johannes Ring, 2010-09-09
-
Re: dorsal on leopard
From: Paul Barbone, 2010-09-09
-
Re: dorsal on leopard
From: Garth N. Wells, 2010-09-09