Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 201977 - sys-cluster/mpich2-1.0.6 doesn't install shared libs
Summary: sys-cluster/mpich2-1.0.6 doesn't install shared libs
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Joel Martin (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-11 20:58 UTC by kwant
Modified: 2007-12-24 18:05 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kwant 2007-12-11 20:58:38 UTC
MPICH2 v1.0.6 build without errors, however, there is no shared library: /usr/lib/libmpich.so.0. Building MPICH2-1.2.7_p1 with the same settings results in shared libs in the usually place (/usr/libs64/). 

Reproducible: Always

Actual Results:  
no file /usr/lib/libmpich.so.0

Expected Results:  
presence /usr/lib/libmpich.so.0 file
Comment 1 kwant 2007-12-11 21:01:15 UTC
mistake: change MPICH2-1.2.7_p1 to MPICH2-1.0.5_p4 (sorry for mistake),

emerge --info
Portage 2.1.3.19 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-gentoo-r5 x86_64)
=================================================================
System uname: 2.6.22-gentoo-r5 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
Timestamp of tree: Tue, 11 Dec 2007 07:16:01 +0000
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
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/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/"
LANG="C"
LINGUAS="pl en en_GB"
MAKEOPTS="-j4"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/xeffects /usr/portage/local/layman/xeffects"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac acl acpi alsa amarok amd64 apache2 arts bash-completion berkdb bitmap-fonts blas bluetooth bonobo bzip2 bzlib cairo cairospeech cdb cdr cli cracklib crypt cscope cups dbase dbus dga directfb divx doc dri dv dvb dvd dvdr dvdread emboss encode evo exif fam fbcon ffmpeg fftw firefox flac flash foomatic foomaticdb fortran gcj gd gdbm gif gimp glitz glut gmedia gmp gnome gphoto2 gpm graphviz gstreamer gtk gtk2 gtkhtml hal hash iconv ieee1394 imagemagick imap imlib ipv6 isdnlog jabber jack java javascript jbigjikes jpeg jpeg2k kde kdehiddenvisibility kipi ladcca ladspa lapack lcms ldap libg++ lirc lm_sensors mad mbox memlimit midi mime mjpeg mmx mono mp3 mp4 mpeg mpi mplayer mudflap mysql ncurses nls nptl nptlonly nsplugin odbc ogg oggvorbis openal opengl openmp pam patented pcre pda pdf perl php plotutils png posix postgres ppds pppd python qt3 qt3support qt4 quicktime readline realmedia reflection samba sasl sbus sdl sensord session shorten skey slang slp smp sndfile snmp soap sockets speex spell spl sqlite sse sse2 sse3 ssl svg symlink sysvipc tcl tcltk tcpd test tetex theora threads tidy tiff tk tokenizer truetype truetype-fonts type1-fonts unicode usb v4l vcd visualization voice vorbis vrl2 wifi wmf wmp wxwindows x264 xine xml xmlreader xmlrpc xmlwriter xorg xosd xpm xprint xsl xv xvid zip zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl en en_GB" LIRC_DEVICES="devinput." USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev vmware"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Steve Arnold archtester gentoo-dev 2007-12-12 05:21:20 UTC
Now fixed in portage...
Comment 3 Steve Arnold archtester gentoo-dev 2007-12-12 05:34:49 UTC
Sorry, I could've sworn that was a different bug...

I can't reproduce this; when I build with (almost) all the USE flags enabled:

[ebuild   R   ] sys-cluster/mpich2-1.0.6  USE="crypt cxx doc fortran mpe mpe-sdk pvfs2 romio threads -debug -fast" 0 kB

You should always get the normal shared (and static) lib (the C interface), and adding the cxx and fortran USE flags should give you the C++ and Fortran libs, respectively (the mpe* USE flags will give you additional libs, but that's not the point).  I get the following from the above build:

$ ls /usr/lib64/libmpich*
/usr/lib64/libmpich.a       /usr/lib64/libmpichcxx.so
/usr/lib64/libmpich.so      /usr/lib64/libmpichcxx.so.1
/usr/lib64/libmpich.so.1    /usr/lib64/libmpichcxx.so.1.1
/usr/lib64/libmpich.so.1.1  /usr/lib64/libmpichf90.a
/usr/lib64/libmpichcxx.a

$ ls /usr/lib64/libfmpich*
/usr/lib64/libfmpich.a   /usr/lib64/libfmpich.so.1
/usr/lib64/libfmpich.so  /usr/lib64/libfmpich.so.1.1

This ebuild has a new .so version because the MPI-PVFS2 interface was updated, and it's not backward compatible.  I also committed a fix to another bug, so you can try the updated ebuild and see how that works for you (although it wasn't really a related problem).

Please try with and without the cxx/fortran USE flags, and do a qlist of the package after the build and post the libs it creates; if you build with USE="-doc -mpe -mpe-sdk" the package will be a lot smaller...
Comment 4 kwant 2007-12-12 12:51:21 UTC
In a log emerge log file (mpich2-1.0.6) I found something interesting:

--------------------------------------
make lib/libmpich.so
make[1]: Entering directory `/var/tmp/portage/sys-cluster/mpich2-1.0.6/work/build'
(cd lib && /var/tmp/portage/sys-cluster/mpich2-1.0.6/work/build/src/util/createshlib --mode=link -version-info "1:1" -o libmpich.la  -rpath /usr/lib64 -L/usr/lib64 -laio )
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -laio
collect2: ld returned 1 exit status
------------------------------------------

I haven't emerged libaio. Emerging libaio resolve my problem. Now I have /usr/lib64/libmpich.so.1.1 and it works (tested with my MPI program). 

Conclusion: 
- mpich2-1.0.6 requre libaio dependences (previous version doesn't)
- I thing, something is wrong with the ebuild, I haven't obtain any warning or error in emerge summary about this situation

tested with the following settings: sys-cluster/mpich2-1.0.6  USE="crypt cxx doc fortran mpe -debug -fast -mpe-sdk pvfs2 -romio -threads"
Comment 5 Steve Arnold archtester gentoo-dev 2007-12-24 18:05:12 UTC
The shared libs are a little touchy, and there doesn't seem to be a way to get the mpich2 configure stuff to ignore pvfs2 if it's actually installed when you try to build mpich2 without it, as well as other stuff.  So it seemed cleanest right now to make libaio a hard dep and remove the romio USE flag, at least until I can get a better configure patch.  There's an updated ebuild now if you want to test it...