The following is the code that fails.  The comments indicate the likely
source of the error.

Please see
http://www.pgroup.com/userforum/viewtopic.php?t=5147&sid=17f3afa2cd0eec05b0f4e54a60f50479
and other entries on https://www.google.com/search?q=pgi+stdint.h.

You may want to debug libevent by itself (
https://github.com/libevent/libevent).

I do not have PGI installed on my Mac, so I can't reproduce this.

Best,

Jeff

/**

 * @name Standard integer types.

 *

* * Integer type definitions for types that are supposed to be defined in
the*

* * C99-specified stdint.h.  Shamefully, some platforms do not include*

* * stdint.h, so we need to replace it.  (If you are on a platform like
this,*

* * your C headers are now over 10 years out of date.  You should bug them
to*

* * do something about this.)*

 *

 * We define:

 *

 * <dl>

 *   <dt>ev_uint64_t, ev_uint32_t, ev_uint16_t, ev_uint8_t</dt>

 *      <dd>unsigned integer types of exactly 64, 32, 16, and 8 bits

 *          respectively.</dd>

 *    <dt>ev_int64_t, ev_int32_t, ev_int16_t, ev_int8_t</dt>

 *      <dd>signed integer types of exactly 64, 32, 16, and 8 bits

 *          respectively.</dd>

 *    <dt>ev_uintptr_t, ev_intptr_t</dt>

 *      <dd>unsigned/signed integers large enough

 *      to hold a pointer without loss of bits.</dd>

 *    <dt>ev_ssize_t</dt>

 *      <dd>A signed type of the same size as size_t</dd>

 *    <dt>ev_off_t</dt>

 *      <dd>A signed type typically used to represent offsets within a

 *      (potentially large) file</dd>

 *

 * @{

 */

#ifdef _EVENT_HAVE_UINT64_T

#define ev_uint64_t uint64_t

#define ev_int64_t int64_t

#elif defined(WIN32)

#define ev_uint64_t unsigned __int64

#define ev_int64_t signed __int64

#elif _EVENT_SIZEOF_LONG_LONG == 8

#define ev_uint64_t unsigned long long

#define ev_int64_t long long

#elif _EVENT_SIZEOF_LONG == 8

#define ev_uint64_t unsigned long

#define ev_int64_t long

#elif defined(_EVENT_IN_DOXYGEN)

#define ev_uint64_t ...

#define ev_int64_t ...

#else

#error "No way to define ev_uint64_t"

#endif

On Mon, Nov 28, 2016 at 5:04 AM, Matt Thompson <fort...@gmail.com> wrote:

> All,
>
> I recently tried building Open MPI 2.0.1 with the new Community Edition of
> PGI on macOS. My first mistake was I was configuring with a configure line
> I'd cribbed from Linux that had -fPIC. Apparently -fPIC was removed from
> the macOS build. Okay, I can remove that and I configured with:
>
> ./configure --disable-wrapper-rpath CC=pgcc CXX=pgc++ FC=pgfortran
> CFLAGS='-m64' CXXFLAGS='-m64' FCFLAGS='-m64' --without-verbs
> --prefix=/Users/mathomp4/installed/Compiler/pgi-16.10/openmpi/2.0.1 | &
> tee configure.pgi-16.10.log
>
> But, now, when I try to actually build, I get an error pretty quick inside
> the make:
>
>   CC       printf.lo
>   CC       proc.lo
>   CC       qsort.lo
>
> PGC-F-0249-#error --  "No way to define ev_uint64_t"
> (/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/
> libevent2022/libevent/include/event2/util.h: 126)
> PGC/x86-64 OSX 16.10-0: compilation aborted
>   CC       show_help.lo
> make[3]: *** [proc.lo] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all-recursive] Error 1
>
> This was done with -j2, so if I remake with 'make V=1' I see:
>
> source='proc.c' object='proc.lo' libtool=yes \
> DEPDIR=.deps depmode=pgcc /bin/sh ../../config/depcomp \
> /bin/sh ../../libtool  --tag=CC   --mode=compile pgcc -DHAVE_CONFIG_H -I.
> -I../../opal/include -I../../ompi/include -I../../oshmem/include
> -I../../opal/mca/hwloc/hwloc1112/hwloc/include/private/autogen
> -I../../opal/mca/hwloc/hwloc1112/hwloc/include/hwloc/autogen
> -I../../ompi/mpiext/cuda/c   -I../.. -I../../orte/include
> -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/hwloc/hwloc1112/hwloc/include
> -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent
> -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent/include
>  -O -DNDEBUG -m64  -c -o proc.lo proc.c
> libtool: compile:  pgcc -DHAVE_CONFIG_H -I. -I../../opal/include
> -I../../ompi/include -I../../oshmem/include -I../../opal/mca/hwloc/
> hwloc1112/hwloc/include/private/autogen -I../../opal/mca/hwloc/
> hwloc1112/hwloc/include/hwloc/autogen -I../../ompi/mpiext/cuda/c -I../..
> -I../../orte/include -I/Users/mathomp4/src/MPI/
> openmpi-2.0.1/opal/mca/hwloc/hwloc1112/hwloc/include
> -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent
> -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent/include
> -O -DNDEBUG -m64 -c proc.c -MD -o proc.o
> PGC-F-0249-#error --  "No way to define ev_uint64_t"
> (/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/
> libevent2022/libevent/include/event2/util.h: 126)
> PGC/x86-64 OSX 16.10-0: compilation aborted
> make[3]: *** [proc.lo] Error 1
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all-recursive] Error 1
>
> I guess my question is whether this is an issue with PGI or Open MPI or
> both? I'm not too sure. I've also asked about this on the PGI forums as
> well (http://www.pgroup.com/userforum/viewtopic.php?t=5413&start=0) since
> I'm not sure. But, no matter what, does anyone have thoughts on how to
> solve this?
>
> Thanks,
> Matt
>
> --
> Matt Thompson
>
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
>



-- 
Jeff Hammond
jeff.scie...@gmail.com
http://jeffhammond.github.io/
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to