pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/51983: valrind - libmpiwrap.c:116:17: fatal error: mpi.h: No such file or directory



>Number:         51983
>Category:       pkg
>Synopsis:       valrind - libmpiwrap.c:116:17: fatal error: mpi.h: No such file or directory
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 18 19:20:00 +0000 2017
>Originator:     Poor Yorick
>Release:        2016Q4
>Organization:
>Environment:
Linux xxx 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
>Description:
Building valgrind:

    /path/to/bin/mpicc    -I../include  -g -O -fno-omit-frame-pointer -Wall -fpic -m64 -Wno-deprecated-declarations  -MT libmpiwrap_amd64_linux_so-libmpiwrap.o -MD -MP -MF .deps/libmpiwrap_amd64_linux_so-libmpiwrap.Tpo -c -o libmpiwrap_amd64_linux_so-libmpiwrap.o `test -f 'libmpiwrap.c' || echo './'`libmpiwrap.c
libmpiwrap.c:116:17: fatal error: mpi.h: No such file or directory
compilation terminated.

The underlying problem here is that gcc5, which installs in pkgsrc/gcc5,
doesn't include ${PREFIX}/include in its set of search directories.  Furthermore, gcc5/Makefile includes this:

    CONFIGURE_ARGS+=  --with-local-prefix=${GCC_PREFIX:Q}

which is redundant, because that's what ${PREFIX} gets set to, which already
ensures  that $GCC_PREFIX will end up in the search paths for gcc.  A more productive use for --with-local-prefix would be to ensure that the standard include directory, i.e., ${LOCALBASE}/include is also on the search path for gcc:


    .if ${PREFIX} != ${LOCALBASE}
    CONFIGURE_ARGS+=  --with-local-prefix=${LOCALBASE:Q}
    .endif

And with that change, assuming mpi is installed, valgrind now builds
succesfully, with mpi enabled.

>How-To-Repeat:

>Fix:


Home | Main Index | Thread Index | Old Index