FWIW, this problem does not occur with Open MPI 1.10.2 on the same system
and configured identically.
-Paul

On Mon, May 2, 2016 at 12:53 PM, Paul Hargrove <phhargr...@lbl.gov> wrote:

> I have a linux/ppc64 host running Fedora 20.
> I have configured the 2.0.0rc2 tarball with
>
> --prefix=[....] --enable-debug \
> CFLAGS=-m32 --with-wrapper-cflags=-m32 \
> CXXFLAGS=-m32 --with-wrapper-cxxflags=-m32 \
> FCFLAGS=-m32 --with-wrapper-fcflags=-m32 --disable-mpi-fortran
>
> [yes, I know the fortran flags are pointless with --disable-mpi-fortran]
>
> My build is failing (as shown at the bottom of this email) in
> tools/wrappers with undefined references to udev symbols.
> The udev configure probe run by the embedded hwloc seemed happy enough:
>
> --- MCA component hwloc:hwloc1112 (m4 configuration macro, priority 90)
> checking for MCA component hwloc:hwloc1112 compile mode... static
> checking hwloc building mode... embedded
> [...]
> checking libudev.h usability... yes
> checking libudev.h presence... yes
> checking for libudev.h... yes
> checking for udev_device_new_from_subsystem_sysname in -ludev... no
>
>
> However, looking at config.log one can see that despite the
> presence/usability of libudev.h there is NOT a libudev library present for
> "-m32".
> This is apparent because the probe
> for udev_device_new_from_subsystem_sysname failed with a message about the
> *library* not being found rather than about an undefined symbol.
>
>
> I *can* work-around this issue by passing  --disable-libudev to configure.
> However, it would seem appropriate to check for a usable libudev library
> in addition to the header.
>
> -Paul
>
>
> Making all in tools/wrappers
> make[2]: Entering directory
> `/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/BLD/opal/tools/wrappers'
> depbase=`echo opal_wrapper.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> gcc -std=gnu99 "-DEXEEXT=\"\"" -I.
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/opal/tools/wrappers
> -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/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2
> -I../../..
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/opal/include
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/orte/include
> -I../../../orte/include
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/ompi/include
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/oshmem/include
>
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/opal/mca/hwloc/hwloc1112/hwloc/include
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/BLD/opal/mca/hwloc/hwloc1112/hwloc/include
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/opal/mca/event/libevent2022/libevent
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/opal/mca/event/libevent2022/libevent/include
> -I/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/BLD/opal/mca/event/libevent2022/libevent/include
>  -m32 -g -finline-functions -fno-strict-aliasing -pthread -MT
> opal_wrapper.o -MD -MP -MF $depbase.Tpo -c -o opal_wrapper.o
> /home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/openmpi-2.0.0rc2/opal/tools/wrappers/opal_wrapper.c
> &&\
> mv -f $depbase.Tpo $depbase.Po
> /bin/sh ../../../libtool  --tag=CC   --mode=link gcc -std=gnu99  -m32 -g
> -finline-functions -fno-strict-aliasing -pthread   -o opal_wrapper
> opal_wrapper.o ../../../opal/libopen-pal.la -lrt -lm -lutil
> libtool: link: gcc -std=gnu99 -m32 -g -finline-functions
> -fno-strict-aliasing -pthread -o .libs/opal_wrapper opal_wrapper.o
>  ../../../opal/.libs/libopen-pal.so -ldl -lrt -lm -lutil -pthread
> -Wl,-rpath -Wl,/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/INST/lib
> ../../../opal/.libs/libopen-pal.so: undefined reference to `udev_new'
> ../../../opal/.libs/libopen-pal.so: undefined reference to
> `udev_device_new_from_subsystem_sysname'
> ../../../opal/.libs/libopen-pal.so: undefined reference to `udev_unref'
> ../../../opal/.libs/libopen-pal.so: undefined reference to
> `udev_device_get_property_value'
> ../../../opal/.libs/libopen-pal.so: undefined reference to
> `udev_device_unref'
> collect2: error: ld returned 1 exit status
> make[2]: *** [opal_wrapper] Error 1
> make[2]: Leaving directory
> `/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/BLD/opal/tools/wrappers'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/home/phargrov/OMPI/openmpi-2.0.0rc2-linux-ppc32-gcc/BLD/opal'
> make: *** [all-recursive] Error 1
>
>
>
>
> --
> Paul H. Hargrove                          phhargr...@lbl.gov
> Computer Languages & Systems Software (CLaSS) Group
> Computer Science Department               Tel: +1-510-495-2352
> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
>



-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Computer Languages & Systems Software (CLaSS) Group
Computer Science Department               Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to