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

Reply via email to