Sorry, but just got around to look at this.<br><br>In SuperLU_4.0, we introduced ILU preconditioner, which works better with MC64 permutation (which is written in f77).   But I forgot to include this in slu_Cnames.h, to handle the name mangling issue.<br>
<br>In SuperLU_4.1, I converted MC64 from f77 to C using f2c.   Therefore, there is no such name mangling problem.  The C version is now also used in SuperLU_DIST_2.5.<br><br>In summary, SuperLU_4.1 and SuperLU_DIST_2.5 upward versions should not need this name mangling for MC64.<br>
<br>Sherry<br><br><div class="gmail_quote">On Thu, Dec 2, 2010 at 1:40 PM, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Looks like a bug in superlu. [this bug doesn't exist in superlu_dist].<br>
<br>
I suspect we've always used superlu with superlu_dist on bgp - so<br>
didn't see this before. [symbols from -lsuperlu_dist must have been<br>
picked up by the linker (before superlu symbols) - and these symbols<br>
resolved without errors]<br>
<br>
The following fixes the issue.<br>
<br>
login2.surveyor:SuperLU_4.0/SRC > diff -Nru slu_Cnames.h~ slu_Cnames.h<br>
--- slu_Cnames.h~               2009-07-05 00:55:49.000000000 -0500<br>
+++ slu_Cnames.h                2010-12-02 15:19:30.005247114 -0600<br>
@@ -251,6 +251,9 @@<br>
 #define izmax1_   IZMAX1<br>
 #define zlacon_   ZLACON<br>
<br>
+#define mc64id_         MC64ID<br>
+#define mc64ad_         MC64AD<br>
+<br>
 /* Fortran interface */<br>
 #define c_bridge_dgssv_ C_BRIDGE_DGSSV<br>
 #define c_fortran_sgssv_ C_FORTRAN_SGSSV<br>
@@ -350,6 +353,9 @@<br>
 #define izmax1_   izmax1<br>
 #define zlacon_   zlacon<br>
<br>
+#define mc64id_         mc64id<br>
+#define mc64ad_         mc64ad<br>
+<br>
 /* Fortran interface */<br>
 #define c_bridge_dgssv_ c_bridge_dgssv<br>
 #define c_fortran_sgssv_ c_fortran_sgssv<br>
login2.surveyor:SuperLU_4.0/SRC ><br>
<br>
<br>
I've respun the superlu download tarball with this fix..<br>
<br>
<br>
Note: Looks like Superlu_4.1 tarball has this bug..<br>
<br>
Satish<br>
<br>
On Thu, 2 Dec 2010, Satish Balay wrote:<br>
<br>
> I'll attempt a build and see how it goes..<br>
><br>
> satish<br>
><br>
> On Thu, 2 Dec 2010, Matthew Knepley wrote:<br>
><br>
> > We always always always always need configure.log.<br>
> ><br>
> >     Matt<br>
> ><br>
> > On Thu, Dec 2, 2010 at 8:41 AM, John R. Cary <<a href="mailto:cary@txcorp.com">cary@txcorp.com</a>> wrote:<br>
> ><br>
> > > I am trying to link facets on a FEN of <a href="http://surveyor.alcf.anl.gov" target="_blank">surveyor.alcf.anl.gov</a>.  It ends<br>
> > > with the error,<br>
> > ><br>
> > > /gpfs/home/projects/facets/surveyor/contrib-xlc-9.0/petsc-3.1-p4-ser/lib/libsuperlu_4.0.a(dldperm.o):<br>
> > > In function `dldperm':<br>
> > > /gpfs/home/cary/facetspkgs/builds/petsc-3.1-p4/ser/externalpackages/SuperLU_4.0/SRC/dldperm.c:127:<br>
> > > undefined reference to `mc64id_'<br>
> > > /gpfs/home/cary/facetspkgs/builds/petsc-3.1-p4/ser/externalpackages/SuperLU_4.0/SRC/dldperm.c:134:<br>
> > > undefined reference to `mc64ad_'<br>
> > ><br>
> > > which indicates that the SuperLU compiled with PETSc did<br>
> > > not get the fortran underscoring flag correct (which should<br>
> > > be no underscore with xlf).  nm shows<br>
> > ><br>
> > > login1.surveyor$ nm<br>
> > > /gpfs/home/projects/facets/surveyor/contrib-xlc-9.0/petsc-3.1-p4-ser/lib/libsuperlu_4.0.a<br>
> > > | grep mc64<br>
> > >                 U mc64ad_<br>
> > >                 U mc64id_<br>
> > > mc64ad.o:<br>
> > > 0000000000000018 D mc64ad<br>
> > > 0000000000000030 D mc64bd<br>
> > > 0000000000000048 D mc64dd<br>
> > > 0000000000000060 D mc64ed<br>
> > > 0000000000000078 D mc64fd<br>
> > > 0000000000000000 D mc64id<br>
> > > 00000000000000c0 D mc64qd<br>
> > > 0000000000000090 D mc64rd<br>
> > > 00000000000000a8 D mc64sd<br>
> > > 00000000000000d8 D mc64ud<br>
> > > 00000000000000f0 D mc64wd<br>
> > >                 U mc64ad_<br>
> > >                 U mc64id_<br>
> > ><br>
> > > that the underscored symbol is being called, but the<br>
> > > underscore-free symbol is what was defined.<br>
> > ><br>
> > > My PETSc configure line was<br>
> > ><br>
> > > #!/bin/sh<br>
> > > /gpfs/home/cary/facetspkgs/builds-surveyor-xlc/facetspkgs/petsc-3.1-p4/ser/configure<br>
> > > \<br>
> > >  --prefix=/gpfs/home/projects/facets/surveyor/contrib-xlc-9.0/petsc-3.1-p4-ser<br>
> > > \<br>
> > >  --with-mpi=0 \<br>
> > >  --with-debugging=0 \<br>
> > >  --with-x=0 \<br>
> > >  --with-cc='xlc_r' \<br>
> > >  --with-cxx='xlC_r' \<br>
> > >  --with-fc='xlf_r' \<br>
> > >  --COPTFLAGS='-O2 -g' \<br>
> > >  --download-superlu \<br>
> > >  --with-lapack-lib=/home/projects/facets/intrepid/contrib/lapack-ser/lib/liblapack.a<br>
> > > \<br>
> > >  --with-blas-lib=/home/projects/facets/intrepid/contrib/lapack-ser/lib/libblas.a<br>
> > > \<br>
> > >  PETSC_DIR=/gpfs/home/cary/facetspkgs/builds-surveyor-xlc/facetspkgs/petsc-3.1-p4/ser<br>
> > > \<br>
> > >  PETSC_ARCH=facets-ser \<br>
> > >  --CFLAGS='-q64 -qlanglvl=redefmac' \<br>
> > >  --CXXFLAGS='-q64 -qlanglvl=redefmac' \<br>
> > >  --FFLAGS='-q64 -qextname=flush' \<br>
> > >  --with-shared=1<br>
> > ><br>
> > > so I think that PETSc had enough info to figure out the underscoring.<br>
> > > Perhaps this is a bug.<br>
> > ><br>
> > > But regardless, is there a workaround?<br>
> > ><br>
> > > Thx....John<br>
> > ><br>
> ><br>
> ><br>
> ><br>
> ><br>
><br>
><br>
<br>
</blockquote></div><br>