Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] Compiling Open MPI with PGI compilers in 32-bit mode
From: Ethan Mallove (ethan.mallove_at_[hidden])
Date: 2009-03-30 14:11:27


FYI - there is a Libtool thread/patch that resolved this issue:

  http://lists.gnu.org/archive/html/libtool/2009-03/msg00035.html

-Ethan

On Fri, Mar/20/2009 01:36:58PM, Ethan Mallove wrote:
> On Fri, Mar/20/2009 01:09:56PM, Ethan Mallove wrote:
> > Let me try this again. Below is the error from OMPI 1.3r20826. In my
> > last email, I accidentally posted the compiler error from Sun's
> > internal OMPI source repository.
> >
> > $ cd opal/mca/memory/ptmalloc2
> > $ make
> > /bin/sh ../../../../libtool --tag=CC --mode=link pgcc -O -DNDEBUG -tp=k8-32 -export-dynamic -o libopenmpi-malloc.la -rpath /opt/SUNWhpc/HPC8.2/pgi/lib malloc.lo malloc-stats.lo -lnsl -lutil -lpthread
> > libtool: link: pgcc -shared -fpic -DPIC .libs/malloc.o .libs/malloc-stats.o -lnsl -lutil -lpthread -lc -Wl,-soname -Wl,libopenmpi-malloc.so.0 -o .libs/libopenmpi-malloc.so.0.0.0
> > /usr/bin/ld: warning: i386 architecture of input file `.libs/malloc.o' is incompatible with i386:x86-64 output
> > /usr/bin/ld: warning: i386 architecture of input file `.libs/malloc-stats.o' is incompatible with i386:x86-64 output
> > .libs/malloc.o(.text+0x14d3): In function `munmap_chunk':
> > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > .libs/malloc.o(.text+0x1550): In function `mremap_chunk':
> > : undefined reference to `opal_mem_hooks_release_hook'
> > .libs/malloc.o(.text+0x2bd2): In function `_int_free':
> > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > .libs/malloc.o(.text+0x309e): In function `_int_realloc':
> > : undefined reference to `opal_mem_hooks_release_hook'
> > .libs/malloc.o(.text+0x3c1a): In function `opal_mem_free_ptmalloc2_sbrk':
> > : undefined reference to `opal_mem_hooks_release_hook'
> > .libs/malloc.o(.text+0x3f9b): In function `ptmalloc_init':
> > : undefined reference to `opal_mem_hooks_set_support'
> > .libs/malloc.o(.text+0x409d): In function `new_heap':
> > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > .libs/malloc.o(.text+0x40c5): In function `new_heap':
> > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > .libs/malloc.o(.text+0x413f): In function `new_heap':
> > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > .libs/malloc.o(.text+0x4188): In function `new_heap':
> > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > .libs/malloc.o(.text+0x4272): In function `heap_trim':
> > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > .libs/malloc.o(.text+0x449a): In function `arena_get2':
> > : undefined reference to `opal_atomic_wmb'
> > make: *** [libopenmpi-malloc.la] Error 2
>
> I think we have located the problem. Libtool has stripped out
> the -tp=k8-32 flag in the link step:
>
> /bin/sh ../../../../libtool --tag=CC --mode=link pgcc -O -DNDEBUG -tp=k8-32 -export-dynamic -o libopenmpi-malloc.la -rpath /opt/SUNWhpc/HPC8.2/pgi/lib malloc.lo malloc-stats.lo -lnsl -lutil -lpthread
> libtool: link: pgcc -shared -fpic -DPIC .libs/malloc.o .libs/malloc-stats.o -lnsl -lutil -lpthread -lc -Wl,-soname -Wl,libopenmpi-malloc.so.0 -o .libs/libopenmpi-malloc.so.0.0.0
>
> If I add it back in manually, all is well:
>
> $ pgcc -tp=k8-32 -shared -fpic -DPIC .libs/malloc.o .libs/malloc-stats.o -lnsl -lutil -lpthread -lc -Wl,-soname -Wl,libopenmpi-malloc.so.0 -o .libs/libopenmpi-malloc.so.0.0.0
>
> I am guessing there is some macro (LDFLAGS?) that I can override to
> prevent Libtool from stripping out the -tp=k8-32 flag.
>
> -Ethan
>
>
> >
> > -Ethan
> >
> >
> > On Fri, Mar/20/2009 12:49:06PM, Ethan Mallove wrote:
> > > Hi,
> > >
> > > Has anyone successfully compiled Open MPI with the PGI compilers in
> > > 32-bit mode (e.g., using -tp=k8-32 flag)? I am getting the following
> > > error with 32-bit:
> > >
> > > $ cd opal/mca/memory/ptmalloc2
> > > $ make
> > > /bin/sh ../../../../libtool --tag=CC --mode=link pgcc -O -DNDEBUG -tp=k8-32 -export-dynamic -o libopenmpi-malloc.la -rpath /opt/SUNWhpc/HPC8.2/pgi/lib malloc.lo malloc-stats.lo -lnsl -lutil -lpthread
> > > libtool: link: pgcc -shared -fpic -DPIC .libs/malloc.o .libs/malloc-stats.o -lnsl -lutil -lpthread -lc -Wl,-soname -Wl,libopenmpi-malloc.so.0 -o .libs/libopenmpi-malloc.so.0.0.0
> > > /usr/bin/ld: warning: i386 architecture of input file `.libs/malloc.o' is incompatible with i386:x86-64 output
> > > /usr/bin/ld: warning: i386 architecture of input file `.libs/malloc-stats.o' is incompatible with i386:x86-64 output
> > > .libs/malloc.o(.text+0xcb3): In function `realloc_check':
> > > : undefined reference to `opal_memcpy_base_module'
> > > .libs/malloc.o(.text+0x14e3): In function `munmap_chunk':
> > > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > > .libs/malloc.o(.text+0x1560): In function `mremap_chunk':
> > > : undefined reference to `opal_mem_hooks_release_hook'
> > > .libs/malloc.o(.text+0x2be2): In function `_int_free':
> > > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > > .libs/malloc.o(.text+0x30ae): In function `_int_realloc':
> > > : undefined reference to `opal_mem_hooks_release_hook'
> > > .libs/malloc.o(.text+0x3c2a): In function `opal_mem_free_ptmalloc2_sbrk':
> > > : undefined reference to `opal_mem_hooks_release_hook'
> > > .libs/malloc.o(.text+0x3fab): In function `ptmalloc_init':
> > > : undefined reference to `opal_mem_hooks_set_support'
> > > .libs/malloc.o(.text+0x40ad): In function `new_heap':
> > > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > > .libs/malloc.o(.text+0x40d5): In function `new_heap':
> > > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > > .libs/malloc.o(.text+0x414f): In function `new_heap':
> > > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > > .libs/malloc.o(.text+0x4198): In function `new_heap':
> > > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > > .libs/malloc.o(.text+0x4282): In function `heap_trim':
> > > : undefined reference to `opal_mem_free_ptmalloc2_munmap'
> > > .libs/malloc.o(.text+0x44aa): In function `arena_get2':
> > > : undefined reference to `opal_atomic_wmb'
> > > make: *** [libopenmpi-malloc.la] Error 2
> > >
> > > -Ethan
> > > _______________________________________________
> > > users mailing list
> > > users_at_[hidden]
> > > http://www.open-mpi.org/mailman/listinfo.cgi/users
> > _______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users