Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 155920 - sys-cluster/mpich2-1.0.3(-r1): "undefined reference" when compiling other program
Summary: sys-cluster/mpich2-1.0.3(-r1): "undefined reference" when compiling other pro...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Joel Martin (RETIRED)
URL:
Whiteboard:
Keywords:
: 189369 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-11-22 01:29 UTC by Sebastian Schubert
Modified: 2008-06-07 16:11 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
simple C test (test.c,104 bytes, text/plain)
2006-11-22 01:30 UTC, Sebastian Schubert
Details
Simple Fortran 90 test (test.f90,72 bytes, text/plain)
2006-11-22 01:31 UTC, Sebastian Schubert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Schubert 2006-11-22 01:29:16 UTC
When I use mpich2 to compile a program I get the following error:

sebschub@Satux ~/temp $ mpif90 test.f90
/usr/lib/libmpich.so: undefined reference to `MPIU_Free'
/usr/lib/libmpich.so: undefined reference to `MPIU_Malloc'
collect2: ld gab 1 als Ende-Status zur
Comment 1 Sebastian Schubert 2006-11-22 01:29:16 UTC
When I use mpich2 to compile a program I get the following error:

sebschub@Satux ~/temp $ mpif90 test.f90
/usr/lib/libmpich.so: undefined reference to `MPIU_Free'
/usr/lib/libmpich.so: undefined reference to `MPIU_Malloc'
collect2: ld gab 1 als Ende-Status zurück
sebschub@Satux ~/temp $ mpicc test.c
/usr/lib/libmpich.so: undefined reference to `MPIU_Free'
/usr/lib/libmpich.so: undefined reference to `MPIU_Malloc'
collect2: ld gab 1 als Ende-Status zurück

My system (--as-needed should not be a problem; I tried it on a quite similar system without --as-needed):

Satux ~ # emerge --info
Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.18-suspend2 i686)
=================================================================
System uname: 2.6.18-suspend2 i686 Intel(R) Pentium(R) M processor 1.60GHz
Gentoo Base System version 1.12.6
Last Sync: Mon, 20 Nov 2006 10:02:01 +0000
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE=""
ALSA_CARDS="intel8x0"
ANT_HOME="/usr/share/ant-core"
ARCH="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="1024M"
CFLAGS="-march=pentium-m -O2 -fomit-frame-pointer -fno-ident -pipe"
CHOST="i686-pc-linux-gnu"
CLASSPATH="."
CLEAN_DELAY="5"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CVS_RSH="ssh"
CXXFLAGS="-march=pentium-m -O2 -fomit-frame-pointer -fno-ident -pipe"
DISPLAY=":0.0"
DISTDIR="/usr/portage/distfiles"
EDITOR="/usr/bin/emacs"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="-av"
EMERGE_WARNING_DELAY="10"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"
FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -P ${DISTDIR} ${URI}"
GCC_SPECS=""
GDK_USE_XFT="1"
GDM_LANG="de_DE.utf8"
GENERATION="2"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/"
GUILE_LOAD_PATH="/usr/share/guile/1.6"
G_BROKEN_FILENAMES="1"
G_FILENAME_ENCODING="UTF-8"
HOME="/root"
INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.17/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info:/usr/share/info/emacs-22.0.90"
INPUT_DEVICES="keyboard mouse synaptics"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KDEDIRS="/usr/kde/3.5:/usr:/usr/local:/usr"
KDE_IS_PRELINKED="1"
KERNEL="linux"
LANG="de_DE.utf8"
LC_ALL="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LINGUAS="de"
LOGNAME="root"
MAKEOPTS="-j2"
MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.17/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man:/opt/sun-jdk-1.4.2.12/man:/etc/java-config/system-vm/man/:/usr/qt/3/doc/man"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/opt/sun-jdk-1.4.2.12/bin:/opt/sun-jdk-1.4.2.12/jre/bin:/opt/sun-jdk-1.4.2.12/jre/javaws:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin"
PKGDIR="/usr/portage/packages"
PKG_CONFIG_PATH="/usr/qt/3/lib/pkgconfig"
PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa sparc-fbsd"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib/portage/bin"
PORTAGE_CALLER="emerge"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_GID="250"
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_PYM_PATH="/usr/lib/portage/pym"
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_RSYNC_RETRIES="3"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/sunrise /usr/portage/local/layman/science"
PRELINK_PATH=""
PRELINK_PATH_MASK="/lib/modules:/usr/lib/locale:/usr/lib/wine:/usr/lib/valgrind:*.la:*.png:*.py:*.pl:*.pm:*.sh:*.xml:*.xslt:*.a:*.js:/usr/lib/klibc"
PWD="/root"
PYTHONDOCS="/usr/share/doc/python-docs-2.4.3/html"
PYTHONPATH="/usr/lib/portage/pym"
QMAKESPEC="linux-g++"
QTDIR="/usr/qt/3"
RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -P ${DISTDIR} ${URI}"
ROOT="/"
ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/opt/sun-jdk-1.4.2.12/bin:/opt/sun-jdk-1.4.2.12/jre/bin:/opt/sun-jdk-1.4.2.12/jre/javaws:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin"
RPMDIR="/usr/portage/rpm"
SHELL="/bin/bash"
SHLVL="1"
STAGE1_USE="nptl nptlonly unicode"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
TERM="xterm"
USE="x86 X Xaw3d acpi alsa auctex avi bash-completion berkdb bitmap-fonts bzip2 cdparanoia cdr cjk cli cracklib crypt cups dbus dga dlloader doc dri dvd dvdr dvdread elibc_glibc emacs encode ffmpeg firefox flac fortran gd gdbm gif gpm gtk gtk2 hal iconv ieee1394 imagemagick input_devices_keyboard input_devices_mouse input_devices_synaptics ipv6 isdnlog java javascript jpeg kde kdeenablefinal kdehiddenvisibility kernel_linux libg++ linguas_de mad mmx mng mp3 mpeg mpi mplayer ncurses nls nocd nptl nptlonly nsplugin ogg openal opengl oss pam pcmcia pcre pdf pdflib perl plotutils png ppds pppd python qt3 quicktime readline reflection samba sdl session spell spl sse sse2 ssl svg svga tcpd tetex threads tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU v4l v4l2 vcd video_cards_i810 vorbis win32codecs wmf xcomposite xine xml xorg xvid zlib"
USER="root"
USERLAND="GNU"
USE_EXPAND="CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS"
USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_ORDER="env:pkg:conf:defaults"
VIDEO_CARDS="i810"
VMHANDLE="sun-jdk-1.4"
XARGS="xargs -r"
XAUTHORITY="/root/.xauthPXvesI"
_="/usr/bin/emerge"
Comment 2 Sebastian Schubert 2006-11-22 01:30:57 UTC
Created attachment 102521 [details]
simple C test
Comment 3 Sebastian Schubert 2006-11-22 01:31:28 UTC
Created attachment 102522 [details]
Simple Fortran 90 test
Comment 4 Henrik R. Nagel 2006-11-23 06:25:13 UTC
When I compile a simple test program with mpich2-1.0.3 on an AMD64 computer, I get the following error message:

mpicc -o cpi cpi.o -lm
cpi.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
/usr/lib64/libmpich.so: undefined reference to `MPIU_Free'
/usr/lib64/libmpich.so: undefined reference to `MPIU_Malloc'
collect2: ld returned 1 exit status
make: *** [cpi] Error 1
Comment 5 Jaroslaw Niec 2006-12-28 07:42:09 UTC
I have had similar problem on x86 platform.
The problem was with threads USE flag. 
When I disabled it everything start working without these reference errors.
But this is only workaround, and I guess library has lost some functionality without threads.
Comment 6 Sebastian Schubert 2007-01-04 07:35:55 UTC
(In reply to comment #4)
> I have had similar problem on x86 platform.
> The problem was with threads USE flag. 
> When I disabled it everything start working without these reference errors.
> But this is only workaround, and I guess library has lost some functionality
> without threads.

Thx, that works for me as well though I agree that's propably no real solution.
Comment 7 t35t0r 2007-03-09 03:08:31 UTC
this also breaks octave +mpi use flag and any other ebuild that uses mpicc to build its programs. These programs fail during ./configure on conftest.c saying that it the compiler cannot create an executable.
Comment 8 Oleg Korsak 2007-04-06 11:19:01 UTC
same here!!! Is there any solution? ;( I have this problem with this: http://bugs.gentoo.org/show_bug.cgi?id=173554
Comment 9 Oleg Korsak 2007-04-06 11:21:32 UTC
also there is a problem: mpicc cannot start and fails with error:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
/usr/lib64/libmpich.so: undefined reference to `MPIU_Free'
/usr/lib64/libmpich.so: undefined reference to `MPIU_Malloc'
collect2: выполнение ld завершилось с кодом возврата 1
Comment 10 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-04-06 18:38:11 UTC
Solution is in bug #173568.
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2007-08-18 15:19:26 UTC
*** Bug 189369 has been marked as a duplicate of this bug. ***
Comment 12 Steve Arnold archtester gentoo-dev 2007-09-09 00:28:00 UTC
Closing as OBE, since newer working mpich2 has been in the tree for two months.
Comment 13 Martin Mokrejš 2008-01-22 23:42:21 UTC
The only problem is that mpich-1.0.5p4 nor 1.0.6 is NOT made available to amd64 users. :((
Comment 14 Marcos Sartori 2008-06-07 16:11:50 UTC
Already have sync my portage tree and reemerged mpich2, although mpicc still do not work and shows both:

/usr/lib64/libmpich.so: undefined reference to `MPIU_Free'
/usr/lib64/libmpich.so: undefined reference to `MPIU_Malloc'
collect2: ld returned 1 exit status