<div dir="ltr">On Mon, Jun 24, 2013 at 9:39 AM, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Sun, 16 Jun 2013, Jack Poulson wrote:<br>
<br>
> On Sun, Jun 16, 2013 at 4:37 PM, Jack Poulson <<a href="mailto:jack.poulson@gmail.com">jack.poulson@gmail.com</a>>wrote:<br>
><br>
> > On Sun, Jun 16, 2013 at 4:09 PM, Satish Balay <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>> wrote:<br>
> ><br>
> > On Sun, 16 Jun 2013, Jack Poulson wrote:<br>
> >><br>
> >> > I have been experimenting with having Clique checkout both pkg-metis and<br>
> >> > pkg-parmetis as part of its build system and it seems that a few things<br>
> >> > need to be added to the parmetis CMakeLists.txt for it to function<br>
> >> > correctly (please correct me if I am missing something!).<br>
> >> ><br>
> >> > The two main problems are the inclusion of gklib_tls.h and gklib_defs.h,<br>
> >> > where the former is generated by the metis build system, usually in<br>
> >> > metis/include in the installation directory, and the latter is is in<br>
> >> > metis/libmetis/ in the source directory. While setting METIS_PATH to the<br>
> >> > metis installation directory would pick up gklib_tls.h since<br>
> >> > ${METIS_PATH}/include is added to the include directories of the<br>
> >> parmetis<br>
> >> > CMakeLists.txt, I do not see any corresponding include_directories<br>
> >> > statement for the libmetis directory containing gklib_defs.h.<br>
> >><br>
> >> Its also installed in CMAKE_INSTALL_PREFIX/include?<br>
> >><br>
> >><br>
> >> <a href="https://bitbucket.org/petsc/pkg-metis/commits/7352fdb4f3027f2330d69896c938fc4996f66461" target="_blank">https://bitbucket.org/petsc/pkg-metis/commits/7352fdb4f3027f2330d69896c938fc4996f66461</a><br>

> >><br>
> ><br>
> > Apparently so. but I am trying to build metis and parmetis as part of the<br>
> > build (my CMakeLists.txt checks out the pkg-metis and pkg-parmetis<br>
> > repositories). I would prefer to be able to do things this way instead of<br>
> > requiring metis to have been installed previously. I should have been more<br>
> > clear with my previous language: when I said 'installation' directory, I<br>
> > should have said 'build' directory.<br>
> ><br>
> ><br>
> Additionally, pkg-metis does not seem to be iinstalling enough header files<br>
> for parmetis to be successfully built. In particular, it is not installing<br>
> the headers from the GKlib folder:<br>
><br>
> poulson@poulson-ThinkPad-E520:~/Source/External/pkg-metis/build$ make<br>
> install<br>
> [100%] Built target metis<br>
> Install the project...<br>
> -- Install configuration: ""<br>
> -- Up-to-date: /home/poulson/Source/Install/include/metis.h<br>
> -- Up-to-date: /home/poulson/Source/Install/include/gklib_tls.h<br>
> -- Up-to-date: /home/poulson/Source/Install/lib/libmetis.a<br>
> -- Up-to-date: /home/poulson/Source/Install/include/gklib_defs.h<br>
> -- Up-to-date: /home/poulson/Source/Install/include/gklib_rename.h<br>
><br>
> What is the recommended means of coupling pkg-metis and pkg-parmetis?<br>
<br>
</div></div>I don't understand the issue here.<br>
<br>
When PETSc is building metis/parmetis - things appear to be installed correctly.<br>
<span class="HOEnZb"><font color="#888888"><br>
Satish<br>
<br>
</font></span></blockquote></div><br></div><div class="gmail_extra">parmetislib.h internally includes GKlib.h, which is not installed by pkg-metis. However, there is a GKlib.h header in pkg-parmetis/headers, though the headers/ directory is not searched by CMake. Perhaps an 'include_directories(headers)' statement should be added to line 26 of pkg-parmetis/CMakeLists.txt.<br>
<br></div><div class="gmail_extra">Is PETSc using these CMakeLists.txt files? I can now build pkg-parmetis on top of a pkg-metis install if I make the above change (and uncomment out lines 9-13 of pkg-parmetis/CMakeLists.txt and actually search for MPI).<br>
</div><div class="gmail_extra"><br></div><div class="gmail_extra">Jack<br></div></div>