[petsc-dev] buildsystem: cusp location

Satish Balay balay at mcs.anl.gov
Sun Mar 25 13:32:22 CDT 2012


On Sun, 25 Mar 2012, Jed Brown wrote:

> 2012/3/25 Satish Balay <balay at mcs.anl.gov>
> 
> > Cusp installer is nothing but unzip. The recommended installation
> > methond is:
> >
> > https://code.google.com/p/cusp-library/wiki/QuickStartGuide
> >
> > >>>>>>>>
> > Simply download the newest version of Cusp from here and extract the
> > contents of each zip file to a directory. We suggest installing Cusp to the
> > CUDA include directory, which is usually
> >
> >    /usr/local/cuda/include/ on a Linux and Mac OSX
> >    C:\CUDA\include\ on a Windows system
> >
> > If you are unable to install to the CUDA include directory, then you can
> > place the files somewhere in your home directory, for example:
> > /home/nathan/cuda_libraries/cusp/.
> >
> > Warning: Do not install Cusp to a standard include path like
> > /usr/local/include/. It appears that nvcc treats such paths differently
> > than the suggestions above which causes errors like error: expected
> > primary-expression before ‘<’ token.
> > <<<<<<<<<<<
> >
> > In the above example  --with-cusp-dir=/home/nathan/cuda_libraries/cusp/
> > would have worked.
> >
> 
> Would it have been so hard to write
> --with-cusp-include=/home/nathan/cuda_libraries/cusp/ if you don't want to
> install with a normal layout?

The key here is for the user to be aware that the layout is not normal.

I agree - There is a bit of autodetection with --with-package-dir
option. But if one knows include,lib details and want to specify these
details --with-package-include, --with-package-lib are appropriate
options.

And with default layout - one should expect both modes to work.

> > So when one specifies --with-cusp-dir=/opt/local to petsc configure
> > and expects -I/opt/local/include to work - the install process was perhaps:
> >
> > cd /opt/local/include
> > unzip cusp.zip
> >
> > [i.e equivalent to using --prefix=/opt/local/include]
> >
> 
> What other package ever uses --prefix=.../include? Every one I know of
> would expect you to say --prefix=/opt/local/ and it would place headers in
> /opt/local/include.

Well this package is trying to organize itself within 'cuda include'
package orgainzation.  I think this is smilar to the way 'perl' or
'python' modules organize themselves within their respective trees.

Satish


More information about the petsc-dev mailing list