Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Nuno Sucena Almeida (slug_at_[hidden])
Date: 2006-09-08 20:18:23


Hello,
        while trying to compile openmpi 1.1.1 on a linux alpha ev6 (tsunami) gentoo
system, I had to add the following lines to config/ompi_config_asm.m4:
        
alphaev6-*)
            ompi_cv_asm_arch="ALPHA"
            OMPI_ASM_SUPPORT_64BIT=1
            OMPI_GCC_INLINE_ASSIGN='"bis zero,zero,%0" : "=&r"(ret)'
                ;;

since my system was being detected as such , and not alpha-*

I kept the alpha-* case too,i.e., I just added the previous lines.

The other issue is the one described in
        http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg229867.html

(...)
gcc -O3 -DNDEBUG -fno-strict-aliasing -pthread -o .libs/opal_wrapper
opal_wrapper.o -Wl,--export-dynamic ../../../opal/.libs/libopal.so -ldl -lnsl -lutil -lm -Wl,--rpath -Wl,/opt/openmpi-1.1.1/lib
../../../opal/.libs/libopal.so: undefined reference to
`opal_atomic_cmpset_acq_32'
../../../opal/.libs/libopal.so: undefined reference to `opal_atomic_cmpset_32'
(...)

So I followed the described untested procedure, of changing this:
OMPI_GCC_INLINE_ASSIGN='"bis zero,zero,%0" : "=&r"(ret)'
to
OMPI_GCC_INLINE_ASSIGN='"bis $31,$31,%0" : "=&r"(ret)'

but the configure output remains the same:

checking if gcc supports GCC inline assembly... no
checking if g++ supports GCC inline assembly... no

although I tried the test in a separate file:
int main(void)
{
  int ret = 1;
  __asm__ __volatile__ ("bis $31,$31,%0" : "=&r"(ret));
  printf ("ret=%d\n",ret);
  return ret;
}

./aout
ret=0

so the assembly source code is correct.
But even with this I get the same error:

gcc -O3 -DNDEBUG -fno-strict-aliasing -pthread -o .libs/opal_wrapper
opal_wrapper.o -Wl,--export-dynamic ../../../opal/.libs/libopal.so -ldl -lnsl -lutil -lm -Wl,--rpath -Wl,/opt/openmpi-1.1.1/lib
../../../opal/.libs/libopal.so: undefined reference to
`opal_atomic_cmpset_acq_32'
../../../opal/.libs/libopal.so: undefined reference to `opal_atomic_cmpset_32'
../../../opal/.libs/libopal.so: undefined reference to `opal_atomic_mb'
../../../opal/.libs/libopal.so: undefined reference to `opal_atomic_wmb'
collect2: ld returned 1 exit status
make[2]: *** [opal_wrapper] Error 1
make[2]: Leaving directory `/usr/src/mpi/openmpi-1.1.1/opal/tools/wrappers'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/mpi/openmpi-1.1.1/opal'
make: *** [all-recursive] Error 1

gcc --version
gcc (GCC) 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)

uname -a
Linux livecd 2.6.16.19 #1 Sat Aug 12 21:24:12 UTC 2006 alpha EV6 GNU/Linux

emerge --info
Portage 2.1-r2 (default-linux/alpha/2006.1, gcc-3.4.6, glibc-2.3.6-r4,
2.6.16.19 alpha)
=================================================================
System uname: 2.6.16.19 alpha EV6
Gentoo Base System version 1.12.1
app-admin/eselect-compiler: [Not Present]
dev-lang/python: 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache: [Not Present]
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.11-r4
ACCEPT_KEYWORDS="alpha"
AUTOCLEAN="yes"
CBUILD="alpha-unknown-linux-gnu"
CFLAGS="-mieee -pipe -O3 -mcpu=ev6"
CHOST="alpha-unknown-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-mieee -pipe -O3 -mcpu=ev6"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://fileserver/gentoo-portage"
USE="alpha berkdb bitmap-fonts bzip2 cli crypt cups dlloader doc dri examples
fortran gdbm hdf hdf5 ipv6 isdnlog kerberos ldap libg++ ncurses nls nptl
nptlonly pam pcre perl ppds pppd python qt readline reflection session spl
ssl tcpd truetype truetype-fonts type1-fonts udev unicode xml xorg zlib
elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev
kernel_linux userland_GNU video_cards_cirrus video_cards_ati
video_cards_dummy video_cards_fbdev video_cards_glint video_cards_mga
video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge
video_cards_savage video_cards_siliconmotion video_cards_sisusb
video_cards_tdfx video_cards_tga video_cards_v4l video_cards_vga
video_cards_voodoo"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS,
LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

-- 
http://people.bu.edu/nuno/
-- 
http://aeminium.org/slug/