[mvapich-discuss] failing to configure mvapich2 on debian amd64 - umad.h not found

Jonathan Perkins perkinjo at cse.ohio-state.edu
Tue Aug 17 19:00:28 EDT 2010


No problem, glad to help.

On Tue, Aug 17, 2010 at 6:55 PM, Denis <denismpa at gmail.com> wrote:
> Head-Shot!!!
> Thanks Jonathan! That was exactly the problem. I ll report the dependency
> bug to the package maintainer.
> Thank you a lot!
> Denis.
>
> 2010/8/17 Jonathan Perkins <perkinjo at cse.ohio-state.edu>
>>
>> That's fine, you've captured the portion that I was concerned with.
>> It looks like this  infiniband/common.h file is missing.  Can you
>> check to see if you have this installed.  If not, it appears that some
>> dependency wasn't captured by the ibumad package that was installed.
>>
>> On Tue, Aug 17, 2010 at 5:58 PM, Denis <denismpa at gmail.com> wrote:
>> > Tring to avoid the post of the whole file ( 590 lines ) I am sending the
>> > lines that seems to be related to umad.h's checking.
>> > If there is any missing information, just let me know and I ll post the
>> > rest.
>> > configure:4423: gcc -E
>> >  -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src conftest.c
>> > configure:4430: $? = 0
>> > configure:4444: result: yes
>> > configure:4472: checking for hwloc.h
>> > configure:4479: result: yes
>> > configure:4605: checking for the InfiniBand includes path
>> > configure:4612: result: default
>> > configure:4616: checking for the InfiniBand library path
>> > configure:4643: result: default
>> > configure:4646: checking for library containing umad_init
>> > configure:4687: gcc -o conftest -g -O2 -DNDEBUG -O2
>> >  -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src  conftest.c -lhwloc
>> > -lhwloc  -lpthread >&5
>> > /tmp/ccpaMZS6.o: In function `main':
>> >
>> > /root/src/mvapich2-1.5-2010-08-12/src/mpid/ch3/channels/mrail/conftest.c:35:
>> > undefined reference to `umad_init'
>> > collect2: ld returned 1 exit status
>> > configure:4694: $? = 1
>> > configure: failed program was:
>> > | /* confdefs.h.  */
>> > | #define PACKAGE_NAME ""
>> > | #define PACKAGE_TARNAME ""
>> > | #define PACKAGE_VERSION ""
>> > | #define PACKAGE_STRING ""
>> > | #define PACKAGE_BUGREPORT ""
>> > | #define STDC_HEADERS 1
>> > | #define HAVE_SYS_TYPES_H 1
>> > | #define HAVE_SYS_STAT_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_STRING_H 1
>> > | #define HAVE_MEMORY_H 1
>> > | #define HAVE_STRINGS_H 1
>> > | #define HAVE_INTTYPES_H 1
>> > | #define HAVE_STDINT_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_ERRNO_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_PTHREAD_H 1
>> > | #define HAVE_LIBHWLOC /**/
>> > | #define _EM64T_ 1
>> > | /* end confdefs.h.  */
>> > |
>> > | /* Override any GCC internal prototype to avoid an error.
>> > |    Use char because int might match the return type of a GCC
>> > |    builtin and then its argument prototype would still apply.  */
>> > | #ifdef __cplusplus
>> > | extern "C"
>> > | #endif
>> > | char umad_init ();
>> > | int
>> > | main ()
>> > | {
>> > | return umad_init ();
>> > |   ;
>> > |   return 0;
>> > | }
>> > configure:4687: gcc -o conftest -g -O2 -DNDEBUG -O2
>> >  -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src  conftest.c -libumad
>> >  -lhwloc -lhwloc  -lpthread >&5
>> > configure:4694: $? = 0
>> > configure:4725: result: -libumad
>> > configure:4737: checking for library containing ibv_open_device
>> > configure:4778: gcc -o conftest -g -O2 -DNDEBUG -O2
>> >  -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src  conftest.c -libumad
>> > -lhwloc -lhwloc  -lpthread >&5
>> > /tmp/ccgpFcr5.o: In function `main':
>> >
>> > /root/src/mvapich2-1.5-2010-08-12/src/mpid/ch3/channels/mrail/conftest.c:35:
>> > undefined reference to `ibv_open_device'
>> > collect2: ld returned 1 exit status
>> > configure:4785: $? = 1
>> > configure: failed program was:
>> > | /* confdefs.h.  */
>> > | #define PACKAGE_NAME ""
>> > | #define PACKAGE_TARNAME ""
>> > | #define PACKAGE_VERSION ""
>> > | #define PACKAGE_STRING ""
>> > | #define PACKAGE_BUGREPORT ""
>> > | #define STDC_HEADERS 1
>> > | #define HAVE_SYS_TYPES_H 1
>> > | #define HAVE_SYS_STAT_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_STRING_H 1
>> > | #define HAVE_MEMORY_H 1
>> > | #define HAVE_STRINGS_H 1
>> > | #define HAVE_INTTYPES_H 1
>> > | #define HAVE_STDINT_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_ERRNO_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_PTHREAD_H 1
>> > | #define HAVE_LIBHWLOC /**/
>> > | #define _EM64T_ 1
>> > | /* end confdefs.h.  */
>> > |
>> > | /* Override any GCC internal prototype to avoid an error.
>> > |    Use char because int might match the return type of a GCC
>> > |    builtin and then its argument prototype would still apply.  */
>> > | #ifdef __cplusplus
>> > | extern "C"
>> > | #endif
>> > | char ibv_open_device ();
>> > | int
>> > | main ()
>> > | {
>> > | return ibv_open_device ();
>> > |   ;
>> > |   return 0;
>> > | }
>> > configure:4778: gcc -o conftest -g -O2 -DNDEBUG -O2
>> >  -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src  conftest.c -libverbs
>> >  -libumad -lhwloc -lhwloc  -lpthread >&5
>> > configure:4785: $? = 0
>> > configure:4816: result: -libverbs
>> > configure:4838: checking infiniband/umad.h usability
>> > configure:4855: gcc -c -g -O2 -DNDEBUG -O2
>> >  -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src conftest.c >&5
>> > In file included from conftest.c:57:
>> > /usr/include/infiniband/umad.h:37:31: error: infiniband/common.h: No
>> > such
>> > file or directory
>> > configure:4862: $? = 1
>> > configure: failed program was:
>> > | /* confdefs.h.  */
>> > | #define PACKAGE_NAME ""
>> > | #define PACKAGE_TARNAME ""
>> > | #define PACKAGE_VERSION ""
>> > | #define PACKAGE_STRING ""
>> > | #define PACKAGE_BUGREPORT ""
>> > | #define STDC_HEADERS 1
>> > | #define HAVE_SYS_TYPES_H 1
>> > | #define HAVE_SYS_STAT_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_STRING_H 1
>> > | #define HAVE_MEMORY_H 1
>> > | #define HAVE_STRINGS_H 1
>> > | #define HAVE_INTTYPES_H 1
>> > | #define HAVE_STDINT_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_ERRNO_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_PTHREAD_H 1
>> > | #define HAVE_LIBHWLOC /**/
>> > | #define _EM64T_ 1
>> > | /* end confdefs.h.  */
>> > | #include <stdio.h>
>> > | #ifdef HAVE_SYS_TYPES_H
>> > | # include <sys/types.h>
>> > | #endif
>> > | #ifdef HAVE_SYS_STAT_H
>> > | # include <sys/stat.h>
>> > | #endif
>> > | #ifdef STDC_HEADERS
>> > | # include <stdlib.h>
>> > | # include <stddef.h>
>> > | #else
>> > | # ifdef HAVE_STDLIB_H
>> > | #  include <stdlib.h>
>> > | # endif
>> > | #endif
>> > | #ifdef HAVE_STRING_H
>> > | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
>> > | #  include <memory.h>
>> > | # endif
>> > | # include <string.h>
>> > | #endif
>> > | #ifdef HAVE_STRINGS_H
>> > | # include <strings.h>
>> > | #endif
>> > | #ifdef HAVE_INTTYPES_H
>> > | # include <inttypes.h>
>> > | #endif
>> > | #ifdef HAVE_STDINT_H
>> > | # include <stdint.h>
>> > | #endif
>> > | #ifdef HAVE_UNISTD_H
>> > | # include <unistd.h>
>> > | #endif
>> > | #include <infiniband/umad.h>
>> > configure:4876: result: no
>> > configure:4880: checking infiniband/umad.h presence
>> > configure:4895: gcc -E
>> >  -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src conftest.c
>> > In file included from conftest.c:24:
>> > /usr/include/infiniband/umad.h:37:31: error: infiniband/common.h: No
>> > such
>> > file or directory
>> > configure:4902: $? = 1
>> > configure: failed program was:
>> > | /* confdefs.h.  */
>> > | #define PACKAGE_NAME ""
>> > | #define PACKAGE_TARNAME ""
>> > | #define PACKAGE_VERSION ""
>> > | #define PACKAGE_STRING ""
>> > | #define PACKAGE_BUGREPORT ""
>> > | #define STDC_HEADERS 1
>> > | #define HAVE_SYS_TYPES_H 1
>> > | #define HAVE_SYS_STAT_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_STRING_H 1
>> > | #define HAVE_MEMORY_H 1
>> > | #define HAVE_STRINGS_H 1
>> > | #define HAVE_INTTYPES_H 1
>> > | #define HAVE_STDINT_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_ERRNO_H 1
>> > | #define HAVE_STDLIB_H 1
>> > | #define HAVE_UNISTD_H 1
>> > | #define HAVE_PTHREAD_H 1
>> > | #define HAVE_LIBHWLOC /**/
>> > | #define _EM64T_ 1
>> > | /* end confdefs.h.  */
>> > | #include <infiniband/umad.h>
>> > configure:4916: result: no
>> > configure:4944: checking for infiniband/umad.h
>> > configure:4951: result: no
>> > configure:4958: error: 'infiniband/umad.h not found. Did you specify
>> > --with-ib-include=?'
>> > ## ---------------- ##
>> > ## Cache variables. ##
>> > ## ---------------- ##
>> > ac_cv_build=x86_64-unknown-linux-gnu
>> > ac_cv_c_compiler_gnu=yes
>> > ac_cv_env_CC_set=set
>> > ac_cv_env_CC_value=gcc
>> > ac_cv_env_CFLAGS_set=set
>> > ac_cv_env_CFLAGS_value='-g -O2 -DNDEBUG -O2'
>> > ac_cv_env_CPPFLAGS_set=set
>> > ac_cv_env_CPPFLAGS_value='
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src'
>> > ac_cv_env_CPP_set=
>> > ac_cv_env_CPP_value=
>> > ac_cv_env_LDFLAGS_set=
>> > ac_cv_env_LDFLAGS_value=
>> > ac_cv_env_LIBS_set=set
>> > ac_cv_env_LIBS_value='-lhwloc  -lpthread'
>> > ac_cv_env_build_alias_set=
>> > ac_cv_env_build_alias_value=
>> > ac_cv_env_host_alias_set=
>> > ac_cv_env_host_alias_value=
>> > ac_cv_env_target_alias_set=
>> > ac_cv_env_target_alias_value=
>> > ac_cv_header_errno_h=yes
>> > ac_cv_header_hwloc_h=yes
>> > ac_cv_header_infiniband_umad_h=no
>> > ac_cv_header_inttypes_h=yes
>> > ac_cv_header_memory_h=yes
>> > ac_cv_header_pthread_h=yes
>> > ac_cv_header_stdc=yes
>> > ac_cv_header_stdint_h=yes
>> > ac_cv_header_stdlib_h=yes
>> > ac_cv_header_string_h=yes
>> > ac_cv_header_strings_h=yes
>> > ac_cv_header_sys_stat_h=yes
>> > ac_cv_header_sys_types_h=yes
>> > ac_cv_header_unistd_h=yes
>> > ac_cv_lib_hwloc_hwloc_topology_set_pid=yes
>> > ac_cv_objext=o
>> > ac_cv_path_EGREP='/bin/grep -E'
>> > ac_cv_path_GREP=/bin/grep
>> > ac_cv_prog_CPP='gcc -E'
>> > ac_cv_prog_MAKE=make
>> > ac_cv_prog_ac_ct_CC=gcc
>> > ac_cv_prog_cc_c89=
>> > ac_cv_prog_cc_g=yes
>> > ac_cv_search_ibv_open_device=-libverbs
>> > ac_cv_search_umad_init=-libumad
>> >
>> > pac_cv_my_conf_dir=/root/src/mvapich2-1.5-2010-08-12/src/mpid/ch3/channels/mrail
>> > pac_cv_prog_make_allows_comments=yes
>> > pac_cv_prog_make_found_clock_skew=no
>> > pac_cv_prog_make_include=yes
>> > pac_cv_prog_make_set_cflags=yes
>> > pac_cv_prog_make_vpath=VPATH
>> > ## ----------------- ##
>> > ## Output variables. ##
>> > ## ----------------- ##
>> > AR='ar'
>> > CC='gcc'
>> > CC_SHL='true'
>> > CFLAGS='-g -O2 -DNDEBUG -O2'
>> > CPP='gcc -E'
>> > CPPFLAGS=' -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src
>> > -I/root/src/mvapich2-1.5-2010-08-12/src/openpa/src'
>> > C_LINK_SHL='true'
>> > DEFS=''
>> > ECHO_C=''
>> > ECHO_N='-n'
>> > ECHO_T=''
>> > EGREP='/bin/grep -E'
>> > ENABLE_SHLIB='none'
>> > ETAGS=''
>> > ETAGSADD=''
>> > EXEEXT=''
>> > GREP='/bin/grep'
>> > LDFLAGS=''
>> > LIBOBJS=''
>> > LIBS='-libverbs -libumad -lhwloc -lhwloc  -lpthread'
>> > LIBTOOL=''
>> > LTLIBOBJS=''
>> > MAKE='make'
>> > MAKE_DEPEND_C='gcc -MM'
>> > MPILIBNAME='mpich'
>> > OBJEXT='o'
>> > PACKAGE_BUGREPORT=''
>> > PACKAGE_NAME=''
>> > PACKAGE_STRING=''
>> > PACKAGE_TARNAME=''
>> > PACKAGE_VERSION=''
>> > PATH_SEPARATOR=':'
>> > RANLIB='ranlib'
>> > SET_CFLAGS='CFLAGS='
>> > SET_MAKE='MAKE=make'
>> > SHELL='/bin/bash'
>> > SHLIB_EXT='so'
>> > VPATH='VPATH=.:${srcdir}'
>> > ac_ct_CC='gcc'
>> > bindir='${exec_prefix}/bin'
>> > build='x86_64-unknown-linux-gnu'
>> > build_alias=''
>> > build_cpu='x86_64'
>> > build_os='linux-gnu'
>> > build_vendor='unknown'
>> > channel_name='mrail'
>> > datadir='${datarootdir}'
>> > datarootdir='${prefix}/share'
>> > device_name='ch3'
>> > docdir='${datarootdir}/doc/${PACKAGE}'
>> > dvidir='${docdir}'
>> > exec_prefix='NONE'
>> > host_alias=''
>> > htmldir='${docdir}'
>> > includedir='${prefix}/include'
>> > infodir='${datarootdir}/info'
>> > libdir='${exec_prefix}/lib'
>> > libexecdir='${exec_prefix}/libexec'
>> > localedir='${datarootdir}/locale'
>> > localstatedir='${prefix}/var'
>> > mandir='${datarootdir}/man'
>> > master_top_builddir='/root/src/mvapich2-1.5-2010-08-12'
>> > master_top_srcdir='/root/src/mvapich2-1.5-2010-08-12'
>> > mrail_fflags=''
>> > mrail_ld_library_path=''
>> > mrail_ldflags=''
>> > mrail_libs=''
>> > oldincludedir='/usr/include'
>> > other_subdirs='gen2'
>> > pdfdir='${docdir}'
>> > prefix='/usr/local'
>> > program_transform_name='s,x,x,'
>> > psdir='${docdir}'
>> > sbindir='${exec_prefix}/sbin'
>> > sharedstatedir='${prefix}/com'
>> > subdirs=''
>> > sysconfdir='${prefix}/etc'
>> > target_alias=''
>> > use_internal_hwloc='no'
>> > ## ----------- ##
>> > ## confdefs.h. ##
>> > ## ----------- ##
>> > #define PACKAGE_NAME ""
>> > #define PACKAGE_TARNAME ""
>> > #define PACKAGE_VERSION ""
>> > #define PACKAGE_STRING ""
>> > #define PACKAGE_BUGREPORT ""
>> > #define STDC_HEADERS 1
>> > #define HAVE_SYS_TYPES_H 1
>> > #define HAVE_SYS_STAT_H 1
>> > #define HAVE_STDLIB_H 1
>> > #define HAVE_STRING_H 1
>> > #define HAVE_MEMORY_H 1
>> > #define HAVE_STRINGS_H 1
>> > #define HAVE_INTTYPES_H 1
>> > #define HAVE_STDINT_H 1
>> > #define HAVE_UNISTD_H 1
>> > #define HAVE_ERRNO_H 1
>> > #define HAVE_STDLIB_H 1
>> > #define HAVE_UNISTD_H 1
>> > #define HAVE_PTHREAD_H 1
>> > #define HAVE_LIBHWLOC /**/
>> > #define _EM64T_ 1
>> > configure: exit 1
>> >
>> > thank you, Jonathan.
>> >
>> >
>> > 2010/8/17 Jonathan Perkins <perkinjo at cse.ohio-state.edu>
>> >>
>> >> Can you post the config.log file from the src/mpid/ch3/channels/mrail
>> >> directory?  There could be something odd going on when its checking
>> >> for umad.h's usability.
>> >>
>> >> On Tue, Aug 17, 2010 at 5:26 PM, Denis <denismpa at gmail.com> wrote:
>> >> > Hi All,
>> >> > I am trying to build mvapich2-1.5 on debian but it won't configure
>> >> > complaining that the header file infiniband/umad.h cannot be found.
>> >> > the last configure lines are below
>> >> > checking pthread.h usability... yes
>> >> > checking pthread.h presence... yes
>> >> > checking for pthread.h... yes
>> >> > ./configure: line 4137: enable_ftb-cr=no: command not found
>> >> > configure: checking for any hwloc installation...
>> >> > checking for hwloc_topology_set_pid in -lhwloc... yes
>> >> > checking hwloc.h usability... yes
>> >> > checking hwloc.h presence... yes
>> >> > checking for hwloc.h... yes
>> >> > checking for the InfiniBand includes path... /usr/include/infiniband
>> >> > checking for the InfiniBand library path... default
>> >> > checking for library containing umad_init... -libumad
>> >> > checking for library containing ibv_open_device... -libverbs
>> >> > checking infiniband/umad.h usability... no
>> >> > checking infiniband/umad.h presence... no
>> >> > checking for infiniband/umad.h... no
>> >> > configure: error: 'infiniband/umad.h not found. Did you specify
>> >> > --with-ib-include=?'
>> >> > configure: error: ./configure failed for channels/mrail
>> >> > configure: error: Configure of src/mpid/ch3 failed!
>> >> >
>> >> > I have tried the version 1.5 and the daily versions from 2010-08-11
>> >> > and
>> >> > 2010-08-12. They all give me the same issue.
>> >> >
>> >> > However the header file is on the default place,
>> >> > root at localhost:~/src/mvapich2-1.5-2010-08-12# ls
>> >> > /usr/include/infiniband/umad.h
>> >> > /usr/include/infiniband/umad.h
>> >> >
>> >> > as the configure is complaining, I have also tried to specify it with
>> >> > the
>> >> > --with-ib-include option.
>> >> >
>> >> >
>> >> >
>> >> > The library and header files were installed by packages and have the
>> >> > following versions:
>> >> >
>> >> > root at localhost:~/src/mvapich2-1.5-2010-08-12# dpkg -S
>> >> > /usr/include/infiniband/umad.h
>> >> > libibumad-dev: /usr/include/infiniband/umad.h
>> >> > root at localhost:~/src/mvapich2-1.5-2010-08-12# aptitude show
>> >> > libibumad-dev
>> >> > Package: libibumad-dev
>> >> > New: yes
>> >> > State: installed
>> >> > Automatically installed: no
>> >> > Version: 1.2.3-20090314-1
>> >> >
>> >> > root at localhost:~/src/mvapich2-1.5-2010-08-12# aptitude show
>> >> > libibumad1
>> >> > Package: libibumad1
>> >> > New: yes
>> >> > State: installed
>> >> > Automatically installed: yes
>> >> > Version: 1.2.3-20090314-1
>> >> >
>> >> > The only way I found that mvapich will configure ( but not compile)
>> >> > is
>> >> > if I
>> >> > specify --with-devices=nemesis:ib .
>> >> > The problem seems to lie on the ch3 channel and/or mrail.  Whenever I
>> >> > enable
>> >> > ch3 or gen2, I fall on the same problem.
>> >> >
>> >> > Any suggestions?
>> >> > Thanks!
>> >> >
>> >> > Denis
>> >> > _______________________________________________
>> >> > mvapich-discuss mailing list
>> >> > mvapich-discuss at cse.ohio-state.edu
>> >> > http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Jonathan Perkins
>> >
>> >
>> >
>> > --
>> > Denis Anjos,
>> > www.versatushpc.com.br
>> >
>> > _______________________________________________
>> > mvapich-discuss mailing list
>> > mvapich-discuss at cse.ohio-state.edu
>> > http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>> >
>> >
>>
>>
>>
>> --
>> Jonathan Perkins
>
>
>
> --
> Denis Anjos,
> www.versatushpc.com.br
>



-- 
Jonathan Perkins



More information about the mvapich-discuss mailing list